about summary refs log tree commit diff
path: root/pkgs/tools/misc
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc')
-rw-r--r--pkgs/tools/misc/0x/default.nix2
-rw-r--r--pkgs/tools/misc/SP800-90B_EntropyAssessment/default.nix50
-rw-r--r--pkgs/tools/misc/addic7ed-cli/default.nix2
-rw-r--r--pkgs/tools/misc/adrgen/default.nix2
-rw-r--r--pkgs/tools/misc/afetch/default.nix2
-rw-r--r--pkgs/tools/misc/agedu/default.nix2
-rw-r--r--pkgs/tools/misc/aichat/default.nix6
-rw-r--r--pkgs/tools/misc/alarm-clock-applet/default.nix2
-rw-r--r--pkgs/tools/misc/apkeep/default.nix2
-rw-r--r--pkgs/tools/misc/archi/default.nix15
-rwxr-xr-xpkgs/tools/misc/archi/update.sh3
-rw-r--r--pkgs/tools/misc/asciinema-agg/default.nix2
-rw-r--r--pkgs/tools/misc/askalono/default.nix2
-rw-r--r--pkgs/tools/misc/astronomer/default.nix2
-rw-r--r--pkgs/tools/misc/autojump/default.nix2
-rw-r--r--pkgs/tools/misc/backdown/default.nix2
-rw-r--r--pkgs/tools/misc/bartib/default.nix5
-rw-r--r--pkgs/tools/misc/bbe/default.nix2
-rw-r--r--pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--pkgs/tools/misc/betterdiscordctl/default.nix2
-rw-r--r--pkgs/tools/misc/bfetch/default.nix2
-rw-r--r--pkgs/tools/misc/bfr/default.nix2
-rw-r--r--pkgs/tools/misc/bibtex2html/default.nix2
-rw-r--r--pkgs/tools/misc/bkt/default.nix2
-rw-r--r--pkgs/tools/misc/bkyml/default.nix2
-rw-r--r--pkgs/tools/misc/blflash/default.nix2
-rw-r--r--pkgs/tools/misc/bonk/default.nix2
-rw-r--r--pkgs/tools/misc/broot/default.nix13
-rw-r--r--pkgs/tools/misc/buildtorrent/default.nix2
-rw-r--r--pkgs/tools/misc/calamares-nixos-extensions/default.nix4
-rw-r--r--pkgs/tools/misc/capture/default.nix2
-rw-r--r--pkgs/tools/misc/cf-terraforming/default.nix8
-rw-r--r--pkgs/tools/misc/changelogger/default.nix2
-rw-r--r--pkgs/tools/misc/charasay/default.nix2
-rw-r--r--pkgs/tools/misc/chatgpt-cli/default.nix6
-rw-r--r--pkgs/tools/misc/chef-cli/default.nix2
-rw-r--r--pkgs/tools/misc/cht.sh/default.nix2
-rw-r--r--pkgs/tools/misc/clickclack/default.nix2
-rw-r--r--pkgs/tools/misc/clini/default.nix2
-rw-r--r--pkgs/tools/misc/cloc/default.nix2
-rw-r--r--pkgs/tools/misc/clpeak/default.nix2
-rw-r--r--pkgs/tools/misc/clubhouse-cli/default.nix2
-rw-r--r--pkgs/tools/misc/code-minimap/default.nix2
-rw-r--r--pkgs/tools/misc/codevis/default.nix2
-rw-r--r--pkgs/tools/misc/conserver/default.nix2
-rw-r--r--pkgs/tools/misc/coreboot-configurator/default.nix2
-rw-r--r--pkgs/tools/misc/coreboot-utils/default.nix10
-rw-r--r--pkgs/tools/misc/coreutils/default.nix16
-rw-r--r--pkgs/tools/misc/coreutils/fix-mix-flags-deps-libintl.patch49
-rw-r--r--pkgs/tools/misc/cowsay/default.nix2
-rw-r--r--pkgs/tools/misc/crudini/default.nix3
-rw-r--r--pkgs/tools/misc/csvs-to-sqlite/default.nix1
-rw-r--r--pkgs/tools/misc/cunit/default.nix2
-rw-r--r--pkgs/tools/misc/cutecom/default.nix2
-rw-r--r--pkgs/tools/misc/cyberchef/default.nix6
-rw-r--r--pkgs/tools/misc/cyclonedx-python/default.nix1
-rw-r--r--pkgs/tools/misc/dashing/default.nix2
-rw-r--r--pkgs/tools/misc/datamash/default.nix2
-rw-r--r--pkgs/tools/misc/datefmt/default.nix2
-rw-r--r--pkgs/tools/misc/dateutils/default.nix2
-rw-r--r--pkgs/tools/misc/ddccontrol/default.nix2
-rw-r--r--pkgs/tools/misc/didyoumean/default.nix2
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix7
-rw-r--r--pkgs/tools/misc/direnv/default.nix2
-rw-r--r--pkgs/tools/misc/discocss/default.nix2
-rw-r--r--pkgs/tools/misc/diskus/default.nix2
-rw-r--r--pkgs/tools/misc/dmg2img/default.nix2
-rw-r--r--pkgs/tools/misc/dotter/default.nix19
-rw-r--r--pkgs/tools/misc/dtach/default.nix2
-rw-r--r--pkgs/tools/misc/dtool/default.nix6
-rw-r--r--pkgs/tools/misc/dtool/rustc-serialize-fix.patch16
-rw-r--r--pkgs/tools/misc/dua/default.nix2
-rw-r--r--pkgs/tools/misc/dutree/default.nix2
-rw-r--r--pkgs/tools/misc/dwt1-shell-color-scripts/default.nix2
-rw-r--r--pkgs/tools/misc/easeprobe/default.nix2
-rw-r--r--pkgs/tools/misc/edid-decode/default.nix2
-rw-r--r--pkgs/tools/misc/eget/default.nix4
-rw-r--r--pkgs/tools/misc/eludris/default.nix2
-rw-r--r--pkgs/tools/misc/empty/default.nix2
-rw-r--r--pkgs/tools/misc/encpipe/default.nix2
-rw-r--r--pkgs/tools/misc/esphome/dashboard.nix4
-rw-r--r--pkgs/tools/misc/esphome/default.nix12
-rw-r--r--pkgs/tools/misc/ethtool/default.nix15
-rw-r--r--pkgs/tools/misc/ets/default.nix20
-rw-r--r--pkgs/tools/misc/eva/default.nix2
-rw-r--r--pkgs/tools/misc/expect/0004-enable-cross-compilation.patch295
-rw-r--r--pkgs/tools/misc/expect/default.nix14
-rw-r--r--pkgs/tools/misc/expect/fix-build-time-run-tcl.patch (renamed from pkgs/tools/misc/expect/fix-cross-compilation.patch)0
-rw-r--r--pkgs/tools/misc/expect/fix-darwin-bsd-clang16.patch (renamed from pkgs/tools/misc/expect/fix-darwin-clang16.patch)13
-rw-r--r--pkgs/tools/misc/expect/freebsd-unversioned.patch14
-rw-r--r--pkgs/tools/misc/faketty/default.nix8
-rw-r--r--pkgs/tools/misc/fcp/default.nix2
-rw-r--r--pkgs/tools/misc/fd/default.nix8
-rw-r--r--pkgs/tools/misc/fdtools/default.nix2
-rw-r--r--pkgs/tools/misc/fdupes/default.nix4
-rw-r--r--pkgs/tools/misc/fedifetcher/default.nix2
-rw-r--r--pkgs/tools/misc/fend/default.nix6
-rw-r--r--pkgs/tools/misc/fet-sh/default.nix2
-rw-r--r--pkgs/tools/misc/fetchutils/default.nix2
-rw-r--r--pkgs/tools/misc/file/default.nix6
-rw-r--r--pkgs/tools/misc/fileschanged/default.nix2
-rw-r--r--pkgs/tools/misc/findutils/default.nix7
-rw-r--r--pkgs/tools/misc/flexoptix-app/default.nix5
-rw-r--r--pkgs/tools/misc/flitter/default.nix2
-rw-r--r--pkgs/tools/misc/flowgger/default.nix8
-rw-r--r--pkgs/tools/misc/fltrdr/default.nix2
-rw-r--r--pkgs/tools/misc/fluent-bit/default.nix14
-rw-r--r--pkgs/tools/misc/fluent-bit/macos-11-sdk-compat.patch17
-rw-r--r--pkgs/tools/misc/fluentd/default.nix2
-rw-r--r--pkgs/tools/misc/foma/default.nix35
-rw-r--r--pkgs/tools/misc/fontfor/default.nix42
-rw-r--r--pkgs/tools/misc/fontforge/default.nix5
-rw-r--r--pkgs/tools/misc/fontforge/replace-distutils.patch13
-rw-r--r--pkgs/tools/misc/fortune/default.nix2
-rw-r--r--pkgs/tools/misc/fre/default.nix2
-rw-r--r--pkgs/tools/misc/freshfetch/default.nix2
-rw-r--r--pkgs/tools/misc/fsearch/default.nix2
-rw-r--r--pkgs/tools/misc/fsrx/default.nix2
-rw-r--r--pkgs/tools/misc/fw/default.nix2
-rw-r--r--pkgs/tools/misc/fzy/default.nix2
-rw-r--r--pkgs/tools/misc/g933-utils/default.nix2
-rw-r--r--pkgs/tools/misc/gaphor/default.nix2
-rw-r--r--pkgs/tools/misc/geekbench/6.nix8
-rw-r--r--pkgs/tools/misc/getoptions/default.nix2
-rw-r--r--pkgs/tools/misc/gh-dash/default.nix8
-rw-r--r--pkgs/tools/misc/gh-eco/default.nix33
-rw-r--r--pkgs/tools/misc/gh-markdown-preview/default.nix4
-rw-r--r--pkgs/tools/misc/gibo/default.nix2
-rw-r--r--pkgs/tools/misc/github-backup/default.nix4
-rw-r--r--pkgs/tools/misc/github-copilot-cli/default.nix2
-rw-r--r--pkgs/tools/misc/gitrs/default.nix2
-rw-r--r--pkgs/tools/misc/glasgow/default.nix2
-rw-r--r--pkgs/tools/misc/go-ios/default.nix2
-rw-r--r--pkgs/tools/misc/go.rice/default.nix2
-rw-r--r--pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--pkgs/tools/misc/godu/default.nix4
-rw-r--r--pkgs/tools/misc/google-cloud-bigtable-tool/default.nix6
-rw-r--r--pkgs/tools/misc/google-cloud-sql-proxy/default.nix16
-rw-r--r--pkgs/tools/misc/goose/default.nix14
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix6
-rw-r--r--pkgs/tools/misc/gotify-cli/default.nix2
-rw-r--r--pkgs/tools/misc/gradescope-submit/default.nix2
-rw-r--r--pkgs/tools/misc/grass-sass/default.nix8
-rw-r--r--pkgs/tools/misc/graylog/5.1.nix4
-rw-r--r--pkgs/tools/misc/graylog/5.2.nix4
-rw-r--r--pkgs/tools/misc/graylog/plugins.nix12
-rw-r--r--pkgs/tools/misc/grc/default.nix2
-rw-r--r--pkgs/tools/misc/grex/default.nix2
-rw-r--r--pkgs/tools/misc/grit/default.nix2
-rw-r--r--pkgs/tools/misc/grizzly/default.nix8
-rw-r--r--pkgs/tools/misc/grub/default.nix32
-rw-r--r--pkgs/tools/misc/gtkterm/default.nix10
-rw-r--r--pkgs/tools/misc/gummy/default.nix33
-rw-r--r--pkgs/tools/misc/gwe/default.nix4
-rw-r--r--pkgs/tools/misc/h/default.nix4
-rw-r--r--pkgs/tools/misc/h5utils/default.nix2
-rw-r--r--pkgs/tools/misc/hackertyper/default.nix2
-rw-r--r--pkgs/tools/misc/halp/default.nix2
-rw-r--r--pkgs/tools/misc/hashit/default.nix2
-rw-r--r--pkgs/tools/misc/hashpump/default.nix2
-rw-r--r--pkgs/tools/misc/hdaps-gl/default.nix4
-rw-r--r--pkgs/tools/misc/hdf5/default.nix23
-rw-r--r--pkgs/tools/misc/heatseeker/default.nix4
-rw-r--r--pkgs/tools/misc/hebcal/default.nix2
-rw-r--r--pkgs/tools/misc/heimdall/default.nix2
-rw-r--r--pkgs/tools/misc/hexdiff/default.nix2
-rw-r--r--pkgs/tools/misc/hexyl/default.nix2
-rw-r--r--pkgs/tools/misc/hid-listen/default.nix2
-rw-r--r--pkgs/tools/misc/hostsblock/default.nix2
-rw-r--r--pkgs/tools/misc/html-proofer/Gemfile.lock4
-rw-r--r--pkgs/tools/misc/html-proofer/default.nix2
-rw-r--r--pkgs/tools/misc/html-proofer/gemset.nix4
-rw-r--r--pkgs/tools/misc/hueadm/default.nix2
-rw-r--r--pkgs/tools/misc/hunt/default.nix8
-rw-r--r--pkgs/tools/misc/hwatch/default.nix6
-rw-r--r--pkgs/tools/misc/ili2c/default.nix4
-rw-r--r--pkgs/tools/misc/immich-cli/default.nix71
-rw-r--r--pkgs/tools/misc/infracost/default.nix18
-rw-r--r--pkgs/tools/misc/ink/default.nix2
-rw-r--r--pkgs/tools/misc/inklingreader/default.nix2
-rw-r--r--pkgs/tools/misc/inspec/Gemfile.lock449
-rw-r--r--pkgs/tools/misc/inspec/gemset.nix659
-rw-r--r--pkgs/tools/misc/interactsh/default.nix2
-rw-r--r--pkgs/tools/misc/ipbt/default.nix2
-rw-r--r--pkgs/tools/misc/ipxe/default.nix10
-rw-r--r--pkgs/tools/misc/ised/default.nix2
-rw-r--r--pkgs/tools/misc/isoimagewriter/default.nix2
-rw-r--r--pkgs/tools/misc/jdiskreport/default.nix2
-rw-r--r--pkgs/tools/misc/jdupes/default.nix2
-rw-r--r--pkgs/tools/misc/jfrog-cli/default.nix6
-rw-r--r--pkgs/tools/misc/jstest-gtk/default.nix2
-rw-r--r--pkgs/tools/misc/jugglinglab/default.nix2
-rw-r--r--pkgs/tools/misc/kakoune-cr/default.nix2
-rw-r--r--pkgs/tools/misc/kalker/default.nix7
-rw-r--r--pkgs/tools/misc/kargo/default.nix2
-rw-r--r--pkgs/tools/misc/kb/default.nix2
-rw-r--r--pkgs/tools/misc/kcollectd/default.nix2
-rw-r--r--pkgs/tools/misc/keymapviz/default.nix2
-rw-r--r--pkgs/tools/misc/killport/default.nix2
-rw-r--r--pkgs/tools/misc/krapslog/default.nix6
-rw-r--r--pkgs/tools/misc/kronometer/default.nix2
-rw-r--r--pkgs/tools/misc/krunner-translator/default.nix2
-rw-r--r--pkgs/tools/misc/lazycli/default.nix2
-rw-r--r--pkgs/tools/misc/lazydocker/default.nix6
-rw-r--r--pkgs/tools/misc/lbdb/default.nix2
-rw-r--r--pkgs/tools/misc/leanify/default.nix8
-rw-r--r--pkgs/tools/misc/ledit/default.nix2
-rw-r--r--pkgs/tools/misc/lektor/default.nix33
-rw-r--r--pkgs/tools/misc/lemmeknow/default.nix2
-rw-r--r--pkgs/tools/misc/lemmy-help/default.nix2
-rw-r--r--pkgs/tools/misc/lesspipe/default.nix8
-rw-r--r--pkgs/tools/misc/license-generator/default.nix6
-rw-r--r--pkgs/tools/misc/lifecycled/default.nix2
-rw-r--r--pkgs/tools/misc/limitcpu/default.nix6
-rw-r--r--pkgs/tools/misc/lipl/default.nix2
-rw-r--r--pkgs/tools/misc/lnav/default.nix2
-rw-r--r--pkgs/tools/misc/lokalise2-cli/default.nix4
-rw-r--r--pkgs/tools/misc/lolcat/default.nix2
-rw-r--r--pkgs/tools/misc/lsd/default.nix2
-rw-r--r--pkgs/tools/misc/lwc/default.nix2
-rw-r--r--pkgs/tools/misc/macchina/default.nix2
-rw-r--r--pkgs/tools/misc/mailman-rss/default.nix26
-rw-r--r--pkgs/tools/misc/maker-panel/default.nix4
-rw-r--r--pkgs/tools/misc/maker-panel/update-gerber-types-to-0.3.patch109
-rw-r--r--pkgs/tools/misc/man-db/default.nix2
-rw-r--r--pkgs/tools/misc/massren/default.nix6
-rw-r--r--pkgs/tools/misc/mastotool/default.nix2
-rw-r--r--pkgs/tools/misc/mbuffer/default.nix2
-rw-r--r--pkgs/tools/misc/mcfly/default.nix8
-rw-r--r--pkgs/tools/misc/memtest86+/default.nix2
-rw-r--r--pkgs/tools/misc/memtest86-efi/default.nix2
-rw-r--r--pkgs/tools/misc/microplane/default.nix2
-rw-r--r--pkgs/tools/misc/minipro/default.nix7
-rw-r--r--pkgs/tools/misc/mise/default.nix8
-rw-r--r--pkgs/tools/misc/mmake/default.nix2
-rw-r--r--pkgs/tools/misc/mmctl/default.nix2
-rw-r--r--pkgs/tools/misc/moar/default.nix4
-rw-r--r--pkgs/tools/misc/mods/default.nix43
-rw-r--r--pkgs/tools/misc/mongodb-compass/default.nix6
-rw-r--r--pkgs/tools/misc/most/default.nix2
-rw-r--r--pkgs/tools/misc/mpdscribble/default.nix2
-rw-r--r--pkgs/tools/misc/mpremote/default.nix6
-rw-r--r--pkgs/tools/misc/mprocs/default.nix2
-rw-r--r--pkgs/tools/misc/mrtg/default.nix12
-rw-r--r--pkgs/tools/misc/ms-sys/default.nix2
-rw-r--r--pkgs/tools/misc/mstflint/default.nix14
-rw-r--r--pkgs/tools/misc/nagstamon/default.nix2
-rw-r--r--pkgs/tools/misc/nanoemoji/default.nix3
-rw-r--r--pkgs/tools/misc/natls/default.nix2
-rw-r--r--pkgs/tools/misc/nb/default.nix2
-rw-r--r--pkgs/tools/misc/nbench/default.nix2
-rw-r--r--pkgs/tools/misc/neofetch/default.nix2
-rw-r--r--pkgs/tools/misc/netbootxyz-efi/default.nix2
-rw-r--r--pkgs/tools/misc/node-glob/default.nix2
-rw-r--r--pkgs/tools/misc/nomino/default.nix6
-rw-r--r--pkgs/tools/misc/ntfy-sh/default.nix8
-rw-r--r--pkgs/tools/misc/ntfy/default.nix2
-rw-r--r--pkgs/tools/misc/nux/default.nix2
-rw-r--r--pkgs/tools/misc/nvimpager/default.nix17
-rw-r--r--pkgs/tools/misc/octosql/default.nix4
-rw-r--r--pkgs/tools/misc/ollama/default.nix215
-rw-r--r--pkgs/tools/misc/ollama/disable-git.patch20
-rw-r--r--pkgs/tools/misc/ondir/default.nix2
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/contrib.nix6
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix8
-rw-r--r--pkgs/tools/misc/os-prober/default.nix2
-rw-r--r--pkgs/tools/misc/oscclip/default.nix2
-rw-r--r--pkgs/tools/misc/ostree/default.nix2
-rw-r--r--pkgs/tools/misc/otel-cli/default.nix2
-rw-r--r--pkgs/tools/misc/pandoc-include/default.nix7
-rw-r--r--pkgs/tools/misc/pandoc-lua-filters/default.nix2
-rw-r--r--pkgs/tools/misc/panoply/default.nix4
-rw-r--r--pkgs/tools/misc/paperlike-go/default.nix2
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/parallel/wrapper.nix22
-rw-r--r--pkgs/tools/misc/parquet-tools/default.nix3
-rw-r--r--pkgs/tools/misc/pastebinit/default.nix2
-rw-r--r--pkgs/tools/misc/pazi/default.nix2
-rw-r--r--pkgs/tools/misc/pb/default.nix6
-rw-r--r--pkgs/tools/misc/pb_cli/default.nix2
-rw-r--r--pkgs/tools/misc/peep/default.nix2
-rw-r--r--pkgs/tools/misc/peruse/default.nix2
-rw-r--r--pkgs/tools/misc/pfetch-rs/default.nix8
-rw-r--r--pkgs/tools/misc/pfetch/default.nix2
-rw-r--r--pkgs/tools/misc/pg_top/default.nix2
-rw-r--r--pkgs/tools/misc/pgbadger/default.nix2
-rw-r--r--pkgs/tools/misc/phrase-cli/default.nix6
-rw-r--r--pkgs/tools/misc/pipectl/default.nix2
-rw-r--r--pkgs/tools/misc/pipelight/default.nix2
-rw-r--r--pkgs/tools/misc/pistol/default.nix6
-rw-r--r--pkgs/tools/misc/piston-cli/default.nix1
-rw-r--r--pkgs/tools/misc/pkgdiff/default.nix2
-rw-r--r--pkgs/tools/misc/plantuml-server/default.nix6
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/plotinus/default.nix2
-rw-r--r--pkgs/tools/misc/pmbootstrap/default.nix104
-rw-r--r--pkgs/tools/misc/pokeget-rs/default.nix2
-rw-r--r--pkgs/tools/misc/portal/default.nix2
-rw-r--r--pkgs/tools/misc/pouf/default.nix7
-rw-r--r--pkgs/tools/misc/powerline-go/default.nix2
-rw-r--r--pkgs/tools/misc/pre-commit/default.nix6
-rw-r--r--pkgs/tools/misc/present-cli/default.nix2
-rw-r--r--pkgs/tools/misc/pricehist/default.nix4
-rw-r--r--pkgs/tools/misc/pspg/default.nix4
-rw-r--r--pkgs/tools/misc/psw/default.nix8
-rw-r--r--pkgs/tools/misc/pv/default.nix4
-rw-r--r--pkgs/tools/misc/qjoypad/default.nix2
-rw-r--r--pkgs/tools/misc/qmk/default.nix4
-rw-r--r--pkgs/tools/misc/qt6gtk2/default.nix20
-rw-r--r--pkgs/tools/misc/quich/default.nix2
-rw-r--r--pkgs/tools/misc/r3ctl/default.nix2
-rw-r--r--pkgs/tools/misc/ramfetch/default.nix2
-rw-r--r--pkgs/tools/misc/remind/default.nix40
-rw-r--r--pkgs/tools/misc/renameutils/default.nix2
-rw-r--r--pkgs/tools/misc/rfc/default.nix2
-rw-r--r--pkgs/tools/misc/riemann-c-client/default.nix6
-rw-r--r--pkgs/tools/misc/ripdrag/default.nix2
-rw-r--r--pkgs/tools/misc/ristate/default.nix2
-rw-r--r--pkgs/tools/misc/roundup/default.nix2
-rw-r--r--pkgs/tools/misc/rpm-ostree/default.nix6
-rw-r--r--pkgs/tools/misc/rshim-user-space/default.nix8
-rw-r--r--pkgs/tools/misc/rtz/default.nix2
-rw-r--r--pkgs/tools/misc/rustypaste-cli/default.nix2
-rw-r--r--pkgs/tools/misc/sagoin/default.nix2
-rw-r--r--pkgs/tools/misc/savepagenow/default.nix2
-rw-r--r--pkgs/tools/misc/scdl/default.nix10
-rw-r--r--pkgs/tools/misc/screen/default.nix5
-rw-r--r--pkgs/tools/misc/script-directory/default.nix2
-rw-r--r--pkgs/tools/misc/see/default.nix2
-rw-r--r--pkgs/tools/misc/sensible-utils/default.nix6
-rw-r--r--pkgs/tools/misc/setconf/default.nix2
-rw-r--r--pkgs/tools/misc/sfeed/default.nix2
-rw-r--r--pkgs/tools/misc/shadowenv/Cargo.lock.patch13
-rw-r--r--pkgs/tools/misc/shadowenv/default.nix8
-rw-r--r--pkgs/tools/misc/sheldon/default.nix2
-rw-r--r--pkgs/tools/misc/shelldap/default.nix2
-rw-r--r--pkgs/tools/misc/shunit2/default.nix2
-rw-r--r--pkgs/tools/misc/sqlite3-to-mysql/default.nix7
-rw-r--r--pkgs/tools/misc/srisum/default.nix2
-rw-r--r--pkgs/tools/misc/starship/default.nix8
-rw-r--r--pkgs/tools/misc/staruml/default.nix6
-rw-r--r--pkgs/tools/misc/stow/default.nix2
-rw-r--r--pkgs/tools/misc/subberthehut/default.nix2
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix4
-rw-r--r--pkgs/tools/misc/svu/default.nix6
-rw-r--r--pkgs/tools/misc/synth/default.nix2
-rw-r--r--pkgs/tools/misc/systrayhelper/default.nix2
-rw-r--r--pkgs/tools/misc/sysz/default.nix2
-rw-r--r--pkgs/tools/misc/szyszka/default.nix8
-rw-r--r--pkgs/tools/misc/t/default.nix2
-rw-r--r--pkgs/tools/misc/tailer/default.nix2
-rw-r--r--pkgs/tools/misc/tailspin/default.nix2
-rw-r--r--pkgs/tools/misc/taoup/default.nix2
-rw-r--r--pkgs/tools/misc/tbls/default.nix8
-rw-r--r--pkgs/tools/misc/tealdeer/default.nix2
-rw-r--r--pkgs/tools/misc/teamocil/default.nix2
-rw-r--r--pkgs/tools/misc/tere/default.nix52
-rw-r--r--pkgs/tools/misc/tewisay/default.nix2
-rw-r--r--pkgs/tools/misc/tfk8s/default.nix2
-rw-r--r--pkgs/tools/misc/theme-sh/default.nix2
-rw-r--r--pkgs/tools/misc/thin-provisioning-tools/Cargo.lock907
-rw-r--r--pkgs/tools/misc/thin-provisioning-tools/default.nix26
-rw-r--r--pkgs/tools/misc/thumbs/default.nix2
-rw-r--r--pkgs/tools/misc/timer/default.nix2
-rw-r--r--pkgs/tools/misc/timidity/default.nix2
-rw-r--r--pkgs/tools/misc/tmux-mem-cpu-load/default.nix4
-rw-r--r--pkgs/tools/misc/tmux-sessionizer/default.nix2
-rw-r--r--pkgs/tools/misc/tmux/default.nix15
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix4
-rw-r--r--pkgs/tools/misc/toastify/default.nix2
-rw-r--r--pkgs/tools/misc/topicctl/default.nix6
-rw-r--r--pkgs/tools/misc/torrenttools/default.nix2
-rw-r--r--pkgs/tools/misc/toybox/default.nix4
-rw-r--r--pkgs/tools/misc/trash-cli/default.nix8
-rw-r--r--pkgs/tools/misc/trashy/default.nix2
-rw-r--r--pkgs/tools/misc/trillian/default.nix2
-rw-r--r--pkgs/tools/misc/ttchat/default.nix2
-rw-r--r--pkgs/tools/misc/ttfautohint/default.nix2
-rw-r--r--pkgs/tools/misc/ttyplot/default.nix6
-rw-r--r--pkgs/tools/misc/twm/default.nix36
-rw-r--r--pkgs/tools/misc/twspace-dl/default.nix2
-rw-r--r--pkgs/tools/misc/tydra/default.nix6
-rw-r--r--pkgs/tools/misc/tz/default.nix2
-rw-r--r--pkgs/tools/misc/uair/default.nix2
-rw-r--r--pkgs/tools/misc/ugs/default.nix6
-rw-r--r--pkgs/tools/misc/ugtrain/default.nix2
-rw-r--r--pkgs/tools/misc/undocker/default.nix35
-rw-r--r--pkgs/tools/misc/unparam/default.nix8
-rw-r--r--pkgs/tools/misc/upower-notify/default.nix23
-rw-r--r--pkgs/tools/misc/upower-notify/deps.nix11
-rw-r--r--pkgs/tools/misc/upterm/default.nix6
-rw-r--r--pkgs/tools/misc/url-parser/default.nix6
-rw-r--r--pkgs/tools/misc/urlencode/default.nix2
-rw-r--r--pkgs/tools/misc/urn-timer/default.nix2
-rw-r--r--pkgs/tools/misc/usbimager/default.nix2
-rw-r--r--pkgs/tools/misc/usbmuxd/default.nix2
-rw-r--r--pkgs/tools/misc/usbmuxd2/default.nix2
-rw-r--r--pkgs/tools/misc/uucp/default.nix27
-rw-r--r--pkgs/tools/misc/uudeview/default.nix2
-rw-r--r--pkgs/tools/misc/uwufetch/default.nix2
-rw-r--r--pkgs/tools/misc/valeronoi/default.nix2
-rw-r--r--pkgs/tools/misc/vector/Cargo.lock2266
-rw-r--r--pkgs/tools/misc/vector/default.nix16
-rw-r--r--pkgs/tools/misc/vector/vector-lto.patch12
-rw-r--r--pkgs/tools/misc/vial/default.nix2
-rw-r--r--pkgs/tools/misc/viddy/default.nix2
-rw-r--r--pkgs/tools/misc/vivid/default.nix2
-rw-r--r--pkgs/tools/misc/vorbisgain/default.nix2
-rw-r--r--pkgs/tools/misc/vrc-get/default.nix23
-rw-r--r--pkgs/tools/misc/vsc-leetcode-cli/default.nix2
-rw-r--r--pkgs/tools/misc/vsh/default.nix4
-rw-r--r--pkgs/tools/misc/vtm/default.nix4
-rw-r--r--pkgs/tools/misc/wagyu/default.nix10
-rw-r--r--pkgs/tools/misc/wagyu/fix-rustc-serialize-version.patch15
-rw-r--r--pkgs/tools/misc/wakapi/default.nix8
-rw-r--r--pkgs/tools/misc/wakatime/default.nix53
-rw-r--r--pkgs/tools/misc/wasm-tools/default.nix6
-rw-r--r--pkgs/tools/misc/watchexec/default.nix6
-rw-r--r--pkgs/tools/misc/wayback-machine-archiver/default.nix2
-rw-r--r--pkgs/tools/misc/wayback/default.nix2
-rw-r--r--pkgs/tools/misc/waylevel/default.nix2
-rw-r--r--pkgs/tools/misc/wayshot/default.nix2
-rw-r--r--pkgs/tools/misc/webcat/default.nix2
-rw-r--r--pkgs/tools/misc/whatsapp-chat-exporter/default.nix4
-rw-r--r--pkgs/tools/misc/wlc/default.nix2
-rw-r--r--pkgs/tools/misc/woeusb-ng/default.nix2
-rw-r--r--pkgs/tools/misc/wootility/default.nix6
-rw-r--r--pkgs/tools/misc/wyrd/default.nix4
-rw-r--r--pkgs/tools/misc/xcp/default.nix8
-rw-r--r--pkgs/tools/misc/xdaliclock/default.nix2
-rw-r--r--pkgs/tools/misc/xdg-ninja/default.nix2
-rw-r--r--pkgs/tools/misc/xjobs/default.nix2
-rw-r--r--pkgs/tools/misc/xmonad-log/default.nix26
-rw-r--r--pkgs/tools/misc/xmonad-log/deps.nix12
-rw-r--r--pkgs/tools/misc/xstow/default.nix2
-rw-r--r--pkgs/tools/misc/xvfb-run/default.nix4
-rw-r--r--pkgs/tools/misc/xxv/default.nix2
-rw-r--r--pkgs/tools/misc/you-get/default.nix6
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix4
-rw-r--r--pkgs/tools/misc/ytcast/default.nix2
-rw-r--r--pkgs/tools/misc/ytfzf/default.nix2
-rw-r--r--pkgs/tools/misc/yubico-piv-tool/default.nix42
-rw-r--r--pkgs/tools/misc/yubikey-manager/default.nix1
-rw-r--r--pkgs/tools/misc/yubikey-personalization-gui/default.nix2
-rw-r--r--pkgs/tools/misc/yubikey-personalization/default.nix2
-rw-r--r--pkgs/tools/misc/z-lua/default.nix2
-rw-r--r--pkgs/tools/misc/zellij/default.nix2
-rw-r--r--pkgs/tools/misc/zf/default.nix2
-rw-r--r--pkgs/tools/misc/zotero-translation-server/default.nix2
-rw-r--r--pkgs/tools/misc/zoxide/default.nix2
-rw-r--r--pkgs/tools/misc/zthrottle/default.nix2
451 files changed, 4667 insertions, 2913 deletions
diff --git a/pkgs/tools/misc/0x/default.nix b/pkgs/tools/misc/0x/default.nix
index 2f1493d23452e..c5adee2a19467 100644
--- a/pkgs/tools/misc/0x/default.nix
+++ b/pkgs/tools/misc/0x/default.nix
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage {
 
   meta = with lib; {
     homepage = "https://github.com/mcy/0x";
-    description = "A colorful, configurable xxd";
+    description = "Colorful, configurable xxd";
     mainProgram = "0x";
     license = licenses.asl20;
     maintainers = with maintainers; [ AndersonTorres ];
diff --git a/pkgs/tools/misc/SP800-90B_EntropyAssessment/default.nix b/pkgs/tools/misc/SP800-90B_EntropyAssessment/default.nix
deleted file mode 100644
index 3c18621d712de..0000000000000
--- a/pkgs/tools/misc/SP800-90B_EntropyAssessment/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, bzip2
-, libdivsufsort
-, jsoncpp
-, openssl
-, mpfr
-}:
-
-stdenv.mkDerivation rec {
-  pname = "SP800-90B_EntropyAssessment";
-  version = "1.1.6";
-
-  src = fetchFromGitHub {
-    owner = "usnistgov";
-    repo = "SP800-90B_EntropyAssessment";
-    rev = "v${version}";
-    hash = "sha256-KZQ7kC0PbBkjLEQZIqYakQ91OvCxruhdfUwiRHtno3w=";
-  };
-
-  buildInputs = [ bzip2 libdivsufsort jsoncpp openssl mpfr ];
-
-  postPatch = ''
-    substituteInPlace Makefile \
-      --replace "-march=native" ""
-  '';
-
-  sourceRoot = "${src.name}/cpp";
-
-  makeFlags = [
-    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
-    "ARCH=${stdenv.hostPlatform.linuxArch}"
-  ];
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin
-    cp ea_* $out/bin
-    runHook postInstall
-  '';
-
-  meta = {
-    homepage = "https://github.com/usnistgov/SP800-90B_EntropyAssessment";
-    description = "Implementation of min-entropy assessment methods included in Special Publication 800-90B";
-    platforms = lib.platforms.linux;
-    license = lib.licenses.nistSoftware;
-    maintainers = with lib.maintainers; [ orichter thillux ];
-  };
-}
diff --git a/pkgs/tools/misc/addic7ed-cli/default.nix b/pkgs/tools/misc/addic7ed-cli/default.nix
index d335cfb1d737b..9d5fef14bf253 100644
--- a/pkgs/tools/misc/addic7ed-cli/default.nix
+++ b/pkgs/tools/misc/addic7ed-cli/default.nix
@@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
   pythonImportsCheck = [ "addic7ed_cli" ];
 
   meta = with lib; {
-    description = "A commandline access to addic7ed subtitles";
+    description = "Commandline access to addic7ed subtitles";
     homepage = "https://github.com/BenoitZugmeyer/addic7ed-cli";
     license = licenses.mit;
     maintainers = with maintainers; [ aethelz ];
diff --git a/pkgs/tools/misc/adrgen/default.nix b/pkgs/tools/misc/adrgen/default.nix
index 4a367062cafa9..979d1878035d3 100644
--- a/pkgs/tools/misc/adrgen/default.nix
+++ b/pkgs/tools/misc/adrgen/default.nix
@@ -36,7 +36,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/asiermarques/adrgen";
-    description = "A command-line tool for generating and managing Architecture Decision Records";
+    description = "Command-line tool for generating and managing Architecture Decision Records";
     license = licenses.mit;
     maintainers = [ maintainers.ivar ];
     mainProgram = "adrgen";
diff --git a/pkgs/tools/misc/afetch/default.nix b/pkgs/tools/misc/afetch/default.nix
index 9b8fe7e4e0916..9413666372df3 100644
--- a/pkgs/tools/misc/afetch/default.nix
+++ b/pkgs/tools/misc/afetch/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A fetch program written in C";
+    description = "Fetch program written in C";
     homepage = "https://github.com/13-CF/afetch";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dan4ik605743 jk ];
diff --git a/pkgs/tools/misc/agedu/default.nix b/pkgs/tools/misc/agedu/default.nix
index d8b2c1a2c5ca7..d01e6aab141c1 100644
--- a/pkgs/tools/misc/agedu/default.nix
+++ b/pkgs/tools/misc/agedu/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake halibut ];
 
   meta = with lib; {
-    description = "A Unix utility for tracking down wasted disk space";
+    description = "Unix utility for tracking down wasted disk space";
     longDescription = ''
        Most Unix file systems, in their default mode, helpfully record when a
        file was last accessed. So if you generated a large amount of data years
diff --git a/pkgs/tools/misc/aichat/default.nix b/pkgs/tools/misc/aichat/default.nix
index 9b97546a2c474..975fb995bb87d 100644
--- a/pkgs/tools/misc/aichat/default.nix
+++ b/pkgs/tools/misc/aichat/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "aichat";
-  version = "0.16.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "sigoden";
     repo = "aichat";
     rev = "v${version}";
-    hash = "sha256-XNNiIjJfPsfoyG3RbxlcoUxsOUkWZ+3H3SlYenuNOIQ=";
+    hash = "sha256-V7WKzi9PKSek8DlF7QzBEaYn3a+BJzMtKEoi5yMGS/w=";
   };
 
-  cargoHash = "sha256-JOkcqqmfat+PAn7mRHq+iQCF60weDOBWP2+0DL0s3X0=";
+  cargoHash = "sha256-sFRYu1sQ9PdjsBTgajMfvJqA32Q8HZCHs3h2wemb9oY=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/misc/alarm-clock-applet/default.nix b/pkgs/tools/misc/alarm-clock-applet/default.nix
index 85feb80700e6e..c73d2b758cd5e 100644
--- a/pkgs/tools/misc/alarm-clock-applet/default.nix
+++ b/pkgs/tools/misc/alarm-clock-applet/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A fully-featured alarm clock with an indicator";
+    description = "Fully-featured alarm clock with an indicator";
     homepage = "https://alarm-clock-applet.github.io";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ aleksana ];
diff --git a/pkgs/tools/misc/apkeep/default.nix b/pkgs/tools/misc/apkeep/default.nix
index 2b52ab1d788a3..5bc0aec88cb29 100644
--- a/pkgs/tools/misc/apkeep/default.nix
+++ b/pkgs/tools/misc/apkeep/default.nix
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A command-line tool for downloading APK files from various sources";
+    description = "Command-line tool for downloading APK files from various sources";
     homepage = "https://github.com/EFForg/apkeep";
     changelog = "https://github.com/EFForg/apkeep/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/archi/default.nix b/pkgs/tools/misc/archi/default.nix
index b7d9f6b92293d..e933edf3642b6 100644
--- a/pkgs/tools/misc/archi/default.nix
+++ b/pkgs/tools/misc/archi/default.nix
@@ -12,20 +12,20 @@
 
 stdenv.mkDerivation rec {
   pname = "Archi";
-  version = "5.2.0";
+  version = "5.3.0";
 
   src = {
     "x86_64-linux" = fetchurl {
-      url = "https://www.archimatetool.com/downloads/archi_5.php?/${version}/Archi-Linux64-${version}.tgz";
-      hash = "sha256-uGW4Wl3E71ZCgWzPHkmXv/PluegDF8C64FUQ7C5/SDA=";
+      url = "https://www.archimatetool.com/downloads/archi/${version}/Archi-Linux64-${version}.tgz";
+      hash = "sha256-ngO3YFCChsnefxdxtR00Dy736K2GYnTEYI4vKWLnPsw=";
     };
     "x86_64-darwin" = fetchurl {
-      url = "https://www.archimatetool.com/downloads/archi_5.php?/${version}/Archi-Mac-${version}.dmg";
-      hash = "sha256-GI9aIAYwu60RdjN0Y3O94sVMzJR1+nX4txVcvqn1r58=";
+      url = "https://www.archimatetool.com/downloads/archi/${version}/Archi-Mac-${version}.dmg";
+      hash = "sha256-dL1c7IrbDMY/WbijQh1dCmCrRQQhj4fjGN+6m19OjO0=";
     };
     "aarch64-darwin" = fetchurl {
-      url = "https://www.archimatetool.com/downloads/archi_5.php?/${version}/Archi-Mac-Silicon-${version}.dmg";
-      hash = "sha256-Jg+tl902OWSm4GHxF7QXbRU5nxX4/5q6LTGubHWQ08E=";
+      url = "https://www.archimatetool.com/downloads/archi/${version}/Archi-Mac-Silicon-${version}.dmg";
+      hash = "sha256-iczIUm1LCAjYKOyHXbFCgb+zoUxxATSOVkB8Ldk7pxQ=";
     };
   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
         install -D -m755 Archi $out/libexec/Archi
         makeWrapper $out/libexec/Archi $out/bin/Archi \
           --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ webkitgtk ])} \
+          --set WEBKIT_DISABLE_DMABUF_RENDERER 1 \
           --prefix PATH : ${jdk}/bin
       ''
     else
diff --git a/pkgs/tools/misc/archi/update.sh b/pkgs/tools/misc/archi/update.sh
index 07d488637945b..d405a188d3d09 100755
--- a/pkgs/tools/misc/archi/update.sh
+++ b/pkgs/tools/misc/archi/update.sh
@@ -21,6 +21,5 @@ do
     prefetch=$(nix-prefetch-url https://www.archimatetool.com/downloads/archi/$latestVersion/$2)
     hash=$(nix-hash --type sha256 --to-sri $prefetch)
 
-    update-source-version archi 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" --system=$1
-    update-source-version archi $latestVersion $hash --system=$1
+    update-source-version archi $latestVersion $hash --system=$1 --ignore-same-version
 done
diff --git a/pkgs/tools/misc/asciinema-agg/default.nix b/pkgs/tools/misc/asciinema-agg/default.nix
index 3b530eb28f6f9..238a5c8af0736 100644
--- a/pkgs/tools/misc/asciinema-agg/default.nix
+++ b/pkgs/tools/misc/asciinema-agg/default.nix
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A command-line tool for generating animated GIF files from asciicast v2 files produced by asciinema terminal recorder";
+    description = "Command-line tool for generating animated GIF files from asciicast v2 files produced by asciinema terminal recorder";
     homepage = "https://github.com/asciinema/agg";
     changelog = "https://github.com/asciinema/agg/releases/tag/${src.rev}";
     license = licenses.asl20;
diff --git a/pkgs/tools/misc/askalono/default.nix b/pkgs/tools/misc/askalono/default.nix
index 3b9a0c9633e9f..a15d4d08aae8a 100644
--- a/pkgs/tools/misc/askalono/default.nix
+++ b/pkgs/tools/misc/askalono/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-OkN8V37GApJvremRJlWG3HSpWgMC17Ge8JMTiQVoc/g=";
 
   meta = with lib; {
-    description = "A tool to detect open source licenses from texts";
+    description = "Tool to detect open source licenses from texts";
     homepage = "https://github.com/jpeddicord/askalono";
     changelog = "https://github.com/jpeddicord/askalono/blob/${version}/CHANGELOG.md";
     license = licenses.asl20;
diff --git a/pkgs/tools/misc/astronomer/default.nix b/pkgs/tools/misc/astronomer/default.nix
index fb10f428967b6..77b30afa05290 100644
--- a/pkgs/tools/misc/astronomer/default.nix
+++ b/pkgs/tools/misc/astronomer/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
-    description = "A tool to detect illegitimate stars from bot accounts on GitHub projects";
+    description = "Tool to detect illegitimate stars from bot accounts on GitHub projects";
     homepage = "https://github.com/Ullaakut/astronomer";
     changelog = "https://github.com/Ullaakut/astronomer/releases/tag/${src.rev}";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/autojump/default.nix b/pkgs/tools/misc/autojump/default.nix
index 977e339d7ef55..8305c82937ebd 100644
--- a/pkgs/tools/misc/autojump/default.nix
+++ b/pkgs/tools/misc/autojump/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A `cd' command that learns";
+    description = "`cd' command that learns";
     mainProgram = "autojump";
     longDescription = ''
       One of the most used shell commands is “cd”.  A quick survey
diff --git a/pkgs/tools/misc/backdown/default.nix b/pkgs/tools/misc/backdown/default.nix
index e578b1ab4295d..f75388ea8677d 100644
--- a/pkgs/tools/misc/backdown/default.nix
+++ b/pkgs/tools/misc/backdown/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-BOwhXq/xVuk3KylL3KeIkiIG3SXVASFiYkUgKJhMzuU=";
 
   meta = with lib; {
-    description = "A file deduplicator";
+    description = "File deduplicator";
     homepage = "https://github.com/Canop/backdown";
     changelog = "https://github.com/Canop/backdown/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/bartib/default.nix b/pkgs/tools/misc/bartib/default.nix
index 0719f8a168bba..43921e337131d 100644
--- a/pkgs/tools/misc/bartib/default.nix
+++ b/pkgs/tools/misc/bartib/default.nix
@@ -12,9 +12,6 @@ rustPlatform.buildRustPackage rec {
   };
 
   cargoSha256 = "sha256-s/oGv7/0LgNpdGu6dnvvbxDgFDvcvcHL01dSPxhMVWE=";
-  preConfigure = ''
-    cargo metadata --offline
-  '';
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -23,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A simple timetracker for the command line";
+    description = "Simple timetracker for the command line";
     homepage = "https://github.com/nikolassv/bartib";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/tools/misc/bbe/default.nix b/pkgs/tools/misc/bbe/default.nix
index 58d099da4b06d..519c272902b4a 100644
--- a/pkgs/tools/misc/bbe/default.nix
+++ b/pkgs/tools/misc/bbe/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "doc" ];
 
   meta = with lib; {
-    description = "A sed-like editor for binary files";
+    description = "Sed-like editor for binary files";
     homepage = "https://bbe-.sourceforge.net/";
     license = licenses.gpl2Plus;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/bdf2psf/default.nix b/pkgs/tools/misc/bdf2psf/default.nix
index 41caab53e2fea..9bfc1f0beb0e4 100644
--- a/pkgs/tools/misc/bdf2psf/default.nix
+++ b/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2psf";
-  version = "1.226";
+  version = "1.227";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "sha256-MLNLeCgBzp2awt9ZJM2kaCWQhRnC6sSwm1fHlv3EwHo=";
+    sha256 = "sha256-EJnxgz+ZKMtl6eIpIPYdXeMAnV/gydgklC/7yG2THpM=";
   };
 
   nativeBuildInputs = [ dpkg ];
diff --git a/pkgs/tools/misc/betterdiscordctl/default.nix b/pkgs/tools/misc/betterdiscordctl/default.nix
index c2c935c0d9814..c1030db7a7a37 100644
--- a/pkgs/tools/misc/betterdiscordctl/default.nix
+++ b/pkgs/tools/misc/betterdiscordctl/default.nix
@@ -34,7 +34,7 @@ stdenvNoCC.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/bb010g/betterdiscordctl";
-    description = "A utility for managing BetterDiscord on Linux";
+    description = "Utility for managing BetterDiscord on Linux";
     license = licenses.mit;
     mainProgram = "betterdiscordctl";
     maintainers = with maintainers; [ ivar bb010g ];
diff --git a/pkgs/tools/misc/bfetch/default.nix b/pkgs/tools/misc/bfetch/default.nix
index 2d678da532332..687b3c1280167 100644
--- a/pkgs/tools/misc/bfetch/default.nix
+++ b/pkgs/tools/misc/bfetch/default.nix
@@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
-    description = "A SuperB general-purpose fetch displayer written in portable sh";
+    description = "SuperB general-purpose fetch displayer written in portable sh";
     homepage = "https://github.com/NNBnh/bfetch";
     license = licenses.gpl3Only;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/bfr/default.nix b/pkgs/tools/misc/bfr/default.nix
index 60905d95e57dd..6d67d4d206772 100644
--- a/pkgs/tools/misc/bfr/default.nix
+++ b/pkgs/tools/misc/bfr/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ perl ];
 
   meta = with lib; {
-    description = "A general-purpose command-line pipe buffer";
+    description = "General-purpose command-line pipe buffer";
     license = lib.licenses.gpl2Only;
     maintainers = with maintainers; [ pSub ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/bibtex2html/default.nix b/pkgs/tools/misc/bibtex2html/default.nix
index ba73de533af96..2af4aaa081283 100644
--- a/pkgs/tools/misc/bibtex2html/default.nix
+++ b/pkgs/tools/misc/bibtex2html/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ ocaml perl ];
 
   meta = with lib; {
-    description = "A collection of tools for translating from BibTeX to HTML";
+    description = "Collection of tools for translating from BibTeX to HTML";
     homepage = "https://www.lri.fr/~filliatr/bibtex2html/";
     license = licenses.gpl2Only;
     platforms = ocaml.meta.platforms or [];
diff --git a/pkgs/tools/misc/bkt/default.nix b/pkgs/tools/misc/bkt/default.nix
index beef0b8412ca2..5f6053ec9de96 100644
--- a/pkgs/tools/misc/bkt/default.nix
+++ b/pkgs/tools/misc/bkt/default.nix
@@ -16,7 +16,7 @@
   cargoHash = "sha256-Pl+a+ZpxaguRloH8R7x4FmYpTwTUwFrYy7AS/5K3L+8=";
 
   meta = {
-    description = "A subprocess caching utility";
+    description = "Subprocess caching utility";
     homepage = "https://github.com/dimo414/bkt";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.mangoiv ];
diff --git a/pkgs/tools/misc/bkyml/default.nix b/pkgs/tools/misc/bkyml/default.nix
index 8b930e960e246..cfd996f608913 100644
--- a/pkgs/tools/misc/bkyml/default.nix
+++ b/pkgs/tools/misc/bkyml/default.nix
@@ -39,7 +39,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "https://github.com/joscha/bkyml";
-    description = "A CLI tool to generate a pipeline.yaml file for Buildkite on the fly";
+    description = "CLI tool to generate a pipeline.yaml file for Buildkite on the fly";
     license = licenses.mit;
     maintainers = with maintainers; [ olebedev ];
   };
diff --git a/pkgs/tools/misc/blflash/default.nix b/pkgs/tools/misc/blflash/default.nix
index 36c1712a6e579..36bdca12de874 100644
--- a/pkgs/tools/misc/blflash/default.nix
+++ b/pkgs/tools/misc/blflash/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-NRBW2rGrtEmmxONTpCM1D+o5HtnLjp175Sq9+aCp7ZE=";
 
   meta = with lib; {
-    description = "An bl602 serial flasher written in Rust";
+    description = "Bl602 serial flasher written in Rust";
     homepage = "https://github.com/spacemeowx2/blflash";
     license = with licenses; [ mit asl20 ];
     maintainers = with maintainers; [ _0x4A6F ];
diff --git a/pkgs/tools/misc/bonk/default.nix b/pkgs/tools/misc/bonk/default.nix
index cfd815d66b316..b4a65329dc96f 100644
--- a/pkgs/tools/misc/bonk/default.nix
+++ b/pkgs/tools/misc/bonk/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-/qBuIG5ETUWMv2iOGpW3/awuhZb35qsBAflNJv3xTUs=";
 
   meta = {
-    description = "The blazingly fast touch alternative written in Rust";
+    description = "Blazingly fast touch alternative written in Rust";
     homepage = "https://github.com/elliot40404/bonk";
     license = lib.licenses.mit;
     mainProgram = "bonk";
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix
index b136dcb6ad93e..5fda81cf80b4b 100644
--- a/pkgs/tools/misc/broot/default.nix
+++ b/pkgs/tools/misc/broot/default.nix
@@ -13,21 +13,22 @@
 , xorg
 , zlib
 , buildPackages
-, withClipboard ? false
+, withClipboard ? !stdenv.isDarwin
+, withTrash ? !stdenv.isDarwin
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "1.37.0";
+  version = "1.39.0";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-IJSXP4B07/0ZHzuAmPBXn/n0O7LOYNTB812sKz+mGuc=";
+    hash = "sha256-OmkO7qZ8l9HvSJFGNgTeCo/gS17fF0edfOc8wvf29/I=";
   };
 
-  cargoHash = "sha256-jsy7FtTX/iG3TPdbYemG+6jbguQN4LoYMgscMffik7g=";
+  cargoHash = "sha256-lfFv8NF5nID96tCcLB7bXnDfAyrjoXhnBa2QDHz3nY4=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -42,7 +43,7 @@ rustPlatform.buildRustPackage rec {
     zlib
   ];
 
-  buildFeatures = lib.optionals withClipboard [ "clipboard" ];
+  buildFeatures = lib.optionals withTrash [ "trash" ] ++ lib.optionals withClipboard [ "clipboard" ];
 
   RUSTONIG_SYSTEM_LIBONIG = true;
 
@@ -88,7 +89,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "An interactive tree view, a fuzzy search, a balanced BFS descent and customizable commands";
+    description = "Interactive tree view, a fuzzy search, a balanced BFS descent and customizable commands";
     homepage = "https://dystroy.org/broot/";
     changelog = "https://github.com/Canop/broot/releases/tag/v${version}";
     maintainers = with maintainers; [ dywedir ];
diff --git a/pkgs/tools/misc/buildtorrent/default.nix b/pkgs/tools/misc/buildtorrent/default.nix
index d9fc90768a984..e6a800dc54675 100644
--- a/pkgs/tools/misc/buildtorrent/default.nix
+++ b/pkgs/tools/misc/buildtorrent/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "A simple commandline torrent creator";
+    description = "Simple commandline torrent creator";
     homepage = "https://mathr.co.uk/blog/torrent.html";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/calamares-nixos-extensions/default.nix b/pkgs/tools/misc/calamares-nixos-extensions/default.nix
index 2b8965544ab3d..481ed56f3de5a 100644
--- a/pkgs/tools/misc/calamares-nixos-extensions/default.nix
+++ b/pkgs/tools/misc/calamares-nixos-extensions/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "calamares-nixos-extensions";
-  version = "0.3.15";
+  version = "0.3.16";
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "calamares-nixos-extensions";
     rev = version;
-    hash = "sha256-PZQjrteLWcInXIavuANHfzfl9gOXATWtIlDUp45j5Ao=";
+    hash = "sha256-ajQWmZVY60Q2cGJcLqMT2ypIi7bMMiyHMgdlp3g9874=";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/misc/capture/default.nix b/pkgs/tools/misc/capture/default.nix
index be08be4f1436a..9eac4dd0bbc55 100644
--- a/pkgs/tools/misc/capture/default.nix
+++ b/pkgs/tools/misc/capture/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "A no bullshit screen capture tool";
+    description = "No bullshit screen capture tool";
     homepage = "https://github.com/buhman/capture";
     maintainers = [ maintainers.ar1a ];
     license = licenses.gpl3Plus;
diff --git a/pkgs/tools/misc/cf-terraforming/default.nix b/pkgs/tools/misc/cf-terraforming/default.nix
index 5ec67c40f1d83..086d1f044ddfe 100644
--- a/pkgs/tools/misc/cf-terraforming/default.nix
+++ b/pkgs/tools/misc/cf-terraforming/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "cf-terraforming";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cf-terraforming";
     rev = "v${version}";
-    sha256 = "sha256-eGfPk3qptNf6QfVKDT4MwJav7z+ri+eEiB7KHGRxzOE=";
+    sha256 = "sha256-r5iRXhbjmFNlzoOe9s6vheROl/XKbeIfGD+ACl0hmro=";
   };
 
-  vendorHash = "sha256-cWFCEC20D2nhVeW7P/w5YSt1tQbWTPDWF/eaxEvWoLo=";
+  vendorHash = "sha256-FinthjJeXwfjyNORdgmgArjRk+2zUlVV67P52V/lK+A=";
   ldflags = [ "-X github.com/cloudflare/cf-terraforming/internal/app/cf-terraforming/cmd.versionString=${version}" ];
 
   # The test suite insists on downloading a binary release of Terraform from
@@ -24,7 +24,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A command line utility to facilitate terraforming your existing Cloudflare resources";
+    description = "Command line utility to facilitate terraforming your existing Cloudflare resources";
     homepage = "https://github.com/cloudflare/cf-terraforming/";
     license = licenses.mpl20;
     maintainers = with maintainers; [ benley ];
diff --git a/pkgs/tools/misc/changelogger/default.nix b/pkgs/tools/misc/changelogger/default.nix
index bae346ca37c5b..fa46e7b10752c 100644
--- a/pkgs/tools/misc/changelogger/default.nix
+++ b/pkgs/tools/misc/changelogger/default.nix
@@ -34,7 +34,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "A tool to manage your changelog file in Markdown";
+    description = "Tool to manage your changelog file in Markdown";
     homepage = "https://github.com/MarkusFreitag/changelogger";
     changelog = "https://github.com/MarkusFreitag/changelogger/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/charasay/default.nix b/pkgs/tools/misc/charasay/default.nix
index 7e79c6479b40d..20594414daef5 100644
--- a/pkgs/tools/misc/charasay/default.nix
+++ b/pkgs/tools/misc/charasay/default.nix
@@ -31,7 +31,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "The future of cowsay - Colorful characters saying something";
+    description = "Future of cowsay - Colorful characters saying something";
     homepage = "https://github.com/latipun7/charasay";
     license = licenses.mit;
     maintainers = with maintainers; [ hmajid2301 ];
diff --git a/pkgs/tools/misc/chatgpt-cli/default.nix b/pkgs/tools/misc/chatgpt-cli/default.nix
index b823eb997e84f..a7712aee4116c 100644
--- a/pkgs/tools/misc/chatgpt-cli/default.nix
+++ b/pkgs/tools/misc/chatgpt-cli/default.nix
@@ -5,16 +5,16 @@
 }:
 buildGoModule rec {
   pname = "chatgpt";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     owner = "j178";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PwC/LyWGgFdj1aye8A/W9wc78z9mEbvz4DNsB0eHtl0=";
+    hash = "sha256-+U5fDG/t1x7F4h+D3rVdgvYICoQDH7dd5GUNOCkXw/Q=";
   };
 
-  vendorHash = "sha256-hmg301m4Zn7BzlOJ6VVySkxwFt7CDT7MS9EH1JqeW/E=";
+  vendorHash = "sha256-/bL9RRqNlKLqZSaym9y5A+RUDrHpv7GBR6ubZkZMPS4=";
 
   subPackages = [ "cmd/chatgpt" ];
 
diff --git a/pkgs/tools/misc/chef-cli/default.nix b/pkgs/tools/misc/chef-cli/default.nix
index af3a60103ca35..01a80de279568 100644
--- a/pkgs/tools/misc/chef-cli/default.nix
+++ b/pkgs/tools/misc/chef-cli/default.nix
@@ -10,7 +10,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "chef-cli";
 
   meta = with lib; {
-    description = "The Chef Infra Client is a powerful agent that applies your configurations on remote Linux, macOS, Windows and cloud-based systems";
+    description = "Chef Infra Client is a powerful agent that applies your configurations on remote Linux, macOS, Windows and cloud-based systems";
     homepage = "https://chef.io/";
     license = licenses.asl20;
     maintainers = with maintainers; [ dylanmtaylor ];
diff --git a/pkgs/tools/misc/cht.sh/default.nix b/pkgs/tools/misc/cht.sh/default.nix
index b34b1ee4d5170..f61defdbdedae 100644
--- a/pkgs/tools/misc/cht.sh/default.nix
+++ b/pkgs/tools/misc/cht.sh/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation {
   pname = "cht.sh";
-  version = "unstable-2022-04-18";
+  version = "0-unstable-2022-04-18";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/tools/misc/clickclack/default.nix b/pkgs/tools/misc/clickclack/default.nix
index 884c2ac84bc18..15fe00486d3e6 100644
--- a/pkgs/tools/misc/clickclack/default.nix
+++ b/pkgs/tools/misc/clickclack/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A vibration/audio feedback tool to be used with virtual keyboards";
+    description = "Vibration/audio feedback tool to be used with virtual keyboards";
     homepage = "https://git.sr.ht/~proycon/clickclack";
     license = licenses.mit;
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/clini/default.nix b/pkgs/tools/misc/clini/default.nix
index 95d86e6fd46d1..b5bd825821498 100644
--- a/pkgs/tools/misc/clini/default.nix
+++ b/pkgs/tools/misc/clini/default.nix
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-hOPj3c3WIISRqP/9Kpc/Yh9Z/wfAkHQ/731+BkWElIQ=";
 
   meta = with lib; {
-    description = "A simple tool to do basic modification of ini files";
+    description = "Simple tool to do basic modification of ini files";
     homepage = "https://github.com/domgreen/clini";
     license = licenses.mit;
     maintainers = with maintainers; [ Flakebi ];
diff --git a/pkgs/tools/misc/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix
index 4cb21ea5c99e9..124e3869b7210 100644
--- a/pkgs/tools/misc/cloc/default.nix
+++ b/pkgs/tools/misc/cloc/default.nix
@@ -51,7 +51,7 @@ in stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "A program that counts lines of source code";
+    description = "Program that counts lines of source code";
     homepage = "https://github.com/AlDanial/cloc";
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.all;
diff --git a/pkgs/tools/misc/clpeak/default.nix b/pkgs/tools/misc/clpeak/default.nix
index 4539602320f3f..4b190acf19b7c 100644
--- a/pkgs/tools/misc/clpeak/default.nix
+++ b/pkgs/tools/misc/clpeak/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ocl-icd opencl-clhpp ];
 
   meta = with lib; {
-    description = "A tool which profiles OpenCL devices to find their peak capacities";
+    description = "Tool which profiles OpenCL devices to find their peak capacities";
     homepage = "https://github.com/krrishnarraj/clpeak/";
     license = licenses.unlicense;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/tools/misc/clubhouse-cli/default.nix b/pkgs/tools/misc/clubhouse-cli/default.nix
index 22148f820d40b..8e44b2c0cec86 100644
--- a/pkgs/tools/misc/clubhouse-cli/default.nix
+++ b/pkgs/tools/misc/clubhouse-cli/default.nix
@@ -17,7 +17,7 @@ buildNpmPackage rec {
   npmDepsHash = "sha256-QlCLEvmqLVkWwgTVlToYD6bptLp/MVfQ10Wdfr3PIr4=";
 
   meta = {
-    description = "A command line tool for viewing, creating and updating clubhouse.io stories";
+    description = "Command line tool for viewing, creating and updating clubhouse.io stories";
     homepage = "https://github.com/andjosh/clubhouse-cli";
     changelog = "https://github.com/andjosh/clubhouse-cli/blob/${src.rev}/CHANGELOG.md";
     license = lib.licenses.mit;
diff --git a/pkgs/tools/misc/code-minimap/default.nix b/pkgs/tools/misc/code-minimap/default.nix
index 34d8547ebd327..db58ede25abff 100644
--- a/pkgs/tools/misc/code-minimap/default.nix
+++ b/pkgs/tools/misc/code-minimap/default.nix
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
   meta = with lib; {
-    description = "A high performance code minimap render";
+    description = "High performance code minimap render";
     homepage = "https://github.com/wfxr/code-minimap";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ bsima ];
diff --git a/pkgs/tools/misc/codevis/default.nix b/pkgs/tools/misc/codevis/default.nix
index c41351f95983f..3ef5e899b4ac1 100644
--- a/pkgs/tools/misc/codevis/default.nix
+++ b/pkgs/tools/misc/codevis/default.nix
@@ -31,7 +31,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A tool to take all source code in a folder and render them to one image";
+    description = "Tool to take all source code in a folder and render them to one image";
     homepage = "https://github.com/sloganking/codevis";
     changelog = "https://github.com/sloganking/codevis/releases/tag/${src.rev}";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/conserver/default.nix b/pkgs/tools/misc/conserver/default.nix
index 30ac050ee0d33..ca066c834b8a9 100644
--- a/pkgs/tools/misc/conserver/default.nix
+++ b/pkgs/tools/misc/conserver/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://www.conserver.com/";
-    description = "An application that allows multiple users to watch a serial console at the same time";
+    description = "Application that allows multiple users to watch a serial console at the same time";
     license = licenses.bsd3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ sarcasticadmin ];
diff --git a/pkgs/tools/misc/coreboot-configurator/default.nix b/pkgs/tools/misc/coreboot-configurator/default.nix
index 2c51fd61fc110..d8e322421c75e 100644
--- a/pkgs/tools/misc/coreboot-configurator/default.nix
+++ b/pkgs/tools/misc/coreboot-configurator/default.nix
@@ -51,7 +51,7 @@ mkDerivation {
   '';
 
   meta = with lib; {
-    description = "A simple GUI to change settings in Coreboot's CBFS";
+    description = "Simple GUI to change settings in Coreboot's CBFS";
     homepage = "https://support.starlabs.systems/kb/guides/coreboot-configurator";
     license = licenses.gpl2Only;
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/coreboot-utils/default.nix b/pkgs/tools/misc/coreboot-utils/default.nix
index e13b97e0c3a0b..0410a23221eaa 100644
--- a/pkgs/tools/misc/coreboot-utils/default.nix
+++ b/pkgs/tools/misc/coreboot-utils/default.nix
@@ -1,23 +1,23 @@
 { lib, stdenv, fetchgit, pkg-config, zlib, pciutils, openssl, coreutils, acpica-tools, makeWrapper, gnugrep, gnused, file, buildEnv }:
 
 let
-  version = "24.02";
+  version = "24.05";
 
   commonMeta = with lib; {
     description = "Various coreboot-related tools";
     homepage = "https://www.coreboot.org";
     license = with licenses; [ gpl2Only gpl2Plus ];
-    maintainers = with maintainers; [ felixsinger ];
+    maintainers = with maintainers; [ felixsinger jmbaur ];
     platforms = platforms.linux;
   };
 
-  generic = { pname, path ? "util/${pname}", ... }@args: stdenv.mkDerivation (rec {
+  generic = { pname, path ? "util/${pname}", ... }@args: stdenv.mkDerivation ({
     inherit pname version;
 
     src = fetchgit {
       url = "https://review.coreboot.org/coreboot";
-      rev = "4845b69db29107ce8d9cd2969b4aad5c7daa6399";
-      sha256 = "sha256-whALKP9MetyMJSmXVf0WYd9dP8AGa+ADAB8cmIqt4HU=";
+      rev = version;
+      hash = "sha256-Fq3tZje6QoMskxqWd61OstgI9Sj25yijf8S3LiTJuYc=";
     };
 
     enableParallelBuilding = true;
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index efcdce15bf028..8e051b798f33a 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -39,7 +39,13 @@ stdenv.mkDerivation rec {
     hash = "sha256-zTKO3qyS9qZl3p8yPJO3Eq8YWLwuDYjz9xAEaUcKG4o=";
   };
 
-  patches = lib.optionals stdenv.hostPlatform.isMusl [
+  patches = [
+    # https://lists.gnu.org/archive/html/bug-coreutils/2024-05/msg00037.html
+    # This is not precisely the patch provided - this is a diff of the Makefile.in
+    # after the patch was applied and autoreconf was run, since adding autoreconf
+    # here causes infinite recursion.
+    ./fix-mix-flags-deps-libintl.patch
+  ] ++ lib.optionals stdenv.hostPlatform.isMusl [
     # https://lists.gnu.org/archive/html/bug-coreutils/2024-03/msg00089.html
     ./fix-test-failure-musl.patch
   ];
@@ -54,6 +60,9 @@ stdenv.mkDerivation rec {
     sed '2i echo Skipping rm deep-2 test && exit 77' -i ./tests/rm/deep-2.sh
     sed '2i echo Skipping du long-from-unreadable test && exit 77' -i ./tests/du/long-from-unreadable.sh
 
+    # The test tends to fail on cephfs
+    sed '2i echo Skipping df total-verify test && exit 77' -i ./tests/df/total-verify.sh
+
     # Some target platforms, especially when building inside a container have
     # issues with the inotify test.
     sed '2i echo Skipping tail inotify dir recreate test && exit 77' -i ./tests/tail/inotify-dir-recreate.sh
@@ -96,13 +105,12 @@ stdenv.mkDerivation rec {
   separateDebugInfo = true;
 
   nativeBuildInputs = [
-    # autoreconfHook is due to patch, normally only needed for cygwin
-    autoreconfHook
     perl
     xz.bin
   ]
   ++ optionals stdenv.hostPlatform.isCygwin [
     # due to patch
+    autoreconfHook
     texinfo
   ];
 
@@ -175,7 +183,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://www.gnu.org/software/coreutils/";
-    description = "The GNU Core Utilities";
+    description = "GNU Core Utilities";
     longDescription = ''
       The GNU Core Utilities are the basic file, shell and text manipulation
       utilities of the GNU operating system. These are the core utilities which
diff --git a/pkgs/tools/misc/coreutils/fix-mix-flags-deps-libintl.patch b/pkgs/tools/misc/coreutils/fix-mix-flags-deps-libintl.patch
new file mode 100644
index 0000000000000..f6002b55faf69
--- /dev/null
+++ b/pkgs/tools/misc/coreutils/fix-mix-flags-deps-libintl.patch
@@ -0,0 +1,49 @@
+--- a/Makefile.in	2024-05-21 17:03:50.488979000 -0700
++++ b/Makefile.in	2024-05-21 17:18:56.243091000 -0700
+@@ -692,8 +692,6 @@
+ @USE_PCLMUL_CRC32_TRUE@am__append_211 = $(cksum_pclmul_ldadd)
+ @USE_AVX2_WC_LINECOUNT_TRUE@am__append_212 = src/libwc_avx2.a
+ @USE_AVX2_WC_LINECOUNT_TRUE@am__append_213 = $(wc_avx2_ldadd)
+-@SINGLE_BINARY_FALSE@src_coreutils_DEPENDENCIES =  \
+-@SINGLE_BINARY_FALSE@	$(am__DEPENDENCIES_2)
+ # Command arch
+ # Command hostname
+ # Command chroot
+@@ -2825,6 +2823,12 @@
+ nodist_src_coreutils_OBJECTS =
+ src_coreutils_OBJECTS = $(am_src_coreutils_OBJECTS) \
+ 	$(nodist_src_coreutils_OBJECTS)
++@SINGLE_BINARY_FALSE@src_coreutils_DEPENDENCIES =  \
++@SINGLE_BINARY_FALSE@	$(am__DEPENDENCIES_2)
++@SINGLE_BINARY_TRUE@src_coreutils_DEPENDENCIES =  \
++@SINGLE_BINARY_TRUE@	$(am__DEPENDENCIES_1) \
++@SINGLE_BINARY_TRUE@	$(am__DEPENDENCIES_2) \
++@SINGLE_BINARY_TRUE@	$(am__DEPENDENCIES_1)
+ src_coreutils_LINK = $(CCLD) $(src_coreutils_CFLAGS) $(CFLAGS) \
+ 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+ am__objects_221 = src/copy.$(OBJEXT) src/cp-hash.$(OBJEXT) \
+@@ -7492,7 +7496,12 @@
+ src_libstdbuf_so_CFLAGS = -fPIC $(AM_CFLAGS)
+ # Single binary dependencies
+ @SINGLE_BINARY_TRUE@src_coreutils_CFLAGS = -DSINGLE_BINARY $(AM_CFLAGS)
+-@SINGLE_BINARY_TRUE@src_coreutils_DEPENDENCIES = $(LDADD) $(single_binary_deps)
++
++# Creates symlinks or shebangs to the installed programs when building
++# coreutils single binary.
++@SINGLE_BINARY_TRUE@EXTRA_src_coreutils_DEPENDENCIES =  \
++@SINGLE_BINARY_TRUE@	$(single_binary_deps) \
++@SINGLE_BINARY_TRUE@	src/coreutils_$(single_binary_install_type)
+ @SINGLE_BINARY_TRUE@src_libsinglebin_dir_a_DEPENDENCIES = src/libsinglebin_ls.a
+ @SINGLE_BINARY_TRUE@src_libsinglebin_vdir_a_DEPENDENCIES = src/libsinglebin_ls.a
+ @SINGLE_BINARY_TRUE@src_libsinglebin_arch_a_DEPENDENCIES = src/libsinglebin_uname.a
+@@ -7880,10 +7889,6 @@
+ @SINGLE_BINARY_TRUE@src_libsinglebin_yes_a_DEPENDENCIES = $(src_yes_DEPENDENCIES)
+ @SINGLE_BINARY_TRUE@src_libsinglebin_yes_a_CFLAGS = "-Dmain=single_binary_main_yes (int, char **);  int single_binary_main_yes"  -Dusage=_usage_yes $(src_coreutils_CFLAGS)
+ 
+-# Creates symlinks or shebangs to the installed programs when building
+-# coreutils single binary.
+-@SINGLE_BINARY_TRUE@EXTRA_src_coreutils_DEPENDENCIES = src/coreutils_$(single_binary_install_type)
+-
+ # false exits nonzero even with --help or --version.
+ # test doesn't support --help or --version.
+ # Tell automake to exempt then from that installcheck test.
diff --git a/pkgs/tools/misc/cowsay/default.nix b/pkgs/tools/misc/cowsay/default.nix
index 874299905e079..b0910da7b067f 100644
--- a/pkgs/tools/misc/cowsay/default.nix
+++ b/pkgs/tools/misc/cowsay/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
   };
 
   meta = with lib; {
-    description = "A program which generates ASCII pictures of a cow with a message";
+    description = "Program which generates ASCII pictures of a cow with a message";
     homepage = "https://cowsay.diamonds";
     changelog = "https://github.com/cowsay-org/cowsay/releases/tag/v${finalAttrs.version}";
     license = licenses.gpl3Only;
diff --git a/pkgs/tools/misc/crudini/default.nix b/pkgs/tools/misc/crudini/default.nix
index ea77f4db163ec..ec3cad6e87476 100644
--- a/pkgs/tools/misc/crudini/default.nix
+++ b/pkgs/tools/misc/crudini/default.nix
@@ -1,6 +1,5 @@
 { lib
 , fetchFromGitHub
-, fetchpatch
 , python3Packages
 , help2man
 , installShellFiles
@@ -51,7 +50,7 @@ python3Packages.buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = "A utility for manipulating ini files ";
+    description = "Utility for manipulating ini files ";
     homepage = "https://www.pixelbeat.org/programs/crudini/";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ peterhoeg ];
diff --git a/pkgs/tools/misc/csvs-to-sqlite/default.nix b/pkgs/tools/misc/csvs-to-sqlite/default.nix
index 28537e9631ea3..2ed4af000f560 100644
--- a/pkgs/tools/misc/csvs-to-sqlite/default.nix
+++ b/pkgs/tools/misc/csvs-to-sqlite/default.nix
@@ -27,7 +27,6 @@ with python3.pkgs; buildPythonApplication rec {
   ];
 
   nativeBuildInputs = [
-    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/misc/cunit/default.nix b/pkgs/tools/misc/cunit/default.nix
index 77af6497a573b..5b6f1de61b161 100644
--- a/pkgs/tools/misc/cunit/default.nix
+++ b/pkgs/tools/misc/cunit/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    description = "A Unit Testing Framework for C";
+    description = "Unit Testing Framework for C";
 
     longDescription = ''
       CUnit is a lightweight system for writing, administering, and running
diff --git a/pkgs/tools/misc/cutecom/default.nix b/pkgs/tools/misc/cutecom/default.nix
index 490d33b123d84..e36bd288b2ae1 100644
--- a/pkgs/tools/misc/cutecom/default.nix
+++ b/pkgs/tools/misc/cutecom/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A graphical serial terminal";
+    description = "Graphical serial terminal";
     homepage = "https://gitlab.com/cutecom/cutecom/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ bennofs ];
diff --git a/pkgs/tools/misc/cyberchef/default.nix b/pkgs/tools/misc/cyberchef/default.nix
index ba1a609c96825..c8e57c208982d 100644
--- a/pkgs/tools/misc/cyberchef/default.nix
+++ b/pkgs/tools/misc/cyberchef/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cyberchef";
-  version = "10.18.3";
+  version = "10.19.0";
 
   src = fetchzip {
     url = "https://github.com/gchq/CyberChef/releases/download/v${version}/CyberChef_v${version}.zip";
-    sha256 = "sha256-HLYcKF+DCj5QA+0ZJwRpC+iTN5z/S249UnQirNJMLF4=";
+    sha256 = "sha256-jhT1HcAXNRBNgZcRv6yYZ8xTIHo5EUe71KpAgUx8FCU=";
     stripRoot = false;
   };
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis";
+    description = "Cyber Swiss Army Knife for encryption, encoding, compression and data analysis";
     homepage = "https://gchq.github.io/CyberChef";
     changelog = "https://github.com/gchq/CyberChef/blob/v${version}/CHANGELOG.md";
     maintainers = with maintainers; [ sebastianblunt ];
diff --git a/pkgs/tools/misc/cyclonedx-python/default.nix b/pkgs/tools/misc/cyclonedx-python/default.nix
index fa5be39000af3..ba6d137fa5b7d 100644
--- a/pkgs/tools/misc/cyclonedx-python/default.nix
+++ b/pkgs/tools/misc/cyclonedx-python/default.nix
@@ -36,7 +36,6 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = with py.pkgs; [
     poetry-core
-    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = with py.pkgs; [
diff --git a/pkgs/tools/misc/dashing/default.nix b/pkgs/tools/misc/dashing/default.nix
index c7ec598fe309e..f2f9353f403a6 100644
--- a/pkgs/tools/misc/dashing/default.nix
+++ b/pkgs/tools/misc/dashing/default.nix
@@ -20,7 +20,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A Dash Generator Script for Any HTML";
+    description = "Dash Generator Script for Any HTML";
     homepage = "https://github.com/technosophos/dashing";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/tools/misc/datamash/default.nix b/pkgs/tools/misc/datamash/default.nix
index 15cd8234a5734..6ee082c5151da 100644
--- a/pkgs/tools/misc/datamash/default.nix
+++ b/pkgs/tools/misc/datamash/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "A command-line program which performs basic numeric,textual and statistical operations on input textual data files";
+    description = "Command-line program which performs basic numeric,textual and statistical operations on input textual data files";
     homepage = "https://www.gnu.org/software/datamash/";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/datefmt/default.nix b/pkgs/tools/misc/datefmt/default.nix
index 0b2dd7fae270e..36fdf9fcfebbc 100644
--- a/pkgs/tools/misc/datefmt/default.nix
+++ b/pkgs/tools/misc/datefmt/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://jb55.com/datefmt";
-    description = "A tool that formats timestamps in text streams";
+    description = "Tool that formats timestamps in text streams";
     platforms = platforms.all;
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ jb55 ];
diff --git a/pkgs/tools/misc/dateutils/default.nix b/pkgs/tools/misc/dateutils/default.nix
index 60219070d96a0..fa042b55ad522 100644
--- a/pkgs/tools/misc/dateutils/default.nix
+++ b/pkgs/tools/misc/dateutils/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    description = "A bunch of tools that revolve around fiddling with dates and times in the command line";
+    description = "Bunch of tools that revolve around fiddling with dates and times in the command line";
     homepage = "http://www.fresse.org/dateutils/";
     license = licenses.bsd3;
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/ddccontrol/default.nix b/pkgs/tools/misc/ddccontrol/default.nix
index 630b06bcfb3ce..5886d2e18318c 100644
--- a/pkgs/tools/misc/ddccontrol/default.nix
+++ b/pkgs/tools/misc/ddccontrol/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A program used to control monitor parameters by software";
+    description = "Program used to control monitor parameters by software";
     homepage = "https://github.com/ddccontrol/ddccontrol";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/didyoumean/default.nix b/pkgs/tools/misc/didyoumean/default.nix
index d7671cf08bbe7..c3a04d289d559 100644
--- a/pkgs/tools/misc/didyoumean/default.nix
+++ b/pkgs/tools/misc/didyoumean/default.nix
@@ -46,7 +46,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A CLI spelling corrector for when you're unsure";
+    description = "CLI spelling corrector for when you're unsure";
     homepage = "https://github.com/hisbaan/didyoumean";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ evanjs wegank ];
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index c5ca89f54841d..89af942966a6b 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -96,11 +96,11 @@ in
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python.pkgs.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "265";
+  version = "269";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    hash = "sha256-YE81R8lTOM3wmv/GIaIBqUq2O6UvnUaHjuXZ00yDU8U=";
+    hash = "sha256-L2UygmcTXgcc9l8ALpOS52+2dhsO42733nlc1Hzl8L8=";
   };
 
   outputs = [
@@ -108,6 +108,9 @@ python.pkgs.buildPythonApplication rec {
     "man"
   ];
 
+  # https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/378
+  sourceRoot = "./-269";
+
   patches = [
     ./ignore_links.patch
     ./openssh-no-dsa.patch # https://salsa.debian.org/reproducible-builds/diffoscope/-/merge_requests/139
diff --git a/pkgs/tools/misc/direnv/default.nix b/pkgs/tools/misc/direnv/default.nix
index 4bb9d9bacaff2..033f73249f0b9 100644
--- a/pkgs/tools/misc/direnv/default.nix
+++ b/pkgs/tools/misc/direnv/default.nix
@@ -35,7 +35,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "A shell extension that manages your environment";
+    description = "Shell extension that manages your environment";
     longDescription = ''
       Once hooked into your shell direnv is looking for an .envrc file in your
       current directory before every prompt.
diff --git a/pkgs/tools/misc/discocss/default.nix b/pkgs/tools/misc/discocss/default.nix
index b930338c29f4d..102b75aee71f3 100644
--- a/pkgs/tools/misc/discocss/default.nix
+++ b/pkgs/tools/misc/discocss/default.nix
@@ -32,7 +32,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A tiny Discord css-injector";
+    description = "Tiny Discord css-injector";
     changelog = "https://github.com/mlvzk/discocss/releases/tag/v${version}";
     homepage = "https://github.com/mlvzk/discocss";
     license = licenses.mpl20;
diff --git a/pkgs/tools/misc/diskus/default.nix b/pkgs/tools/misc/diskus/default.nix
index cfbcfdcca6ebb..b63532216a998 100644
--- a/pkgs/tools/misc/diskus/default.nix
+++ b/pkgs/tools/misc/diskus/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-qNXv6Z9sKl7rol78UTOSRFML/JCGfOJMGOdt49KHD50=";
 
   meta = with lib; {
-    description = "A minimal, fast alternative to 'du -sh'";
+    description = "Minimal, fast alternative to 'du -sh'";
     homepage = "https://github.com/sharkdp/diskus";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = [ maintainers.fuerbringer ];
diff --git a/pkgs/tools/misc/dmg2img/default.nix b/pkgs/tools/misc/dmg2img/default.nix
index 7f9c41cda32c0..8b1e997ff7367 100644
--- a/pkgs/tools/misc/dmg2img/default.nix
+++ b/pkgs/tools/misc/dmg2img/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     platforms = lib.platforms.unix;
-    description = "An Apple's compressed dmg to standard (hfsplus) image disk file convert tool";
+    description = "Apple's compressed dmg to standard (hfsplus) image disk file convert tool";
     license = lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/tools/misc/dotter/default.nix b/pkgs/tools/misc/dotter/default.nix
index bcabb2ef8aac6..ec8232ffc0fd6 100644
--- a/pkgs/tools/misc/dotter/default.nix
+++ b/pkgs/tools/misc/dotter/default.nix
@@ -5,31 +5,40 @@
 , rustPlatform
 , CoreServices
 , which
+, installShellFiles
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "dotter";
-  version = "0.13.1";
+  version = "0.13.2";
 
   src = fetchFromGitHub {
     owner = "SuperCuber";
     repo = "dotter";
     rev = "v${version}";
-    hash = "sha256-Xmdg5ITKWhL5AxTS7z4f9ecigQpBqna+kZclA+mDJhA=";
+    hash = "sha256-IV3wvmRiRtzu5UhIlL1BnL8hy+fQHQA9Mfiy6dIsjdw=";
   };
 
-  cargoHash = "sha256-W8khm9E5f/PROVJDAUr57nAiTEXV4a0fepzV00HoT8c=";
+  cargoHash = "sha256-jNHq1cH3I29b6LIoO2ApLDTYzFGGSua1lACvYCBpbQQ=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
-  nativeCheckInputs = [ which ];
+  nativeCheckInputs = [ which installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion --cmd dotter \
+      --bash <($out/bin/dotter gen-completions --shell bash) \
+      --fish <($out/bin/dotter gen-completions --shell fish) \
+      --zsh <($out/bin/dotter gen-completions --shell zsh)
+  '';
 
   passthru = {
     updateScript = nix-update-script { };
   };
 
+
   meta = with lib; {
-    description = "A dotfile manager and templater written in rust 🦀";
+    description = "Dotfile manager and templater written in rust 🦀";
     homepage = "https://github.com/SuperCuber/dotter";
     license = licenses.unlicense;
     maintainers = with maintainers; [ linsui ];
diff --git a/pkgs/tools/misc/dtach/default.nix b/pkgs/tools/misc/dtach/default.nix
index 226c7335f2645..4629715d434da 100644
--- a/pkgs/tools/misc/dtach/default.nix
+++ b/pkgs/tools/misc/dtach/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://dtach.sourceforge.net/";
-    description = "A program that emulates the detach feature of screen";
+    description = "Program that emulates the detach feature of screen";
 
     longDescription = ''
       dtach is a tiny program that emulates the detach feature of
diff --git a/pkgs/tools/misc/dtool/default.nix b/pkgs/tools/misc/dtool/default.nix
index 9cf22a9da39f3..8b4349dbb59ac 100644
--- a/pkgs/tools/misc/dtool/default.nix
+++ b/pkgs/tools/misc/dtool/default.nix
@@ -16,16 +16,18 @@ rustPlatform.buildRustPackage rec {
     hash = "sha256-m4H+ANwEbK6vGW3oIVZqnqvMiAKxNJf2TLIGh/G6AU4=";
   };
 
-  cargoHash = "sha256-r8r3f4yKMQgjtB3j4qE7cqQL18nIqAGPO5RsFErqh2c=";
+  cargoHash = "sha256-o5Xvc0tnoUgfp5k7EqVuEH9Zyo3C+A+mVqPhMtZCYKw=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
   ];
+  # FIXME: remove patch when upstream version of rustc-serialize is updated
+  cargoPatches = [ ./rustc-serialize-fix.patch ];
 
   checkType = "debug";
 
   meta = with lib; {
-    description = "A command-line tool collection to assist development written in RUST";
+    description = "Command-line tool collection to assist development written in RUST";
     homepage = "https://github.com/guoxbin/dtool";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ linuxissuper ];
diff --git a/pkgs/tools/misc/dtool/rustc-serialize-fix.patch b/pkgs/tools/misc/dtool/rustc-serialize-fix.patch
new file mode 100644
index 0000000000000..8d0327e8a4578
--- /dev/null
+++ b/pkgs/tools/misc/dtool/rustc-serialize-fix.patch
@@ -0,0 +1,16 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index b1cc23695b30..ffdeb1c90618 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -996,9 +996,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "rustc-serialize"
+-version = "0.3.24"
++version = "0.3.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
++checksum = "fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401"
+ 
+ [[package]]
+ name = "rustix"
diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix
index 22ae9a7a64310..ae79aa4985780 100644
--- a/pkgs/tools/misc/dua/default.nix
+++ b/pkgs/tools/misc/dua/default.nix
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A tool to conveniently learn about the disk usage of directories";
+    description = "Tool to conveniently learn about the disk usage of directories";
     homepage = "https://github.com/Byron/dua-cli";
     changelog = "https://github.com/Byron/dua-cli/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
diff --git a/pkgs/tools/misc/dutree/default.nix b/pkgs/tools/misc/dutree/default.nix
index fe47997296e87..f9fc1afa18d2b 100644
--- a/pkgs/tools/misc/dutree/default.nix
+++ b/pkgs/tools/misc/dutree/default.nix
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "0gg1w0xx36aswfm0y53nqwwz7zds25ysmklbrc8v2r91j74bhkzw";
 
   meta = with lib; {
-    description = "A tool to analyze file system usage written in Rust";
+    description = "Tool to analyze file system usage written in Rust";
     homepage = "https://github.com/nachoparker/dutree";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/tools/misc/dwt1-shell-color-scripts/default.nix b/pkgs/tools/misc/dwt1-shell-color-scripts/default.nix
index e7c7287b5311a..25e5d44752307 100644
--- a/pkgs/tools/misc/dwt1-shell-color-scripts/default.nix
+++ b/pkgs/tools/misc/dwt1-shell-color-scripts/default.nix
@@ -44,7 +44,7 @@ stdenvNoCC.mkDerivation {
 
   meta = {
     homepage = "https://gitlab.com/dwt1/shell-color-scripts";
-    description = "A collection of shell color scripts collected by dt (Derek Taylor)";
+    description = "Collection of shell color scripts collected by dt (Derek Taylor)";
     license = with lib.licenses; [ mit ];
     maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.all;
diff --git a/pkgs/tools/misc/easeprobe/default.nix b/pkgs/tools/misc/easeprobe/default.nix
index 70181956339c0..314149003a15c 100644
--- a/pkgs/tools/misc/easeprobe/default.nix
+++ b/pkgs/tools/misc/easeprobe/default.nix
@@ -29,7 +29,7 @@ buildGoModule rec {
   ];
 
   meta = with lib; {
-    description = "A simple, standalone, and lightweight tool that can do health/status checking, written in Go";
+    description = "Simple, standalone, and lightweight tool that can do health/status checking, written in Go";
     homepage = "https://github.com/megaease/easeprobe";
     license = licenses.asl20;
     maintainers = with maintainers; [ dit7ya ];
diff --git a/pkgs/tools/misc/edid-decode/default.nix b/pkgs/tools/misc/edid-decode/default.nix
index f6bcff31a00f0..24c4266424a72 100644
--- a/pkgs/tools/misc/edid-decode/default.nix
+++ b/pkgs/tools/misc/edid-decode/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation {
   pname = "edid-decode";
-  version = "unstable-2024-04-02";
+  version = "0-unstable-2024-04-02";
 
   outputs = [
     "out"
diff --git a/pkgs/tools/misc/eget/default.nix b/pkgs/tools/misc/eget/default.nix
index 1bf2b7f10110e..89aa759741ae8 100644
--- a/pkgs/tools/misc/eget/default.nix
+++ b/pkgs/tools/misc/eget/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "eget";
-  version = "1.3.3";
+  version = "1.3.4";
 
   src = fetchFromGitHub {
     owner = "zyedidia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OOqfZ2uS3sYBH9xrlQN1iSNdNE9RGi6qiDXfPgf2aB0=";
+    sha256 = "sha256-jhVUYyp6t5LleVotQQme07IJVdVnIOVFFtKEmzt8e2k=";
   };
 
   vendorHash = "sha256-A3lZtV0pXh4KxINl413xGbw2Pz7OzvIQiFSRubH428c=";
diff --git a/pkgs/tools/misc/eludris/default.nix b/pkgs/tools/misc/eludris/default.nix
index e3fc67fcacb0e..e0762d179ec08 100644
--- a/pkgs/tools/misc/eludris/default.nix
+++ b/pkgs/tools/misc/eludris/default.nix
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ pkg-config ];
 
   meta = with lib; {
-    description = "A simple CLI to help you with setting up and managing your Eludris instance";
+    description = "Simple CLI to help you with setting up and managing your Eludris instance";
     mainProgram = "eludris";
     homepage = "https://github.com/eludris/eludris/tree/main/cli";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/empty/default.nix b/pkgs/tools/misc/empty/default.nix
index 29dfa606dd44e..cfe8ed67cd94e 100644
--- a/pkgs/tools/misc/empty/default.nix
+++ b/pkgs/tools/misc/empty/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://empty.sourceforge.net";
-    description = "A simple tool to automate interactive terminal applications";
+    description = "Simple tool to automate interactive terminal applications";
     license = licenses.bsd3;
     platforms = platforms.all;
     longDescription = ''
diff --git a/pkgs/tools/misc/encpipe/default.nix b/pkgs/tools/misc/encpipe/default.nix
index f3ab870b0f05e..c48fa9d162f43 100644
--- a/pkgs/tools/misc/encpipe/default.nix
+++ b/pkgs/tools/misc/encpipe/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "An encryption tool";
+    description = "Encryption tool";
     homepage = "https://github.com/jedisct1/encpipe";
     license = licenses.isc;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/tools/misc/esphome/dashboard.nix b/pkgs/tools/misc/esphome/dashboard.nix
index 6d72dc40ca0da..d8428e365fcd1 100644
--- a/pkgs/tools/misc/esphome/dashboard.nix
+++ b/pkgs/tools/misc/esphome/dashboard.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "esphome-dashboard";
-  version = "20240319.0";
+  version = "20240412.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jiEXZWw8A4RcsRbypFpWkt8O3Ib1cNcOQO1zHt96aQU=";
+    hash = "sha256-MT/EpZ8kDKHhJGF4njdh6Q+xe8GF4FYxaoIighSguiQ=";
   };
 
   # no tests
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index 972ac63e83dce..0f4b3657a7a44 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -19,21 +19,20 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "2024.3.2";
+  version = "2024.5.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-WeTajznndw01jXIEnOiSEy9psLuMeAC6j7UmHg0+Fys=";
+    hash = "sha256-UxNMHRQLrViK9ssFc0vHA/zqNw5yH8E6n+OAnq6vJdQ=";
   };
 
   nativeBuildInputs = with python.pkgs; [
     setuptools
     argcomplete
     installShellFiles
-    pythonRelaxDepsHook
   ];
 
   pythonRelaxDeps = true;
@@ -41,6 +40,12 @@ python.pkgs.buildPythonApplication rec {
   postPatch = ''
     # drop coverage testing
     sed -i '/--cov/d' pytest.ini
+
+    # ensure component dependencies are available
+    cat requirements_optional.txt >> requirements.txt
+    # relax strict runtime version check
+    substituteInPlace esphome/components/font/__init__.py \
+      --replace-fail "10.2.0" "${python.pkgs.pillow.version}"
   '';
 
   # Remove esptool and platformio from requirements
@@ -55,6 +60,7 @@ python.pkgs.buildPythonApplication rec {
   propagatedBuildInputs = with python.pkgs; [
     aioesphomeapi
     argcomplete
+    cairosvg
     click
     colorama
     cryptography
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index eb1911170beb6..f0742e8bd427b 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 , libmnl
 , pkg-config
 , writeScript
@@ -9,23 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ethtool";
-  version = "6.1";
+  version = "6.9";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-xB/Igf+lpAQy0t2CnrRMZKSd7kgucWuqz5Jixk2qj5A=";
+    sha256 = "sha256-pxsDVAEGYcXPF4vGBu1Q/LkYBc8Yl60OsoGDh6X9DNk=";
   };
 
-  patches = [
-    # Patch that fixes build with musl libc
-    # NOTE remove on next release, since it is applied in upstream
-    (fetchpatch {
-      name = "Fix-build-with-musl-libc.patch";
-      url = "https://git.kernel.org/pub/scm/network/ethtool/ethtool.git/patch/marvell.c?id=41be533331fc3c6b711dbe532405782d3b8be5d1";
-      sha256 = "sha256-CItvt/eeNJkr1sOzaaHZhAnaybDutL9cT2O6XwQll+M=";
-    })
-  ];
-
   nativeBuildInputs = [
     pkg-config
   ];
diff --git a/pkgs/tools/misc/ets/default.nix b/pkgs/tools/misc/ets/default.nix
index 7d9103e7b3508..ad81513a89a98 100644
--- a/pkgs/tools/misc/ets/default.nix
+++ b/pkgs/tools/misc/ets/default.nix
@@ -1,23 +1,17 @@
-{ lib, buildGoModule, fetchFromGitHub, fetchpatch, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
   pname = "ets";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
-    owner = "zmwangx";
-    repo = pname;
+    owner = "gdubicki";
+    repo = "ets";
     rev = "v${version}";
-    sha256 = "sha256-XWIDo5msTMTLr60x1R9cwsiZIDG6G+uHWx8idt4F2iA=";
+    hash = "sha256-PowJ3ig8TfGx9P/PJPVBL8GsMh+gGZVt9l4Rf7Mqk00=";
   };
 
-  # https://github.com/zmwangx/ets/pull/18/
-  patches = [ (fetchpatch {
-    url = "https://github.com/zmwangx/ets/commit/600ec17a9c86ca63cd022d00439cdc4978e2afa9.patch";
-    sha256 = "sha256-SGCISHkWNFubgKkQYx8Vf5/fknNDfPNYkSuw1mMhZaE=";
-  }) ];
-
-  vendorHash = "sha256-+8dXfqOu8XTw2uEx3GAynQSHtzifejZtddr1CdxrupA=";
+  vendorHash = "sha256-XHgdiXdp9aNEAc/Apvb64ExnpywjddWOw1scNKy+ico=";
 
   ldflags = [ "-s" "-w" "-X main.version=v${version}-nixpkgs" ];
 
@@ -35,7 +29,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Command output timestamper";
-    homepage = "https://github.com/zmwangx/ets/";
+    homepage = "https://github.com/gdubicki/ets/";
     license = licenses.mit;
     maintainers = with maintainers; [ cameronfyfe ];
     mainProgram = "ets";
diff --git a/pkgs/tools/misc/eva/default.nix b/pkgs/tools/misc/eva/default.nix
index b15957a909a88..3d07baeb59036 100644
--- a/pkgs/tools/misc/eva/default.nix
+++ b/pkgs/tools/misc/eva/default.nix
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-gnym2sedyzQzubOtj64Yoh+sKT+sa60w/Z72hby7Pms=";
 
   meta = with lib; {
-    description = "A calculator REPL, similar to bc";
+    description = "Calculator REPL, similar to bc";
     homepage = "https://github.com/NerdyPepper/eva";
     license = licenses.mit;
     maintainers = with maintainers; [ nrdxp ma27 figsoda ];
diff --git a/pkgs/tools/misc/expect/0004-enable-cross-compilation.patch b/pkgs/tools/misc/expect/0004-enable-cross-compilation.patch
new file mode 100644
index 0000000000000..c09623d292b2e
--- /dev/null
+++ b/pkgs/tools/misc/expect/0004-enable-cross-compilation.patch
@@ -0,0 +1,295 @@
+From: Andrew Ruder <andrew.ruder@elecsyscorp.com>
+Subject: [PATCH] enable cross compilation for expect
+
+This patch was created by running ./configure on a modern Linux machine
+and inserting the results into the cross compilation section of
+each AC_MSG_CHECKING that bombed out with an error.
+
+Signed-off-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
+
+--
+
+The original patch, and description above, is originally from
+https://github.com/buildroot/buildroot/blob/master/package/expect/0001-enable-cross-compilation.patch
+
+This patch has been further modified to not hard-code Linux assumptions.
+
+---
+
+Index: expect-5.45/configure.in
+===================================================================
+--- expect-5.45.orig/configure.in	2013-11-14 07:59:58.732100595 -0600
++++ expect-5.45/configure.in	2013-11-14 07:59:58.732100595 -0600
+@@ -6,10 +6,12 @@
+ AC_INIT([expect],[5.45.4])
+ 
+ TEA_INIT([3.9])
+ 
+ AC_CONFIG_AUX_DIR(tclconfig)
++
++AC_LANG([C])
+ 
+ #--------------------------------------------------------------------
+ # Configure script for package 'Expect'.
+ # TEA compliant.
+ #--------------------------------------------------------------------
+@@ -465,26 +467,20 @@
+ # Some systems only define WNOHANG if _POSIX_SOURCE is defined
+ # The following merely tests that sys/wait.h can be included
+ # and if so that WNOHANG is not defined.  The only place I've
+ # seen this is ISC.
+ AC_MSG_CHECKING([if WNOHANG requires _POSIX_SOURCE])
+-AC_TRY_RUN([
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ #include <sys/wait.h>
+-int
+-main() {
+ #ifndef WNOHANG
+-	return 0;
+-#else
+-	return 1;
++#  error "WNOHANG requires _POSIX_SOURCE to be defined"
+ #endif
+-}],
++]])],
+ 	AC_MSG_RESULT(yes)
+ 	AC_DEFINE(WNOHANG_REQUIRES_POSIX_SOURCE)
+ ,
+ 	AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+ )
+ 
+ AC_MSG_CHECKING([if any value exists for WNOHANG])
+ rm -rf wnohang
+ AC_TRY_RUN([
+@@ -504,11 +501,12 @@
+ 	rm -f wnohang
+ ,
+ 	AC_MSG_RESULT(no)
+ 	AC_DEFINE(WNOHANG_BACKUP_VALUE, 1)
+ ,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
++	AC_MSG_RESULT(yes)
++	AC_DEFINE(WNOHANG_BACKUP_VALUE, 1)
+ )
+ 
+ #
+ # check how signals work
+ #
+@@ -572,11 +570,11 @@
+ }],
+ 	AC_MSG_RESULT(yes)
+ 	AC_DEFINE(REARM_SIG)
+ ,
+ 	AC_MSG_RESULT(no)
+-, AC_MSG_WARN([Expect can't be cross compiled])
++, AC_MSG_RESULT(no)
+ )
+ 
+ # HPUX7 has trouble with the big cat so split it
+ # Owen Rees <rtor@ansa.co.uk> 29Mar93 
+ SEDDEFS="${SEDDEFS}CONFEOF
+@@ -710,25 +708,19 @@
+     AC_DEFINE(POSIX)
+ fi
+ 
+ # first check for the pure bsd
+ AC_MSG_CHECKING([for struct sgttyb])
+-AC_TRY_RUN([
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ #include <sgtty.h>
+-int
+-main()
+-{
+-  struct sgttyb tmp;
+-  return 0;
+-}],
++static struct sgttyb tmp;
++]])],
+         AC_MSG_RESULT(yes)
+         AC_DEFINE(HAVE_SGTTYB)
+         PTY_TYPE=sgttyb
+ ,
+         AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+ )
+ 
+ # mach systems have include files for unimplemented features
+ # so avoid doing following test on those systems
+ if test $mach -eq 0 ; then
+@@ -735,116 +728,88 @@
+   # next check for the older style ttys
+   # note that if we detect termio.h (only), we still set PTY_TYPE=termios
+   # since that just controls which of pty_XXXX.c file is use and
+   # pty_termios.c is set up to handle pty_termio.
+   AC_MSG_CHECKING([for struct termio])
+-  AC_TRY_RUN([#include <termio.h>
+-  int
+-  main()
+-  {
+-    struct termio tmp;
+-    return 0;
+-  }],
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
++#include <termio.h>
++static struct termio tmp;
++]])],
+         AC_DEFINE(HAVE_TERMIO)
+         PTY_TYPE=termios
+         AC_MSG_RESULT(yes)
+ ,
+         AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+ )
+ 
+   # now check for the new style ttys (not yet posix)
+   AC_MSG_CHECKING([for struct termios])
+-  AC_TRY_RUN([
+-  /* including termios.h on Solaris 5.6 fails unless inttypes.h included */
+-#  ifdef HAVE_INTTYPES_H
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
++/* including termios.h on Solaris 5.6 fails unless inttypes.h included */
++#ifdef HAVE_INTTYPES_H
+ #  include <inttypes.h>
+-#  endif
+-#  include <termios.h>
+-  int
+-  main()
+-  {
+-    struct termios tmp;
+-    return 0;
+-  }],
++#endif
++#include <termios.h>
++static struct termios tmp;
++]])],
+         AC_DEFINE(HAVE_TERMIOS)
+         PTY_TYPE=termios
+         AC_MSG_RESULT(yes)
+   ,
+         AC_MSG_RESULT(no)
+-  ,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+   )
+ fi
+ 
+ AC_MSG_CHECKING([if TCGETS or TCGETA in termios.h])
+-AC_TRY_RUN([
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ /* including termios.h on Solaris 5.6 fails unless inttypes.h included */
+ #ifdef HAVE_INTTYPES_H
+-#include <inttypes.h>
++#  include <inttypes.h>
+ #endif
+ #include <termios.h>
+-int
+-main() {
+-#if defined(TCGETS) || defined(TCGETA)
+-	return 0;
+-#else
+-	return 1;
++#
++#if !(defined(TCGETS) || defined(TCGETA))
++#  error "missing both of TCGETS and TCGETA"
+ #endif
+-}],
++]])],
+ 	AC_DEFINE(HAVE_TCGETS_OR_TCGETA_IN_TERMIOS_H)
+ 	AC_MSG_RESULT(yes)
+ ,
+ 	AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+ )
+ 
+ AC_MSG_CHECKING([if TIOCGWINSZ in termios.h])
+-AC_TRY_RUN([
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ /* including termios.h on Solaris 5.6 fails unless inttypes.h included */
+ #ifdef HAVE_INTTYPES_H
+-#include <inttypes.h>
++#  include <inttypes.h>
+ #endif
+ #include <termios.h>
+-int
+-main() {
+-#ifdef TIOCGWINSZ
+-	return 0;
+-#else
+-	return 1;
++
++#ifndef TIOCGWINSZ
++#  error "missing TIOCGWINSZ"
+ #endif
+-}],
++]])],
+ 	AC_DEFINE(HAVE_TIOCGWINSZ_IN_TERMIOS_H)
+ 	AC_MSG_RESULT(yes)
+ ,
+ 	AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+ )
+ 
+ # finally check for Cray style ttys
+ AC_MSG_CHECKING([for Cray-style ptys])
+ SETUID=":"
+-AC_TRY_RUN([
+-int
+-main(){
+-#ifdef CRAY
+-	return 0;
+-#else
+-	return 1;
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
++#ifndef CRAY
++#  error "CRAY is not defined"
+ #endif
+-}
+-],
++]])],
+ 	PTY_TYPE=unicos
+ 	SETUID="chmod u+s"
+ 	AC_MSG_RESULT(yes)
+ ,
+ 	AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+ )
+ 
+ #
+ # Check for select and/or poll. If both exist, we prefer select.
+ # if neither exists, define SIMPLE_EVENT.
+@@ -873,26 +842,24 @@
+ 
+ #
+ # check for timezones
+ #
+ AC_MSG_CHECKING([for SV-style timezone])
+-AC_TRY_RUN([
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ extern char *tzname[2];
+ extern int daylight;
+ int
+ main()
+ {
+   int *x = &daylight;
+   char **y = tzname;
+ 
+   return 0;
+-}],
++}]])],
+ 	AC_DEFINE(HAVE_SV_TIMEZONE)
+ 	AC_MSG_RESULT(yes),
+ 	AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+ )
+ 
+ 
+ # Following comment stolen from Tcl's configure.in:
+ #   Note:  in the following variable, it's important to use the absolute
+
diff --git a/pkgs/tools/misc/expect/default.nix b/pkgs/tools/misc/expect/default.nix
index e2457ad63e137..102120a8604e4 100644
--- a/pkgs/tools/misc/expect/default.nix
+++ b/pkgs/tools/misc/expect/default.nix
@@ -10,12 +10,8 @@ tcl.mkTclDerivation rec {
   };
 
   patches = [
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/buildroot/buildroot/c05e6aa361a4049eabd8b21eb64a34899ef83fc7/package/expect/0001-enable-cross-compilation.patch";
-      hash = "sha256-yyzE0Jjac5qaj7Svn4VpMiAqSNLYrw7VZbtFqgMVncs=";
-    })
     (substituteAll {
-      src = ./fix-cross-compilation.patch;
+      src = ./fix-build-time-run-tcl.patch;
       tcl = "${buildPackages.tcl}/bin/tclsh";
     })
     # The following patches fix compilation with clang 15+
@@ -27,8 +23,12 @@ tcl.mkTclDerivation rec {
       url = "https://sourceforge.net/p/expect/patches/_discuss/thread/b813ca9895/6759/attachment/expect-configure-c99.patch";
       hash = "sha256-PxQQ9roWgVXUoCMxkXEgu+it26ES/JuzHF6oML/nk54=";
     })
+    ./0004-enable-cross-compilation.patch
     # Include `sys/ioctl.h` and `util.h` on Darwin, which are required for `ioctl` and `openpty`.
-    ./fix-darwin-clang16.patch
+    # Include `termios.h` on FreeBSD for `openpty`
+    ./fix-darwin-bsd-clang16.patch
+    # Remove some code which causes it to link against a file that does not exist at build time on native FreeBSD
+    ./freebsd-unversioned.patch
   ];
 
   postPatch = ''
@@ -48,7 +48,7 @@ tcl.mkTclDerivation rec {
   outputs = [ "out" "dev" ];
 
   meta = with lib; {
-    description = "A tool for automating interactive applications";
+    description = "Tool for automating interactive applications";
     homepage = "https://expect.sourceforge.net/";
     license = licenses.publicDomain;
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/expect/fix-cross-compilation.patch b/pkgs/tools/misc/expect/fix-build-time-run-tcl.patch
index 8edc4bea39d69..8edc4bea39d69 100644
--- a/pkgs/tools/misc/expect/fix-cross-compilation.patch
+++ b/pkgs/tools/misc/expect/fix-build-time-run-tcl.patch
diff --git a/pkgs/tools/misc/expect/fix-darwin-clang16.patch b/pkgs/tools/misc/expect/fix-darwin-bsd-clang16.patch
index 9454769c99c8f..a0e11a5f9d6bc 100644
--- a/pkgs/tools/misc/expect/fix-darwin-clang16.patch
+++ b/pkgs/tools/misc/expect/fix-darwin-bsd-clang16.patch
@@ -14,16 +14,21 @@ diff -ur a/exp_win.c b/exp_win.c
 diff -ur d/pty_termios.c c/pty_termios.c
 --- d/pty_termios.c	2023-10-10 07:59:23.244452442 -0400
 +++ c/pty_termios.c	2023-10-10 08:00:35.303231582 -0400
-@@ -7,7 +7,13 @@
+@@ -7,7 +7,18 @@
  
  */
  
 -#include <pty.h> /* openpty */
 +/* openpty */
-+#ifdef __APPLE__
-+#include <util.h>
++#if defined(__APPLE__)
++#  include <util.h>
++#elif defined(__FreeBSD__)
++#  include <sys/types.h>
++#  include <sys/ioctl.h>
++#  include <termios.h>
++#  include <libutil.h>
 +#else /* pty.h is Linux-specific */
-+#include <pty.h>
++#  include <pty.h>
 +#endif
 +
  #include <stdio.h>
diff --git a/pkgs/tools/misc/expect/freebsd-unversioned.patch b/pkgs/tools/misc/expect/freebsd-unversioned.patch
new file mode 100644
index 0000000000000..345fa4f6277f6
--- /dev/null
+++ b/pkgs/tools/misc/expect/freebsd-unversioned.patch
@@ -0,0 +1,14 @@
+--- expect5.45.4/tclconfig/tcl.m4.orig	2024-05-29 11:24:56.150656190 -0700
++++ expect5.45.4/tclconfig/tcl.m4	2024-05-29 11:25:22.850790934 -0700
+@@ -1643,11 +1643,6 @@
+ 		LIBS=`echo $LIBS | sed s/-pthread//`
+ 		CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+ 		LDFLAGS="$LDFLAGS $PTHREAD_LIBS"])
+-	    # Version numbers are dot-stripped by system policy.
+-	    TCL_TRIM_DOTS=`echo ${VERSION} | tr -d .`
+-	    UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
+-	    SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1'
+-	    TCL_LIB_VERSIONS_OK=nodots
+ 	    ;;
+ 	Darwin-*)
+ 	    CFLAGS_OPTIMIZE="-Os"
diff --git a/pkgs/tools/misc/faketty/default.nix b/pkgs/tools/misc/faketty/default.nix
index 228cdf7f2f2fd..dc48382945c9e 100644
--- a/pkgs/tools/misc/faketty/default.nix
+++ b/pkgs/tools/misc/faketty/default.nix
@@ -2,21 +2,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "faketty";
-  version = "1.0.16";
+  version = "1.0.17";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-BlQnVjYPFUfEurFUE2MHOL2ad56Nu/atzRuFu4OoCSI=";
+    hash = "sha256-JUvQg8WLk5+O+3fbbQSUW6Mtp9TrYlrt+uwMAzm082Q=";
   };
 
-  cargoHash = "sha256-q9jx03XYA977481B9xuUfaaMBDbSVx4xREj4Q1Ti/Yw=";
+  cargoHash = "sha256-Y+jcq2twIGDbHTA6aBGnyN9Old993Y/2j/fKnXhZGYU=";
 
   postPatch = ''
     patchShebangs tests/test.sh
   '';
 
   meta = with lib; {
-    description = "A wrapper to execute a command in a pty, even if redirecting the output";
+    description = "Wrapper to execute a command in a pty, even if redirecting the output";
     homepage = "https://github.com/dtolnay/faketty";
     changelog = "https://github.com/dtolnay/faketty/releases/tag/${version}";
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/pkgs/tools/misc/fcp/default.nix b/pkgs/tools/misc/fcp/default.nix
index 61db506bc1aed..dd7035e19c285 100644
--- a/pkgs/tools/misc/fcp/default.nix
+++ b/pkgs/tools/misc/fcp/default.nix
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A significantly faster alternative to the classic Unix cp(1) command";
+    description = "Significantly faster alternative to the classic Unix cp(1) command";
     homepage = "https://github.com/svetlitski/fcp";
     changelog = "https://github.com/svetlitski/fcp/releases/tag/v${version}";
     license = licenses.bsd3;
diff --git a/pkgs/tools/misc/fd/default.nix b/pkgs/tools/misc/fd/default.nix
index eddcb4b7784dd..2ec3106a01892 100644
--- a/pkgs/tools/misc/fd/default.nix
+++ b/pkgs/tools/misc/fd/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fd";
-  version = "9.0.0";
+  version = "10.1.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = "fd";
     rev = "v${version}";
-    hash = "sha256-xcrvAWbSvUUtbFXyENy3eQimxt5aXzFrHnL6VptyydA=";
+    hash = "sha256-9fL2XV3Vre2uo8Co3tlHYIvpNHNOh5TuvZggkWOxm5A=";
   };
 
-  cargoHash = "sha256-z4PV8k6avaLwo58yJq47WEUJGw3JCW1GZGviBaPTs+8=";
+  cargoHash = "sha256-3TbsPfAn/GcGASc0RCcyAeUiD4RUtvTATdTYhKdBxvo=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A simple, fast and user-friendly alternative to find";
+    description = "Simple, fast and user-friendly alternative to find";
     longDescription = ''
       `fd` is a simple, fast and user-friendly alternative to `find`.
 
diff --git a/pkgs/tools/misc/fdtools/default.nix b/pkgs/tools/misc/fdtools/default.nix
index 0815ae04d623b..e0dc8ea17fe72 100644
--- a/pkgs/tools/misc/fdtools/default.nix
+++ b/pkgs/tools/misc/fdtools/default.nix
@@ -79,7 +79,7 @@ in stdenv.mkDerivation {
 
   meta = {
     homepage = "https://code.dogmap.org/fdtools/";
-    description = "A set of utilities for working with file descriptors";
+    description = "Set of utilities for working with file descriptors";
     license = lib.licenses.gpl2Only;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.Profpatsch ];
diff --git a/pkgs/tools/misc/fdupes/default.nix b/pkgs/tools/misc/fdupes/default.nix
index fefb3992749b9..c82d2c861f0ef 100644
--- a/pkgs/tools/misc/fdupes/default.nix
+++ b/pkgs/tools/misc/fdupes/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fdupes";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "adrianlopezroche";
     repo = "fdupes";
     rev = "v${version}";
-    hash = "sha256-BW6a5vKRAuXs/zWPHhtZs6Y4scyCEfqHEAkGUSUiwkI=";
+    hash = "sha256-yOUgPa13DHDcuEqJMpBQVMOKFH/rlH44rWiIPRwnztM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/fedifetcher/default.nix b/pkgs/tools/misc/fedifetcher/default.nix
index ac34847ab2341..579cabc0b0de7 100644
--- a/pkgs/tools/misc/fedifetcher/default.nix
+++ b/pkgs/tools/misc/fedifetcher/default.nix
@@ -27,7 +27,7 @@ python3.pkgs.buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = "A tool for Mastodon that automatically fetches missing replies and posts from other fediverse instances";
+    description = "Tool for Mastodon that automatically fetches missing replies and posts from other fediverse instances";
     longDescription = ''
       FediFetcher is a tool for Mastodon that automatically fetches missing
       replies and posts from other fediverse instances, and adds them to your
diff --git a/pkgs/tools/misc/fend/default.nix b/pkgs/tools/misc/fend/default.nix
index 9b977f6d0d470..6986bc69645a8 100644
--- a/pkgs/tools/misc/fend/default.nix
+++ b/pkgs/tools/misc/fend/default.nix
@@ -18,16 +18,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fend";
-  version = "1.4.6";
+  version = "1.4.9";
 
   src = fetchFromGitHub {
     owner = "printfn";
     repo = "fend";
     rev = "v${version}";
-    hash = "sha256-xqWAL1xMUUL2AtxnZ4oXWmNoks0pL63uqKoNc0Vvw/4=";
+    hash = "sha256-ZfDoDOHQlvuPSX6OWQOX7HdeSVUfAlOpHVwcNPDEeU8=";
   };
 
-  cargoHash = "sha256-0ov/uzBEa8Wzw5T0mSMnnmJYucBLUe0Qlwel6pVRorc=";
+  cargoHash = "sha256-Xwf3Mxvso9mb1YYTuKMzLhtJNX5b2dmGi05TZ111cMc=";
 
   nativeBuildInputs = [ pandoc installShellFiles pkg-config copyDesktopItems ];
   buildInputs = [ pkg-config openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
diff --git a/pkgs/tools/misc/fet-sh/default.nix b/pkgs/tools/misc/fet-sh/default.nix
index 689eb0395f40a..3a95451d00162 100644
--- a/pkgs/tools/misc/fet-sh/default.nix
+++ b/pkgs/tools/misc/fet-sh/default.nix
@@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A fetch written in posix shell without any external commands";
+    description = "Fetch written in posix shell without any external commands";
     homepage = "https://github.com/6gk/fet.sh";
     license = licenses.isc;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/fetchutils/default.nix b/pkgs/tools/misc/fetchutils/default.nix
index d1c830f877d63..b4ab650ecaafb 100644
--- a/pkgs/tools/misc/fetchutils/default.nix
+++ b/pkgs/tools/misc/fetchutils/default.nix
@@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A collection of small shell utilities to fetch system information";
+    description = "Collection of small shell utilities to fetch system information";
     homepage = "https://github.com/lptstr/fetchutils";
     license = licenses.mit;
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index 8cff5ccd70afb..09138dada7631 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchurl, file, zlib, libgnurx
+, updateAutotoolsGnuConfigScriptsHook
 , testers
 }:
 
@@ -30,7 +31,8 @@ stdenv.mkDerivation (finalAttrs: {
   strictDeps = true;
   enableParallelBuilding = true;
 
-  nativeBuildInputs = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file;
+  nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]
+    ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file;
   buildInputs = [ zlib ]
     ++ lib.optional stdenv.hostPlatform.isWindows libgnurx;
 
@@ -43,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     homepage = "https://darwinsys.com/file";
-    description = "A program that shows the type of files";
+    description = "Program that shows the type of files";
     maintainers = with maintainers; [ doronbehar ];
     license = licenses.bsd2;
     pkgConfigModules = [ "libmagic" ];
diff --git a/pkgs/tools/misc/fileschanged/default.nix b/pkgs/tools/misc/fileschanged/default.nix
index 5644a01fa75a0..bb0898a5d37f8 100644
--- a/pkgs/tools/misc/fileschanged/default.nix
+++ b/pkgs/tools/misc/fileschanged/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://www.nongnu.org/fileschanged/";
-    description = "A command-line utility that reports when files have been altered";
+    description = "Command-line utility that reports when files have been altered";
     license = lib.licenses.gpl3Plus;
 
     longDescription = ''
diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix
index b37eaeaea1be1..0caa589c6013b 100644
--- a/pkgs/tools/misc/findutils/default.nix
+++ b/pkgs/tools/misc/findutils/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchurl
+, updateAutotoolsGnuConfigScriptsHook
 , coreutils
 }:
 
@@ -9,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "findutils";
-  version = "4.9.0";
+  version = "4.10.0";
 
   src = fetchurl {
     url = "mirror://gnu/findutils/${pname}-${version}.tar.xz";
-    sha256 = "sha256-or+4wJ1DZ3DtxZ9Q+kg+eFsWGjt7nVR1c8sIBl/UYv4=";
+    sha256 = "sha256-E4fgtn/yR9Kr3pmPkN+/cMFJE5Glnd/suK5ph4nwpPU=";
   };
 
   postPatch = ''
@@ -22,11 +23,13 @@ stdenv.mkDerivation rec {
 
   patches = [ ./no-install-statedir.patch ];
 
+  nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
   buildInputs = [ coreutils ]; # bin/updatedb script needs to call sort
 
   # Since glibc-2.25 the i686 tests hang reliably right after test-sleep.
   doCheck
     =  !stdenv.hostPlatform.isDarwin
+    && !stdenv.hostPlatform.isFreeBSD
     && !(stdenv.hostPlatform.libc == "glibc" && stdenv.hostPlatform.isi686)
     && (stdenv.hostPlatform.libc != "musl")
     && stdenv.hostPlatform == stdenv.buildPlatform;
diff --git a/pkgs/tools/misc/flexoptix-app/default.nix b/pkgs/tools/misc/flexoptix-app/default.nix
index 662193f353289..fa2004ce40ca0 100644
--- a/pkgs/tools/misc/flexoptix-app/default.nix
+++ b/pkgs/tools/misc/flexoptix-app/default.nix
@@ -28,10 +28,7 @@ in appimageTools.wrapAppImage {
   inherit pname version;
   src = appimageContents;
 
-  multiArch = false; # no 32bit needed
-  extraPkgs = { pkgs, ... }@args: [
-    pkgs.hidapi
-  ] ++ appimageTools.defaultFhsEnvArgs.multiPkgs args;
+  extraPkgs = pkgs: [ pkgs.hidapi ];
 
   extraInstallCommands = ''
     # Add desktop convencience stuff
diff --git a/pkgs/tools/misc/flitter/default.nix b/pkgs/tools/misc/flitter/default.nix
index 958c5ebc32097..6b092b35be8ca 100644
--- a/pkgs/tools/misc/flitter/default.nix
+++ b/pkgs/tools/misc/flitter/default.nix
@@ -51,7 +51,7 @@ ocamlPackages.buildDunePackage {
   '';
 
   meta = with lib; {
-    description = "A Livesplit-inspired speedrunning split timer for Linux/macOS terminal";
+    description = "Livesplit-inspired speedrunning split timer for Linux/macOS terminal";
     license = licenses.mit;
     maintainers = with maintainers; [ fgaz ];
     homepage = "https://github.com/alexozer/flitter";
diff --git a/pkgs/tools/misc/flowgger/default.nix b/pkgs/tools/misc/flowgger/default.nix
index c9517043adc96..83d709637b1dd 100644
--- a/pkgs/tools/misc/flowgger/default.nix
+++ b/pkgs/tools/misc/flowgger/default.nix
@@ -10,14 +10,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "flowgger";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-PRlcfSVfQWt+rQEJjblY7/AMrjhGYO2/G7EX60aGApA=";
+    hash = "sha256-eybahv1A/AIpAXGj6/md8k+b9fu9gSchU16fnAWZP2s=";
   };
 
-  cargoHash = "sha256-hp2LrEVWo0gk95dPROqVcHEEG5N9fWms0mZkY9QILg0=";
+  cargoHash = "sha256-DZGyX3UDqCjB5NwCXcR8b9pXdq8qacd3nkqGp6vYb+U=";
 
   nativeBuildInputs = [
     pkg-config
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/awslabs/flowgger";
-    description = "A fast, simple and lightweight data collector written in Rust";
+    description = "Fast, simple and lightweight data collector written in Rust";
     license = licenses.bsd2;
     maintainers = with maintainers; [];
     mainProgram = "flowgger";
diff --git a/pkgs/tools/misc/fltrdr/default.nix b/pkgs/tools/misc/fltrdr/default.nix
index 25cbf80593357..db7cd2afffced 100644
--- a/pkgs/tools/misc/fltrdr/default.nix
+++ b/pkgs/tools/misc/fltrdr/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://octobanana.com/software/fltrdr";
-    description = "A TUI text reader for the terminal";
+    description = "TUI text reader for the terminal";
 
     longDescription = ''
       Fltrdr, or flat-reader, is an interactive text reader for the terminal. It
diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index 86ae31ba214d0..20349aa8ff4d4 100644
--- a/pkgs/tools/misc/fluent-bit/default.nix
+++ b/pkgs/tools/misc/fluent-bit/default.nix
@@ -8,30 +8,36 @@
 , postgresql
 , openssl
 , libyaml
+, darwin
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fluent-bit";
-  version = "3.0.3";
+  version = "3.0.7";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-nlBzD9u7DsCbJq9FxsbsP8F/tPklZ43NV8T2eiwWE24=";
+    hash = "sha256-AR+YmxIP6VZlpztpez6OViX1cGqoP/jeOiuzBcav1Eg=";
   };
 
+  # optional only to avoid linux rebuild
+  patches = lib.optionals stdenv.isDarwin [ ./macos-11-sdk-compat.patch ];
+
   nativeBuildInputs = [ cmake flex bison ];
 
   buildInputs = [ openssl libyaml postgresql ]
-    ++ lib.optionals stdenv.isLinux [ systemd ];
+    ++ lib.optionals stdenv.isLinux [ systemd ]
+    ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk_11_0.frameworks.IOKit darwin.apple_sdk_11_0.frameworks.Foundation ];
 
   cmakeFlags = [
     "-DFLB_RELEASE=ON"
     "-DFLB_METRICS=ON"
     "-DFLB_HTTP_SERVER=ON"
     "-DFLB_OUT_PGSQL=ON"
-  ];
+  ]
+  ++ lib.optionals stdenv.isDarwin [ "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13" ];
 
   env.NIX_CFLAGS_COMPILE = toString (
     # Used by the embedded luajit, but is not predefined on older mac SDKs.
diff --git a/pkgs/tools/misc/fluent-bit/macos-11-sdk-compat.patch b/pkgs/tools/misc/fluent-bit/macos-11-sdk-compat.patch
new file mode 100644
index 0000000000000..5063e028e6564
--- /dev/null
+++ b/pkgs/tools/misc/fluent-bit/macos-11-sdk-compat.patch
@@ -0,0 +1,17 @@
+diff --git i/src/flb_utils.c w/src/flb_utils.c
+index 87637f1331d7..7a0036566438 100644
+--- i/src/flb_utils.c
++++ w/src/flb_utils.c
+@@ -1424,11 +1424,11 @@ int flb_utils_get_machine_id(char **out_id, size_t *out_size)
+         return 0;
+     }
+ #elif defined (FLB_SYSTEM_MACOS)
+     bool bret;
+     CFStringRef serialNumber;
+-    io_service_t platformExpert = IOServiceGetMatchingService(kIOMainPortDefault,
++    io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault,
+         IOServiceMatching("IOPlatformExpertDevice"));
+
+     if (platformExpert) {
+         CFTypeRef serialNumberAsCFString =
+             IORegistryEntryCreateCFProperty(platformExpert,
diff --git a/pkgs/tools/misc/fluentd/default.nix b/pkgs/tools/misc/fluentd/default.nix
index 18752acb98d46..de21fe7dadefd 100644
--- a/pkgs/tools/misc/fluentd/default.nix
+++ b/pkgs/tools/misc/fluentd/default.nix
@@ -10,7 +10,7 @@ bundlerEnv {
   passthru.tests.fluentd = nixosTests.fluentd;
 
   meta = with lib; {
-    description = "A data collector";
+    description = "Data collector";
     homepage    = "https://www.fluentd.org/";
     license     = licenses.asl20;
     maintainers = with maintainers; [ offline nicknovitski ];
diff --git a/pkgs/tools/misc/foma/default.nix b/pkgs/tools/misc/foma/default.nix
index 5d82f699e7d8c..8c83d33ee359c 100644
--- a/pkgs/tools/misc/foma/default.nix
+++ b/pkgs/tools/misc/foma/default.nix
@@ -1,37 +1,34 @@
-{ lib, stdenv, fetchFromGitHub, zlib, flex, bison, readline, darwin }:
+{ lib, stdenv, fetchFromGitHub, bison, cmake, flex, pkg-config, readline, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "foma";
-  version = "0.10.0alpha";
+  version = "0.10.0alpha-unstable-03-13-2024";
 
   src = fetchFromGitHub {
     owner = "mhulden";
     repo = "foma";
-    rev = "82f9acdef234eae8b7619ccc3a386cc0d7df62bc";
-    sha256 = "1vf01l18j8cksnavbabcckp9gg692w6v5lg81xrzv6f5v14zp4nr";
+    rev = "e0d8122bda4bbd56f18510bdfe840617f9736ae7";
+    hash = "sha256-UbwuHTilKWo4sVD3igcSlTqH78N6JQFvRD35QwfoX10=";
   };
 
   sourceRoot = "${src.name}/foma";
 
-  nativeBuildInputs = [ flex bison ]
-    ++ lib.optional stdenv.isDarwin darwin.cctools;
-  buildInputs = [ zlib readline ];
+  outputs = [ "out" "dev" ];
 
-  makeFlags = [
-    "CC:=$(CC)"
-    "RANLIB:=$(RANLIB)"
-    "prefix=$(out)"
-  ] ++ lib.optionals (!stdenv.isDarwin) [
-    "AR:=$(AR)" # libtool is used for darwin
-  ];
+  nativeBuildInputs = [ bison cmake flex pkg-config ];
+  buildInputs = [ readline zlib ];
 
-  patchPhase = ''
-    substituteInPlace Makefile \
-      --replace '-ltermcap' ' '
-  '';
+  cmakeFlags = [
+    # the cmake package does not handle absolute CMAKE_INSTALL_XXXDIR
+    # correctly (setting it to an absolute path causes include files to go to
+    # $out/$out/include, because the absolute path is interpreted with root at
+    # $out).
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+  ];
 
   meta = with lib; {
-    description = "A multi-purpose finite-state toolkit designed for applications ranging from natural language processing to research in automata theory";
+    description = "Multi-purpose finite-state toolkit designed for applications ranging from natural language processing to research in automata theory";
     homepage = "https://github.com/mhulden/foma";
     license = licenses.asl20;
     maintainers = [ maintainers.tckmn ];
diff --git a/pkgs/tools/misc/fontfor/default.nix b/pkgs/tools/misc/fontfor/default.nix
deleted file mode 100644
index b973317b722e3..0000000000000
--- a/pkgs/tools/misc/fontfor/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, cmake
-, pkg-config
-, expat
-, fontconfig
-, freetype
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "fontfor";
-  version = "0.4.1";
-
-  src = fetchFromGitHub {
-    owner = "7sDream";
-    repo = "fontfor";
-    rev = "v${version}";
-    sha256 = "sha256-/UoZ+5X6Csoyqc+RSP0Hree7NtCDs7BjsqcpALxAazc=";
-  };
-
-  nativeBuildInputs = [
-    cmake
-    pkg-config
-  ];
-  buildInputs = [
-    expat
-    fontconfig
-    freetype
-  ];
-
-  cargoHash = "sha256-j1Qf0IKlAUEyiGAUoF7IlEbPIv2pGkn+YMCoFdF9oUE=";
-
-  meta = with lib; {
-    description = "Find fonts which can show a specified character and preview them in browser";
-    homepage = "https://github.com/7sDream/fontfor";
-    license = with licenses; [ gpl3Plus ];
-    maintainers = with maintainers; [ shamilton ];
-    platforms = platforms.linux;
-    mainProgram = "fontfor";
-  };
-}
diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix
index d7a083baaf77c..fe626a417ab39 100644
--- a/pkgs/tools/misc/fontforge/default.nix
+++ b/pkgs/tools/misc/fontforge/default.nix
@@ -29,6 +29,9 @@ stdenv.mkDerivation rec {
       url = "https://github.com/fontforge/fontforge/commit/216eb14b558df344b206bf82e2bdaf03a1f2f429.patch";
       hash = "sha256-aRnir09FSQMT50keoB7z6AyhWAVBxjSQsTRvBzeBuHU=";
     })
+
+    # https://github.com/fontforge/fontforge/pull/5423
+    ./replace-distutils.patch
   ];
 
   # use $SOURCE_DATE_EPOCH instead of non-deterministic timestamps
@@ -70,7 +73,7 @@ stdenv.mkDerivation rec {
     '';
 
   meta = with lib; {
-    description = "A font editor";
+    description = "Font editor";
     homepage = "https://fontforge.github.io";
     platforms = platforms.all;
     license = licenses.bsd3;
diff --git a/pkgs/tools/misc/fontforge/replace-distutils.patch b/pkgs/tools/misc/fontforge/replace-distutils.patch
new file mode 100644
index 0000000000000..99087c649021b
--- /dev/null
+++ b/pkgs/tools/misc/fontforge/replace-distutils.patch
@@ -0,0 +1,13 @@
+diff --git a/pyhook/CMakeLists.txt b/pyhook/CMakeLists.txt
+index dd48054aa..710728f26 100644
+--- a/pyhook/CMakeLists.txt
++++ b/pyhook/CMakeLists.txt
+@@ -21,7 +21,7 @@ target_link_libraries(psMat_pyhook PRIVATE Python3::Module)
+ # So do it ourselves, getting the prefix-relative path instead
+ if(NOT DEFINED PYHOOK_INSTALL_DIR)
+   execute_process(
+-    COMMAND "${Python3_EXECUTABLE}" -c "import distutils.sysconfig as sc; print(sc.get_python_lib(prefix='', plat_specific=True,standard_lib=False))"
++    COMMAND "${Python3_EXECUTABLE}" -c "import sysconfig; print(sysconfig.get_path('platlib', sysconfig.get_preferred_scheme('user'), vars={'userbase': '.'}))"
+     RESULT_VARIABLE _pyhook_install_dir_result
+     OUTPUT_VARIABLE PYHOOK_INSTALL_DIR
+     OUTPUT_STRIP_TRAILING_WHITESPACE)
diff --git a/pkgs/tools/misc/fortune/default.nix b/pkgs/tools/misc/fortune/default.nix
index 516cfc201eb8a..58928b4bf7ad4 100644
--- a/pkgs/tools/misc/fortune/default.nix
+++ b/pkgs/tools/misc/fortune/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     mainProgram = "fortune";
-    description = "A program that displays a pseudorandom message from a database of quotations";
+    description = "Program that displays a pseudorandom message from a database of quotations";
     license = licenses.bsdOriginal;
     platforms = platforms.unix;
     maintainers = with maintainers; [ vonfry ];
diff --git a/pkgs/tools/misc/fre/default.nix b/pkgs/tools/misc/fre/default.nix
index 807529f200dc4..6953a630eb4e3 100644
--- a/pkgs/tools/misc/fre/default.nix
+++ b/pkgs/tools/misc/fre/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-BEIrjHsIrNkFEEjCrTKwsJL9hptmVOI8x3ZWoo9ZUvQ=";
 
   meta = with lib; {
-    description = "A CLI tool for tracking your most-used directories and files";
+    description = "CLI tool for tracking your most-used directories and files";
     homepage = "https://github.com/camdencheek/fre";
     changelog = "https://github.com/camdencheek/fre/blob/${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
diff --git a/pkgs/tools/misc/freshfetch/default.nix b/pkgs/tools/misc/freshfetch/default.nix
index 0723c18048b97..40119d9f0b3df 100644
--- a/pkgs/tools/misc/freshfetch/default.nix
+++ b/pkgs/tools/misc/freshfetch/default.nix
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A fresh take on neofetch";
+    description = "Fresh take on neofetch";
     homepage = "https://github.com/k4rakara/freshfetch";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/tools/misc/fsearch/default.nix b/pkgs/tools/misc/fsearch/default.nix
index 933daaf3df51a..43902b5d99ca6 100644
--- a/pkgs/tools/misc/fsearch/default.nix
+++ b/pkgs/tools/misc/fsearch/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A fast file search utility for Unix-like systems based on GTK+3";
+    description = "Fast file search utility for Unix-like systems based on GTK+3";
     homepage = "https://github.com/cboxdoerfer/fsearch.git";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ artturin ];
diff --git a/pkgs/tools/misc/fsrx/default.nix b/pkgs/tools/misc/fsrx/default.nix
index 63f3b9728f1e0..846b600d8e998 100644
--- a/pkgs/tools/misc/fsrx/default.nix
+++ b/pkgs/tools/misc/fsrx/default.nix
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A flow state reader in the terminal";
+    description = "Flow state reader in the terminal";
     homepage = "https://github.com/thatvegandev/fsrx";
     license = licenses.mit;
     maintainers = with maintainers; [ MoritzBoehme ];
diff --git a/pkgs/tools/misc/fw/default.nix b/pkgs/tools/misc/fw/default.nix
index 54d263fc112fb..5483bc872d4a0 100644
--- a/pkgs/tools/misc/fw/default.nix
+++ b/pkgs/tools/misc/fw/default.nix
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A workspace productivity booster";
+    description = "Workspace productivity booster";
     homepage = "https://github.com/brocode/fw";
     license = licenses.wtfpl;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/tools/misc/fzy/default.nix b/pkgs/tools/misc/fzy/default.nix
index b7186e08d3dbb..ea78b6c963d4d 100644
--- a/pkgs/tools/misc/fzy/default.nix
+++ b/pkgs/tools/misc/fzy/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
-    description = "A better fuzzy finder";
+    description = "Better fuzzy finder";
     homepage = "https://github.com/jhawthorn/fzy";
     license = licenses.mit;
     maintainers = with maintainers; [ dywedir ];
diff --git a/pkgs/tools/misc/g933-utils/default.nix b/pkgs/tools/misc/g933-utils/default.nix
index de084fb74bf44..c4532419f1034 100644
--- a/pkgs/tools/misc/g933-utils/default.nix
+++ b/pkgs/tools/misc/g933-utils/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ udev ];
 
   meta = with lib; {
-    description = "An application to configure Logitech wireless G933/G533 headsets";
+    description = "Application to configure Logitech wireless G933/G533 headsets";
     homepage = "https://github.com/ashkitten/g933-utils";
     license = licenses.mit;
     maintainers = with maintainers; [ seqizz ];
diff --git a/pkgs/tools/misc/gaphor/default.nix b/pkgs/tools/misc/gaphor/default.nix
index a8afdef6a2bff..68f922d4abd81 100644
--- a/pkgs/tools/misc/gaphor/default.nix
+++ b/pkgs/tools/misc/gaphor/default.nix
@@ -76,7 +76,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "Simple modeling tool written in Python";
-    maintainers = with maintainers; [ wolfangaukang ];
+    maintainers = [ ];
     homepage = "https://github.com/gaphor/gaphor";
     license = licenses.asl20;
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/tools/misc/geekbench/6.nix b/pkgs/tools/misc/geekbench/6.nix
index 373d93dc193c1..d7dd0ad7158b8 100644
--- a/pkgs/tools/misc/geekbench/6.nix
+++ b/pkgs/tools/misc/geekbench/6.nix
@@ -10,15 +10,15 @@
 
 let
   inherit (stdenv.hostPlatform.uname) processor;
-  version = "6.2.0";
+  version = "6.3.0";
   sources = {
     "x86_64-linux" = {
       url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-      hash = "sha256-QoxSw825qqx1vzhzW9TZg03BPNvgOCokBWARGUhjCGY=";
+      hash = "sha256-AXJ5mXGc1RWnIkB13KtIdt7vKETEXowunzQZciQDnzs=";
     };
     "aarch64-linux" = {
       url = "https://cdn.geekbench.com/Geekbench-${version}-LinuxARMPreview.tar.gz";
-      hash = "sha256-m2uz5Rk34rm9Bx3j5FjFigOIKaj2c4I+uXKzU4cK4D4=";
+      hash = "sha256-fbf01qa9wx3k9j8AEqv38fAM3F9tZOcnpH/wa/9rawQ=";
     };
   };
   geekbench_avx2 = lib.optionalString stdenv.isx86_64 "geekbench_avx2";
@@ -59,7 +59,7 @@ stdenv.mkDerivation {
     homepage = "https://geekbench.com/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = [ maintainers.michalrus ];
+    maintainers = with maintainers; [ michalrus asininemonkey ];
     platforms = builtins.attrNames sources;
     mainProgram = "geekbench6";
   };
diff --git a/pkgs/tools/misc/getoptions/default.nix b/pkgs/tools/misc/getoptions/default.nix
index 9860430515e4e..dc9bae451750b 100644
--- a/pkgs/tools/misc/getoptions/default.nix
+++ b/pkgs/tools/misc/getoptions/default.nix
@@ -30,7 +30,7 @@ stdenvNoCC.mkDerivation rec {
   checkTarget = "testall";
 
   meta = with lib; {
-    description = "An elegant option/argument parser for shell scripts (full support for bash and all POSIX shells)";
+    description = "Elegant option/argument parser for shell scripts (full support for bash and all POSIX shells)";
     homepage = "https://github.com/ko1nksm/getoptions";
     license = licenses.cc0;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/gh-dash/default.nix b/pkgs/tools/misc/gh-dash/default.nix
index 82201e0bd53dd..aa65da648166c 100644
--- a/pkgs/tools/misc/gh-dash/default.nix
+++ b/pkgs/tools/misc/gh-dash/default.nix
@@ -7,21 +7,21 @@
 
 buildGoModule rec {
   pname = "gh-dash";
-  version = "3.14.0";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "dlvhdr";
     repo = "gh-dash";
     rev = "v${version}";
-    hash = "sha256-6YPUGOQ2KBfu+3XAgub9Cpz0QBrU2kV+gq13tUtzY+w=";
+    hash = "sha256-9aXGNLaNXzDGJVTAXhOPt8XNxnWUpmiXCa60jsIUja8=";
   };
 
-  vendorHash = "sha256-jCf9FWAhZK5hTzyy8N4r5dfUYTgESmsn8iKxCccgWiM=";
+  vendorHash = "sha256-JOd2czYWVgE1jBfeuoVRp+oE/asyk50o5Pf021jD5mY=";
 
   ldflags = [
     "-s"
     "-w"
-    "-X github.com/dlvhdr/gh-dash/cmd.Version=${version}"
+    "-X github.com/dlvhdr/gh-dash/v4/cmd.Version=${version}"
   ];
 
   passthru.tests = {
diff --git a/pkgs/tools/misc/gh-eco/default.nix b/pkgs/tools/misc/gh-eco/default.nix
deleted file mode 100644
index 329ef60c1b4e1..0000000000000
--- a/pkgs/tools/misc/gh-eco/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib
-, fetchFromGitHub
-, buildGoModule
-}:
-
-buildGoModule rec {
-  pname = "gh-eco";
-  version = "0.1.3";
-
-  src = fetchFromGitHub {
-    owner = "coloradocolby";
-    repo = "gh-eco";
-    rev = "v${version}";
-    sha256 = "sha256-TE1AymNlxjUtkBnBO/VBjYaqLuRyxL75s6sMidKUXTE=";
-  };
-
-  vendorHash = "sha256-K85fYV1uP/qSw8GPoG1u6UQo94vQOUo4cd9Ro+UApQ0=";
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X main.Version=${version}"
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/coloradocolby/gh-eco";
-    description = "gh extension to explore the ecosystem";
-    license = licenses.mit;
-    maintainers = with maintainers; [ helium ];
-    mainProgram = "gh-eco";
-  };
-}
-
diff --git a/pkgs/tools/misc/gh-markdown-preview/default.nix b/pkgs/tools/misc/gh-markdown-preview/default.nix
index 68f041dbbf2d4..573cd607be419 100644
--- a/pkgs/tools/misc/gh-markdown-preview/default.nix
+++ b/pkgs/tools/misc/gh-markdown-preview/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gh-markdown-preview";
-  version = "1.4.2";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "yusukebe";
     repo = "gh-markdown-preview";
     rev = "v${version}";
-    hash = "sha256-UBveXL4/3GxxIVjqG0GuTbkGkzXFc/stew2s+dTj9BI=";
+    hash = "sha256-gi6Wza8v4V8PAHO75UycP0CEzvXEtm22hTEWs/dJ+LQ=";
   };
 
   vendorHash = "sha256-O6Q9h5zcYAoKLjuzGu7f7UZY0Y5rL2INqFyJT2QZJ/E=";
diff --git a/pkgs/tools/misc/gibo/default.nix b/pkgs/tools/misc/gibo/default.nix
index edd166f00f565..d037059fd4e3b 100644
--- a/pkgs/tools/misc/gibo/default.nix
+++ b/pkgs/tools/misc/gibo/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://github.com/simonwhitaker/gibo";
     license = lib.licenses.publicDomain;
-    description = "A shell script for easily accessing gitignore boilerplates";
+    description = "Shell script for easily accessing gitignore boilerplates";
     platforms = lib.platforms.unix;
     mainProgram = "gibo";
   };
diff --git a/pkgs/tools/misc/github-backup/default.nix b/pkgs/tools/misc/github-backup/default.nix
index 4ff25301c8c8c..f555ca74d6112 100644
--- a/pkgs/tools/misc/github-backup/default.nix
+++ b/pkgs/tools/misc/github-backup/default.nix
@@ -7,12 +7,12 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "github-backup";
-  version = "0.45.1";
+  version = "0.45.2";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+dQVewMHSF0SnOKmgwc9pmqXAJGLjSqwS9YQHdvEmKo=";
+    hash = "sha256-wn2JRMLfqhhTREeYM+mcs68xlkRWKMlxKXToa83pu2g=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/misc/github-copilot-cli/default.nix b/pkgs/tools/misc/github-copilot-cli/default.nix
index 644f3f983b8ea..821a36f75f205 100644
--- a/pkgs/tools/misc/github-copilot-cli/default.nix
+++ b/pkgs/tools/misc/github-copilot-cli/default.nix
@@ -18,7 +18,7 @@ buildNpmPackage rec {
   dontNpmBuild = true;
 
   meta = with lib; {
-    description = "A CLI experience for letting GitHub Copilot help you on the command line";
+    description = "CLI experience for letting GitHub Copilot help you on the command line";
     homepage = "https://githubnext.com/projects/copilot-cli/";
     license = licenses.unfree; # upstream has no license
     maintainers = [ maintainers.malo ];
diff --git a/pkgs/tools/misc/gitrs/default.nix b/pkgs/tools/misc/gitrs/default.nix
index 4ce36855ef67c..f6a49fe850cef 100644
--- a/pkgs/tools/misc/gitrs/default.nix
+++ b/pkgs/tools/misc/gitrs/default.nix
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A simple, opinionated, tool, written in Rust, for declaratively managing Git repos on your machine";
+    description = "Simple, opinionated, tool, written in Rust, for declaratively managing Git repos on your machine";
     homepage = "https://github.com/mccurdyc/gitrs";
     license = licenses.mit;
     maintainers = with maintainers; [ mccurdyc ];
diff --git a/pkgs/tools/misc/glasgow/default.nix b/pkgs/tools/misc/glasgow/default.nix
index 77f3eb01d96ad..4821ad923ef85 100644
--- a/pkgs/tools/misc/glasgow/default.nix
+++ b/pkgs/tools/misc/glasgow/default.nix
@@ -76,7 +76,7 @@ python3.pkgs.buildPythonApplication rec {
     description = "Software for Glasgow, a digital interface multitool";
     homepage = "https://github.com/GlasgowEmbedded/Glasgow";
     license = licenses.bsd0;
-    maintainers = with maintainers; [ emily thoughtpolice ];
+    maintainers = with maintainers; [ thoughtpolice ];
     mainProgram = "glasgow";
   };
 }
diff --git a/pkgs/tools/misc/go-ios/default.nix b/pkgs/tools/misc/go-ios/default.nix
index a5f204c9d04d9..0cf946ae43e57 100644
--- a/pkgs/tools/misc/go-ios/default.nix
+++ b/pkgs/tools/misc/go-ios/default.nix
@@ -33,7 +33,7 @@ buildGoModule rec {
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
-    description = "An operating system independent implementation of iOS device features";
+    description = "Operating system independent implementation of iOS device features";
     homepage = "https://github.com/danielpaulus/go-ios";
     license = licenses.mit;
     maintainers = with maintainers; [ eyjhb ];
diff --git a/pkgs/tools/misc/go.rice/default.nix b/pkgs/tools/misc/go.rice/default.nix
index 3ee268f2a8292..4c3fd6ef4c068 100644
--- a/pkgs/tools/misc/go.rice/default.nix
+++ b/pkgs/tools/misc/go.rice/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
   subPackages = [ "." "rice" ];
 
   meta = with lib; {
-    description = "A Go package that makes working with resources such as html, js, css, images, templates very easy";
+    description = "Go package that makes working with resources such as html, js, css, images, templates very easy";
     homepage = "https://github.com/GeertJohan/go.rice";
     license = licenses.bsd2;
     maintainers = with maintainers; [ blaggacao ];
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index 68169debff5bf..9fd40e7fc334d 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "goaccess";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "allinurl";
     repo = "goaccess";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FAooBAP2RbqAp7NTJNBdbRVldGCbx3SvOoTaiQ9Fl/I=";
+    hash = "sha256-ZOngDAHA88YQvkx2pk5ZSpBzxqelvCIR4z5hiFmfGyc=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/misc/godu/default.nix b/pkgs/tools/misc/godu/default.nix
index 7bd29ed43661e..1f310b2f68817 100644
--- a/pkgs/tools/misc/godu/default.nix
+++ b/pkgs/tools/misc/godu/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "godu";
-  version = "1.4.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "viktomas";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-fJeSUAuNELZZ1DcybNsYd2ZX93VYWsLum5tHp68ZVlo=";
+    hash = "sha256-z1LCPweaf8e/HWkSrRCiMYZl4F4dKo4/wDkWgY+eTvk=";
   };
 
   vendorHash = "sha256-8cZCeZ0gqxqbwB0WuEOFmEUNQd3/KcLeN0eLGfWG8BY=";
diff --git a/pkgs/tools/misc/google-cloud-bigtable-tool/default.nix b/pkgs/tools/misc/google-cloud-bigtable-tool/default.nix
index 3c61159bf9729..6e26aac5284df 100644
--- a/pkgs/tools/misc/google-cloud-bigtable-tool/default.nix
+++ b/pkgs/tools/misc/google-cloud-bigtable-tool/default.nix
@@ -16,9 +16,9 @@ buildGoModule rec {
 
   vendorHash = "sha256-kwvEfvHs6XF84bB3Ss1307OjId0nh/0Imih1fRFdY0M=";
 
-  preCheck = ''
-    buildFlagsArray+="-short"
-  '';
+  checkFlags = [
+    "-short"
+  ];
 
   meta = with lib; {
     description = "Google Cloud Bigtable Tool";
diff --git a/pkgs/tools/misc/google-cloud-sql-proxy/default.nix b/pkgs/tools/misc/google-cloud-sql-proxy/default.nix
index 1043b49820186..b9a68b60dbd3e 100644
--- a/pkgs/tools/misc/google-cloud-sql-proxy/default.nix
+++ b/pkgs/tools/misc/google-cloud-sql-proxy/default.nix
@@ -1,26 +1,26 @@
 { lib
-, buildGo122Module
+, buildGoModule
 , fetchFromGitHub
 }:
 
-buildGo122Module rec {
+buildGoModule rec {
   pname = "google-cloud-sql-proxy";
-  version = "2.9.0";
+  version = "2.11.4";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = "cloud-sql-proxy";
     rev = "v${version}";
-    hash = "sha256-V1Q6DFWSIIff2FuOyE5XwtJN8RObGlhpW/nMWFmNoxI=";
+    hash = "sha256-eM1sS9+L3Z7qCQl+HPcdfoSSdcCKvaz5zwQM4k55hZY=";
   };
 
   subPackages = [ "." ];
 
-  vendorHash = "sha256-sAVMmDeHXEgQXb/Xi4nXYztXjuykE0TFebkeubMTZ3k=";
+  vendorHash = "sha256-/cHQ1vElE+QCxQo6s3Isf2USFP0LWJH3YdcbUfGuuVw=";
 
-  preCheck = ''
-    buildFlagsArray+="-short"
-  '';
+  checkFlags = [
+    "-short"
+  ];
 
   meta = with lib; {
     description = "Utility for ensuring secure connections to Google Cloud SQL instances";
diff --git a/pkgs/tools/misc/goose/default.nix b/pkgs/tools/misc/goose/default.nix
index dcb6acec4d9e3..e6505129b5b93 100644
--- a/pkgs/tools/misc/goose/default.nix
+++ b/pkgs/tools/misc/goose/default.nix
@@ -6,29 +6,31 @@
 
 buildGoModule rec {
   pname = "goose";
-  version = "3.19.2";
+  version = "3.21.1";
 
   src = fetchFromGitHub {
     owner = "pressly";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-kGa3vZSFQ8Dgndc0qRnFnQwlU2hst6j3UFUXw+tfYR0=";
+    hash = "sha256-Klmgw5dYt2/JYc0nuqIZwos3/onlRwsfzTOJ/Yi2pMw=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-aoBxReKRk7dkFR/fJ5uHDZrJRGutLTU2BhDWCTBN2BA=";
+  vendorHash = "sha256-V875bGtp6Aki64TM3x0n1aERc5sVPIDZ3rNPF9D/osk=";
 
   # skipping: end-to-end tests require a docker daemon
   postPatch = ''
-    rm -r tests/e2e
     rm -r tests/gomigrations
-    rm -r tests/vertica
   '';
 
+  subPackages = [
+    "cmd/goose"
+  ];
+
   ldflags = [
     "-s"
     "-w"
-    "-X=main.gooseVersion=${version}"
+    "-X=main.version=${version}"
   ];
 
   checkFlags = [
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index 7b121ac3f9a7e..d73ade81d0242 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -9,16 +9,16 @@
 }:
 buildGoModule rec {
   pname = "goreleaser";
-  version = "1.25.1";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-WYpFSV4dMz6sYNc45iXE/oOTmyZqMqHBZlx+00NZHbU=";
+    hash = "sha256-GC9jT0vEokezBeCUSvSal7mcExiPgGcTHmP94A1cEPE=";
   };
 
-  vendorHash = "sha256-vI/S4QtN72tmBVZ2PPcavotJBkl+bdXO9OFqlOGw1J8=";
+  vendorHash = "sha256-0EO99dUNdIEQt8iswPOvHFt/+XeihhJRhJIt2bC9Zp0=";
 
   ldflags =
     [ "-s" "-w" "-X main.version=${version}" "-X main.builtBy=nixpkgs" ];
diff --git a/pkgs/tools/misc/gotify-cli/default.nix b/pkgs/tools/misc/gotify-cli/default.nix
index 296f3d19a88d4..4675789c59149 100644
--- a/pkgs/tools/misc/gotify-cli/default.nix
+++ b/pkgs/tools/misc/gotify-cli/default.nix
@@ -24,7 +24,7 @@ buildGoModule rec {
   meta = with lib; {
     license = licenses.mit;
     homepage = "https://github.com/gotify/cli";
-    description = "A command line interface for pushing messages to gotify/server";
+    description = "Command line interface for pushing messages to gotify/server";
     maintainers = with maintainers; [ ];
     mainProgram = "gotify";
   };
diff --git a/pkgs/tools/misc/gradescope-submit/default.nix b/pkgs/tools/misc/gradescope-submit/default.nix
index 89e7dc89438c8..54ae4b4583822 100644
--- a/pkgs/tools/misc/gradescope-submit/default.nix
+++ b/pkgs/tools/misc/gradescope-submit/default.nix
@@ -26,7 +26,7 @@ ocamlPackages.buildDunePackage rec {
   ];
 
   meta = with lib; {
-    description = "A small script to submit to Gradescope via GitHub";
+    description = "Small script to submit to Gradescope via GitHub";
     homepage = "https://github.com/nmittu/gradescope-submit";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/tools/misc/grass-sass/default.nix b/pkgs/tools/misc/grass-sass/default.nix
index 457822052d01a..e8c788169b619 100644
--- a/pkgs/tools/misc/grass-sass/default.nix
+++ b/pkgs/tools/misc/grass-sass/default.nix
@@ -5,20 +5,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "grass";
-  version = "0.13.2";
+  version = "0.13.3";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-JFfNj+IMwIZ+DkaCy3mobSAaq4YphhMpGkx/P33UdJE=";
+    hash = "sha256-catGfGiKjB6KZCt6yjwdR5VV0RAaBfiUnjlyCCBguBs=";
   };
 
-  cargoHash = "sha256-WzG+yOjxTX2ms2JMpZJYcaKZw0gc9g6/OUe/T7oyK20=";
+  cargoHash = "sha256-xonfDCJWVIuZQOBSLcrEFnziHwz6ZNQQxvVh+ulueUo=";
 
   # tests require rust nightly
   doCheck = false;
 
   meta = with lib; {
-    description = "A Sass compiler written purely in Rust";
+    description = "Sass compiler written purely in Rust";
     homepage = "https://github.com/connorskees/grass";
     changelog = "https://github.com/connorskees/grass/blob/master/CHANGELOG.md#${replaceStrings [ "." ] [ "" ] version}";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/graylog/5.1.nix b/pkgs/tools/misc/graylog/5.1.nix
index 2a77925e0b37e..3aa1b06744c8b 100644
--- a/pkgs/tools/misc/graylog/5.1.nix
+++ b/pkgs/tools/misc/graylog/5.1.nix
@@ -2,8 +2,8 @@
 let
   buildGraylog = callPackage ./graylog.nix {};
 in buildGraylog {
-  version = "5.1.11";
-  sha256 = "sha256-xvG9COKMNgHg5zzyCRfXsfrW3C2Gwbdxf8PMXQnJ2yg=";
+  version = "5.1.13";
+  sha256 = "sha256-qjNJ51EbPjtDR5h4DElpSblj/c8WarXxPfcLTuTx5AQ=";
   maintainers = [ lib.maintainers.f2k1de ];
   license = lib.licenses.sspl;
 }
diff --git a/pkgs/tools/misc/graylog/5.2.nix b/pkgs/tools/misc/graylog/5.2.nix
index e262d84f3f095..1247214e97535 100644
--- a/pkgs/tools/misc/graylog/5.2.nix
+++ b/pkgs/tools/misc/graylog/5.2.nix
@@ -2,8 +2,8 @@
 let
   buildGraylog = callPackage ./graylog.nix {};
 in buildGraylog {
-  version = "5.2.4";
-  sha256 = "sha256-TbZMRMLpYlg6wrsC+tDEk8sLYJ1nwJum/rL30CEGQcw=";
+  version = "5.2.7";
+  sha256 = "sha256-so9IHX0r3dmj5wLrLtQgrcXk+hu6E8/1d7wJu1XDcVA=";
   maintainers = [ lib.maintainers.f2k1de ];
   license = lib.licenses.sspl;
 }
diff --git a/pkgs/tools/misc/graylog/plugins.nix b/pkgs/tools/misc/graylog/plugins.nix
index 7907a4c9a2256..3f5229549c8d2 100644
--- a/pkgs/tools/misc/graylog/plugins.nix
+++ b/pkgs/tools/misc/graylog/plugins.nix
@@ -38,7 +38,7 @@ in {
     };
     meta = {
       homepage = "https://github.com/cvtienhoven/graylog-plugin-aggregates";
-      description = "A plugin that enables users to execute term searches and get notified when the given criteria are met";
+      description = "Plugin that enables users to execute term searches and get notified when the given criteria are met";
     };
   };
   auth_sso = glPlugin rec {
@@ -114,7 +114,7 @@ in {
     '';
     meta = {
       homepage = "https://github.com/Graylog2/graylog-plugin-integrations";
-      description = "A collection of open source Graylog integrations that will be released together";
+      description = "Collection of open source Graylog integrations that will be released together";
     };
   };
   internal-logs = glPlugin rec {
@@ -140,7 +140,7 @@ in {
     };
     meta = {
       homepage = "https://github.com/graylog-labs/graylog-plugin-ipanonymizer";
-      description = "A graylog-server plugin that replaces the last octet of IP addresses in messages with xxx";
+      description = "Graylog-server plugin that replaces the last octet of IP addresses in messages with xxx";
     };
   };
   jabber = glPlugin rec {
@@ -166,7 +166,7 @@ in {
     };
     meta = {
       homepage = "https://github.com/graylog-labs/graylog-plugin-metrics";
-      description = "An output plugin for integrating Graphite, Ganglia and StatsD with Graylog";
+      description = "Output plugin for integrating Graphite, Ganglia and StatsD with Graylog";
     };
   };
   mongodb-profiler = glPlugin rec {
@@ -192,7 +192,7 @@ in {
     };
     meta = {
       homepage = "https://github.com/graylog-labs/graylog-plugin-pagerduty";
-      description = "An alarm callback plugin for integrating PagerDuty into Graylog";
+      description = "Alarm callback plugin for integrating PagerDuty into Graylog";
     };
   };
   redis = glPlugin rec {
@@ -285,7 +285,7 @@ in {
     };
     meta = {
       homepage = "https://github.com/graylog-labs/graylog-plugin-twiliosms";
-      description = "An alarm callback plugin for integrating the Twilio SMS API into Graylog";
+      description = "Alarm callback plugin for integrating the Twilio SMS API into Graylog";
     };
   };
   twitter = glPlugin rec {
diff --git a/pkgs/tools/misc/grc/default.nix b/pkgs/tools/misc/grc/default.nix
index e8f4282fb1937..e080918f4c96a 100644
--- a/pkgs/tools/misc/grc/default.nix
+++ b/pkgs/tools/misc/grc/default.nix
@@ -40,7 +40,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "http://kassiopeia.juls.savba.sk/~garabik/software/grc.html";
-    description = "A generic text colouriser";
+    description = "Generic text colouriser";
     longDescription = ''
       Generic Colouriser is yet another colouriser (written in Python) for
       beautifying your logfiles or output of commands.
diff --git a/pkgs/tools/misc/grex/default.nix b/pkgs/tools/misc/grex/default.nix
index d68deba131ffc..2697c6b3febee 100644
--- a/pkgs/tools/misc/grex/default.nix
+++ b/pkgs/tools/misc/grex/default.nix
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A command-line tool for generating regular expressions from user-provided test cases";
+    description = "Command-line tool for generating regular expressions from user-provided test cases";
     homepage = "https://github.com/pemistahl/grex";
     changelog = "https://github.com/pemistahl/grex/releases/tag/v${version}";
     license = licenses.asl20;
diff --git a/pkgs/tools/misc/grit/default.nix b/pkgs/tools/misc/grit/default.nix
index 448224c9e9ad7..991aa2135ff59 100644
--- a/pkgs/tools/misc/grit/default.nix
+++ b/pkgs/tools/misc/grit/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   meta = with lib; {
     broken = stdenv.isDarwin;
-    description = "A multitree-based personal task manager";
+    description = "Multitree-based personal task manager";
     homepage = "https://github.com/climech/grit";
     license = licenses.mit;
     maintainers = [ maintainers.ivar ];
diff --git a/pkgs/tools/misc/grizzly/default.nix b/pkgs/tools/misc/grizzly/default.nix
index ffe6a4352bc0d..469fea27fa648 100644
--- a/pkgs/tools/misc/grizzly/default.nix
+++ b/pkgs/tools/misc/grizzly/default.nix
@@ -5,21 +5,21 @@
 
 buildGoModule rec {
   pname = "grizzly";
-  version = "0.4.1";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-IM7NrykF2Fiudijo5q0I/FewvS/rs3lzSpvzc6dl5Ds=";
+    hash = "sha256-f60zAE94jdJaGjn+SoO1qs3SgWRpK9pdbirRrsKKBJQ=";
   };
 
-  vendorHash = "sha256-GrzMfOwNEjVQd1uCijcsfdIDO6UPzuHEDnJExupB9Jg=";
+  vendorHash = "sha256-lioFmaFzqaxN1wnYJaoHA54to1xGZjaLGaqAFIfTaTs=";
 
   subPackages = [ "cmd/grr" ];
 
   meta = with lib; {
-    description = "A utility for managing Jsonnet dashboards against the Grafana API";
+    description = "Utility for managing Jsonnet dashboards against the Grafana API";
     homepage = "https://grafana.github.io/grizzly/";
     license = licenses.asl20;
     maintainers = with lib.maintainers; [ nrhtr ];
diff --git a/pkgs/tools/misc/grub/default.nix b/pkgs/tools/misc/grub/default.nix
index f92f765a6fab1..545ef57d4b081 100644
--- a/pkgs/tools/misc/grub/default.nix
+++ b/pkgs/tools/misc/grub/default.nix
@@ -1,5 +1,6 @@
-{ lib, stdenv, runCommand, fetchFromSavannah, fetchpatch, flex, bison, python3, autoconf, automake, libtool, bash
-, rsync, gettext, ncurses, libusb-compat-0_1, freetype, qemu, lvm2, unifont, pkg-config
+{ lib, stdenv, fetchFromSavannah, flex, bison, python3, autoconf, automake, libtool, bash
+, gettext, ncurses, libusb-compat-0_1, freetype, qemu, lvm2, unifont, pkg-config
+, fetchzip
 , buildPackages
 , nixosTests
 , fuse # only needed for grub-mount
@@ -53,22 +54,13 @@ let
     hash = "sha256-lathsBb2f7urh8R86ihpTdwo3h1hAHnRiHd5gCLVpBc=";
   };
 
-  # HACK: the translations are stored on a different server,
-  # not versioned and not included in the git repo, so fetch them
-  # and hope they don't change often
-  locales = runCommand "grub-locales" {
-    nativeBuildInputs = [rsync];
-
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
-    outputHash = "sha256-XzW2e7Xe7Pi297eV/fD2B/6uONEz9UjL2EHDCY0huTA=";
-  }
-  ''
-    mkdir -p po
-    ${src}/linguas.sh
-
-    mv po $out
-  '';
+  # The locales are fetched from translationproject.org at build time,
+  # but those translations are not versioned/stable. For that reason
+  # we take them from the nearest release tarball instead:
+  locales = fetchzip {
+    url = "https://ftp.gnu.org/gnu/grub/grub-2.12.tar.gz";
+    hash = "sha256-IoRiJHNQ58y0UhCAD0CrpFiI8Mz1upzAtyh5K4Njh/w=";
+  };
 in (
 
 assert efiSupport -> canEfi;
@@ -134,7 +126,7 @@ stdenv.mkDerivation rec {
         exit 1
       fi
 
-      cp -f --no-preserve=mode ${locales}/* po
+      cp -f --no-preserve=mode ${locales}/po/LINGUAS ${locales}/po/*.po po
 
       ./bootstrap --no-git --gnulib-srcdir=${gnulib}
 
@@ -209,6 +201,6 @@ stdenv.mkDerivation rec {
 
     platforms = if xenSupport then [ "x86_64-linux" "i686-linux" ] else platforms.gnu ++ platforms.linux;
 
-    maintainers = [ maintainers.samueldr ];
+    maintainers = [ ];
   };
 })
diff --git a/pkgs/tools/misc/gtkterm/default.nix b/pkgs/tools/misc/gtkterm/default.nix
index ebd7ec388764e..5ec61bb70f503 100644
--- a/pkgs/tools/misc/gtkterm/default.nix
+++ b/pkgs/tools/misc/gtkterm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkterm";
-  version = "1.2.1";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
-    owner = "Jeija";
+    owner = "wvdakker";
     repo = "gtkterm";
     rev = version;
-    sha256 = "sha256-4Z+8fs4VEk2+Ci1X3oUuInylTdIbQ5AiPenFqnyNXvc=";
+    sha256 = "sha256-oGqOXIu5P3KfdV6Unm7Nz+BRhb5Z6rne0+e0wZ2EcAI=";
   };
 
   nativeBuildInputs = [
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A simple, graphical serial port terminal emulator";
-    homepage = "https://github.com/Jeija/gtkterm";
+    description = "Simple, graphical serial port terminal emulator";
+    homepage = "https://github.com/wvdakker/gtkterm";
     license = licenses.gpl3Plus;
     longDescription = ''
       GTKTerm is a simple, graphical serial port terminal emulator for
diff --git a/pkgs/tools/misc/gummy/default.nix b/pkgs/tools/misc/gummy/default.nix
index 9d5b473c3b9c4..192c1e3261a56 100644
--- a/pkgs/tools/misc/gummy/default.nix
+++ b/pkgs/tools/misc/gummy/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
-, fetchFromGitHub
+, fetchFromGitea
+, substituteAll
 , testers
 , gummy
 , cmake
@@ -8,18 +9,25 @@
 , libXext
 , sdbus-cpp
 , udev
+, xcbutilimage
 , coreutils
+, cli11
+, ddcutil
+, fmt
+, nlohmann_json
+, spdlog
 }:
 
 stdenv.mkDerivation rec {
   pname = "gummy";
-  version = "0.3";
+  version = "0.6.0";
 
-  src = fetchFromGitHub {
-    owner = "fushko";
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "fusco";
     repo = "gummy";
     rev = version;
-    sha256 = "sha256-dw2yOXTS61OIe+NOq8MPydhkZvTit13eC7cbL5nFseg=";
+    hash = "sha256-kATieFf+dEpcYgSEPoETacP7R+u2dOrg7rOhIkNQ1uE=";
   };
 
   nativeBuildInputs = [
@@ -27,25 +35,32 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    cli11
+    ddcutil
+    fmt
     libX11
     libXext
+    nlohmann_json
     sdbus-cpp
+    spdlog
     udev
+    xcbutilimage
   ];
 
   cmakeFlags = [
     "-DUDEV_DIR=${placeholder "out"}/lib/udev"
+    "-DUDEV_RULES_DIR=${placeholder "out"}/lib/udev/rules.d"
   ];
 
   # Fixes the "gummy start" command, without this it cannot find the binary.
   # Setting this through cmake does not seem to work.
   postPatch = ''
-    substituteInPlace src/gummy/gummy.cpp \
+    substituteInPlace gummyd/gummyd/api.cpp \
       --replace "CMAKE_INSTALL_DAEMON_PATH" "\"${placeholder "out"}/libexec/gummyd\""
   '';
 
   preFixup = ''
-    substituteInPlace $out/lib/udev/99-gummy.rules \
+    substituteInPlace $out/lib/udev/rules.d/99-gummy.rules \
       --replace "/bin/chmod" "${coreutils}/bin/chmod"
 
     ln -s $out/libexec/gummyd $out/bin/gummyd
@@ -54,13 +69,13 @@ stdenv.mkDerivation rec {
   passthru.tests.version = testers.testVersion { package = gummy; };
 
   meta = with lib; {
-    homepage = "https://github.com/Fushko/gummy";
+    homepage = "https://codeberg.org/fusco/gummy";
     description = "Brightness and temperature manager for X11";
     longDescription = ''
       CLI screen manager for X11 that allows automatic and manual brightness/temperature adjustments,
       via backlight (currently only for embedded displays) and gamma. Multiple monitors are supported.
     '';
     license = licenses.gpl3Only;
-    maintainers = [ maintainers.ivar ];
+    maintainers = with maintainers; [ ivar ];
   };
 }
diff --git a/pkgs/tools/misc/gwe/default.nix b/pkgs/tools/misc/gwe/default.nix
index 5f2c29c644d97..58b116da3606c 100644
--- a/pkgs/tools/misc/gwe/default.nix
+++ b/pkgs/tools/misc/gwe/default.nix
@@ -32,13 +32,13 @@ let
  ]);
 in stdenv.mkDerivation rec {
   pname = "gwe";
-  version = "0.15.7";
+  version = "0.15.9";
 
   src = fetchFromGitLab {
     owner = "leinardi";
     repo = pname;
     rev = version;
-    sha256 = "sha256-0/VQD3WuSMShsPjydOxVEufBZqVOCTFO3UbJpsy+oLE=";
+    sha256 = "sha256-agq967QN1nsAOn+1Ce64+id7UlSS/K3XGsUUihWOztk=";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/misc/h/default.nix b/pkgs/tools/misc/h/default.nix
index 6e4ae6381e756..6d65accc51d54 100644
--- a/pkgs/tools/misc/h/default.nix
+++ b/pkgs/tools/misc/h/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "h";
-  version = "1.0.4";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "zimbatm";
     repo = "h";
     rev = "v${version}";
-    hash = "sha256-eitUKOo2c1c+SyctkUW/SUb2RCKUoU6nJplfJVdwBSs=";
+    hash = "sha256-4rhol8a+OMX2+MxFPEM1WzM/70C7sye8jw4pg7CujRo=";
   };
 
   buildInputs = [ ruby ];
diff --git a/pkgs/tools/misc/h5utils/default.nix b/pkgs/tools/misc/h5utils/default.nix
index 705ac56f5baf9..90f9b48dd1182 100644
--- a/pkgs/tools/misc/h5utils/default.nix
+++ b/pkgs/tools/misc/h5utils/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     ++ optional (libmatheval != null) libmatheval;
 
   meta = with lib; {
-    description = "A set of utilities for visualization and conversion of scientific data in the free, portable HDF5 format";
+    description = "Set of utilities for visualization and conversion of scientific data in the free, portable HDF5 format";
     homepage = "https://github.com/stevengj/h5utils";
     changelog = "https://github.com/NanoComp/h5utils/releases/tag/${version}";
     license = with licenses; [ mit gpl2Plus ];
diff --git a/pkgs/tools/misc/hackertyper/default.nix b/pkgs/tools/misc/hackertyper/default.nix
index da9af1eca922f..0428a38cfeb5c 100644
--- a/pkgs/tools/misc/hackertyper/default.nix
+++ b/pkgs/tools/misc/hackertyper/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "A C rewrite of hackertyper.net";
+    description = "C rewrite of hackertyper.net";
     homepage = "https://github.com/Hurricane996/Hackertyper";
     license = licenses.gpl3;
     maintainers = [ maintainers.marius851000 ];
diff --git a/pkgs/tools/misc/halp/default.nix b/pkgs/tools/misc/halp/default.nix
index e88e23f7cfe7c..e036336eb10ce 100644
--- a/pkgs/tools/misc/halp/default.nix
+++ b/pkgs/tools/misc/halp/default.nix
@@ -70,7 +70,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A CLI tool to get help with CLI tools";
+    description = "CLI tool to get help with CLI tools";
     homepage = "https://github.com/orhun/halp";
     changelog = "https://github.com/orhun/halp/blob/${src.rev}/CHANGELOG.md";
     license = with licenses; [ asl20 mit ];
diff --git a/pkgs/tools/misc/hashit/default.nix b/pkgs/tools/misc/hashit/default.nix
index ecd7aaf5cdcc4..5e9f07700dc28 100644
--- a/pkgs/tools/misc/hashit/default.nix
+++ b/pkgs/tools/misc/hashit/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "A simple app for checking usual checksums - Designed for elementary OS";
+    description = "Simple app for checking usual checksums - Designed for elementary OS";
     homepage = "https://github.com/artemanufrij/hashit";
     license = licenses.gpl2Plus;
     maintainers = teams.pantheon.members;
diff --git a/pkgs/tools/misc/hashpump/default.nix b/pkgs/tools/misc/hashpump/default.nix
index 11b0650d849d7..cdb153f2c0802 100644
--- a/pkgs/tools/misc/hashpump/default.nix
+++ b/pkgs/tools/misc/hashpump/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   meta = {
-    description = "A tool to exploit the hash length extension attack in various hashing algorithms";
+    description = "Tool to exploit the hash length extension attack in various hashing algorithms";
     homepage = "https://github.com/bwall/HashPump";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ t4ccer ];
diff --git a/pkgs/tools/misc/hdaps-gl/default.nix b/pkgs/tools/misc/hdaps-gl/default.nix
index eb8259929e828..d472727ce3acc 100644
--- a/pkgs/tools/misc/hdaps-gl/default.nix
+++ b/pkgs/tools/misc/hdaps-gl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, freeglut, libGL, libGLU }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, libglut, libGL, libGLU }:
 
 stdenv.mkDerivation rec {
   pname = "hdaps-gl";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ freeglut libGL libGLU ];
+  buildInputs = [ libglut libGL libGLU ];
 
   meta = with lib; {
     description = "GL-based laptop model that rotates in real-time via hdaps";
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index c6855a47f8e63..d62fd84adbc4c 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchurl
+, fetchFromGitHub
 , cmake
 , removeReferencesTo
 , cppSupport ? true
@@ -28,21 +28,18 @@ assert !cppSupport || !mpiSupport;
 let inherit (lib) optional optionals; in
 
 stdenv.mkDerivation rec {
-  version = "1.14.3";
+  version = "1.14.4.3";
   pname = "hdf5"
     + lib.optionalString cppSupport "-cpp"
     + lib.optionalString fortranSupport "-fortran"
     + lib.optionalString mpiSupport "-mpi"
     + lib.optionalString threadsafe "-threadsafe";
 
-  src = fetchurl {
-    url =
-      let
-        majorMinor = lib.versions.majorMinor version;
-        majorMinorPatch = with lib.versions; "${major version}.${minor version}.${patch version}";
-      in
-      "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${majorMinor}/hdf5-${majorMinorPatch}/src/hdf5-${version}.tar.bz2";
-    sha256 = "sha256-lCXyJO110SgLtG1vJpI92Tj5BA5+rr9X5m7HNXwI+Rc=";
+  src = fetchFromGitHub {
+    owner = "HDFGroup";
+    repo = "hdf5";
+    rev = "hdf5_${version}";
+    hash = "sha256-lvz3x04SS0oZmUn/BIxQEHnugaDOws46kfT3NAw7Hos=";
   };
 
   passthru = {
@@ -103,6 +100,12 @@ stdenv.mkDerivation rec {
       mv "$file" "''${file%%-shared}"
     done
     popd
+  '' + lib.optionalString fortranSupport
+  ''
+    mv $out/mod/shared $dev/include
+    rm -r $out/mod
+
+    find "$out" -type f -exec remove-references-to -t ${fortran} '{}' +
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/misc/heatseeker/default.nix b/pkgs/tools/misc/heatseeker/default.nix
index 24da793445cb8..388a40f2832b8 100644
--- a/pkgs/tools/misc/heatseeker/default.nix
+++ b/pkgs/tools/misc/heatseeker/default.nix
@@ -25,10 +25,10 @@ rustPlatform.buildRustPackage rec {
   TRAVIS = "true";
 
   meta = with lib; {
-    description = "A general-purpose fuzzy selector";
+    description = "General-purpose fuzzy selector";
     homepage = "https://github.com/rschmitt/heatseeker";
     license = licenses.mit;
-    maintainers = [ maintainers.michaelpj ];
+    maintainers = [ ];
     mainProgram = "hs";
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/misc/hebcal/default.nix b/pkgs/tools/misc/hebcal/default.nix
index ef1686c20cb44..d8a2b3b7295b8 100644
--- a/pkgs/tools/misc/hebcal/default.nix
+++ b/pkgs/tools/misc/hebcal/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://hebcal.github.io";
-    description = "A perpetual Jewish Calendar";
+    description = "Perpetual Jewish Calendar";
     longDescription = "Hebcal is a program which prints out the days in the Jewish calendar for a given Gregorian year. Hebcal is fairly flexible in terms of which events in the Jewish calendar it displays.";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.hhm ];
diff --git a/pkgs/tools/misc/heimdall/default.nix b/pkgs/tools/misc/heimdall/default.nix
index 422363ef418ab..ce56a4f4057b1 100644
--- a/pkgs/tools/misc/heimdall/default.nix
+++ b/pkgs/tools/misc/heimdall/default.nix
@@ -46,7 +46,7 @@ mkDerivation rec {
   meta = with lib; {
     broken = stdenv.isDarwin;
     homepage = "http://www.glassechidna.com.au/products/heimdall/";
-    description = "A cross-platform tool suite to flash firmware onto Samsung Galaxy S devices";
+    description = "Cross-platform tool suite to flash firmware onto Samsung Galaxy S devices";
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/hexdiff/default.nix b/pkgs/tools/misc/hexdiff/default.nix
index 937a07bee78bc..9ee711e7457ea 100644
--- a/pkgs/tools/misc/hexdiff/default.nix
+++ b/pkgs/tools/misc/hexdiff/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "https://github.com/ahroach/hexdiff";
-    description = "A terminal application for differencing two binary files, with color-coded output";
+    description = "Terminal application for differencing two binary files, with color-coded output";
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ rogarb ];
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/misc/hexyl/default.nix b/pkgs/tools/misc/hexyl/default.nix
index fa68fb4a2d439..5f72c7a702f3a 100644
--- a/pkgs/tools/misc/hexyl/default.nix
+++ b/pkgs/tools/misc/hexyl/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-fXrdOiCmRgMPJxZIS/SkTkZZkag8ZUhNnMlU4k1m/+0=";
 
   meta = with lib; {
-    description = "A command-line hex viewer";
+    description = "Command-line hex viewer";
     longDescription = ''
       `hexyl` is a simple hex viewer for the terminal. It uses a colored
       output to distinguish different categories of bytes (NULL bytes,
diff --git a/pkgs/tools/misc/hid-listen/default.nix b/pkgs/tools/misc/hid-listen/default.nix
index 62c2d7beb2ff5..d126bb9e850fb 100644
--- a/pkgs/tools/misc/hid-listen/default.nix
+++ b/pkgs/tools/misc/hid-listen/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A tool thats prints debugging information from usb HID devices";
+    description = "Tool thats prints debugging information from usb HID devices";
     homepage = "https://www.pjrc.com/teensy/hid_listen.html";
     license = licenses.gpl3;
     maintainers = with maintainers; [ tomsmeets ];
diff --git a/pkgs/tools/misc/hostsblock/default.nix b/pkgs/tools/misc/hostsblock/default.nix
index 0346c81c66dbc..96eac13b76a48 100644
--- a/pkgs/tools/misc/hostsblock/default.nix
+++ b/pkgs/tools/misc/hostsblock/default.nix
@@ -63,7 +63,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "An ad- and malware-blocking script for Linux";
+    description = "Ad- and malware-blocking script for Linux";
     homepage = "http://gaenserich.github.io/hostsblock/";
     license = licenses.gpl3;
     maintainers = [ maintainers.nicknovitski ];
diff --git a/pkgs/tools/misc/html-proofer/Gemfile.lock b/pkgs/tools/misc/html-proofer/Gemfile.lock
index 846b465bfd8ca..8f50d842308e9 100644
--- a/pkgs/tools/misc/html-proofer/Gemfile.lock
+++ b/pkgs/tools/misc/html-proofer/Gemfile.lock
@@ -22,7 +22,7 @@ GEM
     html-proofer (5.0.8)
       addressable (~> 2.3)
       async (~> 2.1)
-      nokogiri (~> 1.13)
+      nokogiri (~> 1.16.0)
       pdf-reader (~> 2.11)
       rainbow (~> 3.0)
       typhoeus (~> 1.3)
@@ -30,7 +30,7 @@ GEM
       zeitwerk (~> 2.5)
     io-event (1.2.3)
     mini_portile2 (2.8.4)
-    nokogiri (1.15.4)
+    nokogiri (1.16.0)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     pdf-reader (2.11.0)
diff --git a/pkgs/tools/misc/html-proofer/default.nix b/pkgs/tools/misc/html-proofer/default.nix
index cc4f6f69f2633..e15476cca08c5 100644
--- a/pkgs/tools/misc/html-proofer/default.nix
+++ b/pkgs/tools/misc/html-proofer/default.nix
@@ -11,7 +11,7 @@ bundlerEnv rec {
   passthru.updateScript = bundlerUpdateScript pname;
 
   meta = with lib; {
-    description = "A tool to validate HTML files";
+    description = "Tool to validate HTML files";
     homepage    = "https://github.com/gjtorikian/html-proofer";
     license     = licenses.mit;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/tools/misc/html-proofer/gemset.nix b/pkgs/tools/misc/html-proofer/gemset.nix
index 45ad23f7ab0aa..1485ab4e5062c 100644
--- a/pkgs/tools/misc/html-proofer/gemset.nix
+++ b/pkgs/tools/misc/html-proofer/gemset.nix
@@ -140,10 +140,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k9w2z0953mnjrsji74cshqqp08q7m1r6zhadw1w0g34xzjh3a74";
+      sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl";
       type = "gem";
     };
-    version = "1.15.4";
+    version = "1.16.0";
   };
   pdf-reader = {
     dependencies = ["Ascii85" "afm" "hashery" "ruby-rc4" "ttfunk"];
diff --git a/pkgs/tools/misc/hueadm/default.nix b/pkgs/tools/misc/hueadm/default.nix
index 6afa6607129fb..30cbaa591cc56 100644
--- a/pkgs/tools/misc/hueadm/default.nix
+++ b/pkgs/tools/misc/hueadm/default.nix
@@ -22,7 +22,7 @@ buildNpmPackage rec {
     description = "Command line management interface to Philips Hue";
     homepage = "https://github.com/bahamas10/hueadm";
     license = lib.licenses.mit;
-    maintainers = [ ];
+    maintainers = with lib.maintainers; [ sigmanificient ];
     mainProgram = "hueadm";
   };
 }
diff --git a/pkgs/tools/misc/hunt/default.nix b/pkgs/tools/misc/hunt/default.nix
index 2c135e0285138..69b9de8f7e3da 100644
--- a/pkgs/tools/misc/hunt/default.nix
+++ b/pkgs/tools/misc/hunt/default.nix
@@ -5,20 +5,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hunt";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "LyonSyonII";
     repo = "hunt-rs";
     rev = "v${version}";
-    sha256 = "sha256-cpqietS/yTI5ONkH4jjIUOVATutd2vj9xmxRbBwmzeI=";
+    sha256 = "sha256-NKXZECtepuFg6qTuXF9Gnat/vnrygt3UOZb0YUKPqi8=";
   };
 
-  cargoHash = "sha256-LWZaU+zHbfiogWXW9XGA3iP95u3qqh2LX9LL2lsQPLg=";
+  cargoHash = "sha256-ExwcFJVqQF/RTUyv1FvOCnlB+9Z7uhi/5UUjW7WcXTk=";
 
   meta = with lib; {
     description = "Simplified Find command made with Rust";
-    homepage = "https://github.com/LyonSyonII/hunt";
+    homepage = "https://github.com/LyonSyonII/hunt-rs";
     license = licenses.mit;
     maintainers = with maintainers; [ dit7ya ];
     mainProgram = "hunt";
diff --git a/pkgs/tools/misc/hwatch/default.nix b/pkgs/tools/misc/hwatch/default.nix
index 6ba928a29d08e..afa75fca0cd21 100644
--- a/pkgs/tools/misc/hwatch/default.nix
+++ b/pkgs/tools/misc/hwatch/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hwatch";
-  version = "0.3.12";
+  version = "0.3.13";
 
   src = fetchFromGitHub {
     owner = "blacknon";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-Klv1VIJv4/R7HvvB6H+WxTeJxQYFqAFU3HC6oafD/90=";
+    sha256 = "sha256-3RFiVDXjPFBMK+f/9s9t3cdIH+R/88Fp5uKbo5p2X+g=";
   };
 
-  cargoHash = "sha256-Aos/QP8tLiKFmAZss19jn5h/murZR2jgTYRYalUONHw=";
+  cargoHash = "sha256-MC0Ch9ai4XmhhRz/9nFYEA3A7kgBv2x9q4yc5IJ7CZ8=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/ili2c/default.nix b/pkgs/tools/misc/ili2c/default.nix
index d4ac130463770..1d6f373db83a3 100644
--- a/pkgs/tools/misc/ili2c/default.nix
+++ b/pkgs/tools/misc/ili2c/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   meta = with lib; {
-    description = "The INTERLIS Compiler";
+    description = "INTERLIS Compiler";
     longDescription = ''
       Checks the syntactical correctness of an INTERLIS data model.
     '';
@@ -63,7 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
     ];
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; teams.geospatial.members ++ [ das-g ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     mainProgram = "ili2c";
   };
 })
diff --git a/pkgs/tools/misc/immich-cli/default.nix b/pkgs/tools/misc/immich-cli/default.nix
index 82d8e96ec798a..21d0600d92b13 100644
--- a/pkgs/tools/misc/immich-cli/default.nix
+++ b/pkgs/tools/misc/immich-cli/default.nix
@@ -1,31 +1,70 @@
 { lib
 , buildNpmPackage
 , fetchFromGitHub
+, testers
 }:
 
-buildNpmPackage {
-  pname = "immich-cli";
-  version = "2.0.6";
-
+let
+  version = "2.2.4";
   src = fetchFromGitHub {
     owner = "immich-app";
     repo = "immich";
     # Using a fixed commit until upstream has release tags for cli.
-    rev = "014adf175ad50a61f92804666940e267ab329064";
-    hash = "sha256-MK3Watq5/Zp+rymCIfWxAXSgBPDE13g23uDnW7A5x9g=";
+    rev = "8c2195c8205156f6e3168cc52fa34db334568ea9";
+    hash = "sha256-Tseu6aIrYU4Af/jWDi2wDtP77n/aogp7Qkn9mosMaes=";
   };
-
-  npmDepsHash = "sha256-ssxOXKE1t/bSb972w/cBeK61IrqPLmx9ODMn6D+2Ezw=";
-
-  postPatch = ''
-    cd cli
-  '';
-
-  meta = {
+  meta' = {
     description = "CLI utilities for Immich to help upload images and videos";
     homepage = "https://github.com/immich-app/immich";
     license = lib.licenses.mit;
-    mainProgram = "immich";
     maintainers = with lib.maintainers; [ felschr pineapplehunter ];
+    mainProgram = "immich";
+  };
+
+  open-api-typescript-sdk = buildNpmPackage {
+    pname = "immich-cli-openapi-typescript-sdk";
+    inherit src version;
+
+    npmDepsHash = "sha256-WhNdFaFBwb6ehEQgbNJGdzPb3FdJk1Nefi8DcJfY9Wc=";
+
+    postPatch = ''
+      cd open-api/typescript-sdk
+    '';
+    meta = {
+      # using inherit for `builtin.unsafeGetAttrPos` to work correctly
+      inherit (meta')
+        description
+        homepage
+        license
+        maintainers;
+    };
+  };
+
+  immich-cli = buildNpmPackage {
+    pname = "immich-cli";
+    inherit src version;
+
+    npmDepsHash = "sha256-aSTN+I8B/aLT2ItGoyZTlbdn1VCK0ZmOb1QG7ZQuz+Q=";
+
+    postPatch = ''
+      ln -sv ${open-api-typescript-sdk}/lib/node_modules/@immich/sdk/{build,node_modules} open-api/typescript-sdk
+      cd cli
+    '';
+
+    passthru = {
+      inherit open-api-typescript-sdk;
+      tests.version = testers.testVersion { package = immich-cli; };
+    };
+
+    meta = {
+      # using inherit for `builtin.unsafeGetAttrPos` to work correctly
+      inherit (meta')
+        description
+        homepage
+        license
+        maintainers
+        mainProgram;
+    };
   };
-}
+in
+immich-cli
diff --git a/pkgs/tools/misc/infracost/default.nix b/pkgs/tools/misc/infracost/default.nix
index ddec6c3c5d89e..16b0f64a22079 100644
--- a/pkgs/tools/misc/infracost/default.nix
+++ b/pkgs/tools/misc/infracost/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "infracost";
-  version = "0.10.33";
+  version = "0.10.37";
 
   src = fetchFromGitHub {
     owner = "infracost";
     rev = "v${version}";
     repo = "infracost";
-    sha256 = "sha256-zIAf6lD9XFmrAgvVmIY+tXLn4FmkkdimjVCWasK7OCc=";
+    sha256 = "sha256-WcX/H0zGXbkf5mM5Xq07UuQixUCCUXRPmBVrf3V4TEM=";
   };
-  vendorHash = "sha256-ji9TpUcq0aUAn5vV5dnaC15i0Uli2Qsz/BrOKB3/Rl4=";
+  vendorHash = "sha256-bLSj4/+7h0uHdR956VL4iLqRddKV5Ac+FIL1zJxPCW8=";
 
   ldflags = [ "-s" "-w" "-X github.com/infracost/infracost/internal/version.Version=v${version}" ];
 
@@ -24,15 +24,15 @@ buildGoModule rec {
     # want but also limits the tests
     unset subPackages
 
-    # checkFlags aren't correctly passed through via buildGoModule so we use buildFlagsArray
-    # -short only runs the unit-tests tagged short
-    # move to checkFlags after https://github.com/NixOS/nixpkgs/pull/173702
-    buildFlagsArray+="-short"
-
     # remove tests that require networking
-    rm cmd/infracost/{breakdown,diff,hcl,run}_test.go
+    rm cmd/infracost/{breakdown,comment,diff,hcl,run,upload}_test.go
+    rm cmd/infracost/comment_{azure_repos,bitbucket,github,gitlab}_test.go
   '';
 
+  checkFlags = [
+    "-short"
+  ];
+
   postInstall = ''
     export INFRACOST_SKIP_UPDATE_CHECK=true
     installShellCompletion --cmd infracost \
diff --git a/pkgs/tools/misc/ink/default.nix b/pkgs/tools/misc/ink/default.nix
index 6932d04c8d6ca..6e46240b64d62 100644
--- a/pkgs/tools/misc/ink/default.nix
+++ b/pkgs/tools/misc/ink/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "man" ];
 
   meta = with lib; {
-    description = "A command line tool for checking the ink level of your locally connected printer";
+    description = "Command line tool for checking the ink level of your locally connected printer";
     longDescription = ''
       Ink is a command line tool for checking the ink level of your locally connected printer on a system which runs Linux or FreeBSD. Canon BJNP network printers are supported too.
     '';
diff --git a/pkgs/tools/misc/inklingreader/default.nix b/pkgs/tools/misc/inklingreader/default.nix
index efe1eeb34aebc..55596ba489992 100644
--- a/pkgs/tools/misc/inklingreader/default.nix
+++ b/pkgs/tools/misc/inklingreader/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://github.com/roelj/inklingreader";
-    description = "A GNU/Linux-friendly version of the Wacom Inkling SketchManager";
+    description = "GNU/Linux-friendly version of the Wacom Inkling SketchManager";
     license = lib.licenses.gpl3;
     maintainers = with lib.maintainers; [ totoroot ];
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/misc/inspec/Gemfile.lock b/pkgs/tools/misc/inspec/Gemfile.lock
index 503207134db06..d0f1255960b47 100644
--- a/pkgs/tools/misc/inspec/Gemfile.lock
+++ b/pkgs/tools/misc/inspec/Gemfile.lock
@@ -1,204 +1,207 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (7.0.4.3)
+    activesupport (7.0.8)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
-    addressable (2.8.4)
+    addressable (2.8.6)
       public_suffix (>= 2.0.2, < 6.0)
     ast (2.4.2)
-    aws-eventstream (1.2.0)
-    aws-partitions (1.749.0)
-    aws-sdk-alexaforbusiness (1.58.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-eventstream (1.3.0)
+    aws-partitions (1.864.0)
+    aws-sdk-account (1.20.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-alexaforbusiness (1.67.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-amplify (1.32.0)
       aws-sdk-core (~> 3, >= 3.120.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-apigateway (1.81.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-apigateway (1.90.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-apigatewayv2 (1.44.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-apigatewayv2 (1.53.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-applicationautoscaling (1.51.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-athena (1.64.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-athena (1.79.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-autoscaling (1.63.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-autoscaling (1.92.0)
+      aws-sdk-core (~> 3, >= 3.176.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-batch (1.47.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-batch (1.73.0)
+      aws-sdk-core (~> 3, >= 3.176.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-budgets (1.52.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-budgets (1.62.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudformation (1.77.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-cloudformation (1.97.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudfront (1.76.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-cloudfront (1.86.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudhsm (1.41.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-cloudhsm (1.50.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudhsmv2 (1.44.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-cloudhsmv2 (1.53.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudtrail (1.58.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-cloudtrail (1.74.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudwatch (1.72.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-cloudwatch (1.84.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudwatchevents (1.46.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-cloudwatchevents (1.62.0)
+      aws-sdk-core (~> 3, >= 3.176.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudwatchlogs (1.62.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-cloudwatchlogs (1.75.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-codecommit (1.53.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-codecommit (1.62.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-codedeploy (1.52.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-codedeploy (1.63.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-codepipeline (1.55.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-codepipeline (1.67.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cognitoidentity (1.31.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-cognitoidentity (1.45.0)
+      aws-sdk-core (~> 3, >= 3.176.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cognitoidentityprovider (1.53.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-cognitoidentityprovider (1.76.0)
+      aws-sdk-core (~> 3, >= 3.176.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-configservice (1.89.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-configservice (1.103.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-core (3.171.0)
-      aws-eventstream (~> 1, >= 1.0.2)
+    aws-sdk-core (3.190.0)
+      aws-eventstream (~> 1, >= 1.3.0)
       aws-partitions (~> 1, >= 1.651.0)
-      aws-sigv4 (~> 1.5)
+      aws-sigv4 (~> 1.8)
       jmespath (~> 1, >= 1.6.1)
-    aws-sdk-costandusagereportservice (1.43.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-costandusagereportservice (1.53.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-databasemigrationservice (1.53.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-databasemigrationservice (1.80.0)
+      aws-sdk-core (~> 3, >= 3.176.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-dynamodb (1.84.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-dynamodb (1.98.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-ec2 (1.375.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-ec2 (1.430.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-ecr (1.58.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-ecr (1.68.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-ecrpublic (1.16.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-ecrpublic (1.25.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-ecs (1.114.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-ecs (1.135.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-efs (1.59.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-efs (1.71.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-eks (1.83.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-eks (1.95.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-elasticache (1.84.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-elasticache (1.95.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-elasticbeanstalk (1.54.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-elasticbeanstalk (1.63.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-elasticloadbalancing (1.42.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-elasticloadbalancing (1.51.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-elasticloadbalancingv2 (1.84.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-elasticloadbalancingv2 (1.96.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-elasticsearchservice (1.69.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-elasticsearchservice (1.79.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-emr (1.53.0)
       aws-sdk-core (~> 3, >= 3.121.2)
       aws-sigv4 (~> 1.1)
-    aws-sdk-eventbridge (1.24.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-eventbridge (1.46.0)
+      aws-sdk-core (~> 3, >= 3.176.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-firehose (1.51.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-firehose (1.60.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-glue (1.88.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-glue (1.145.0)
+      aws-sdk-core (~> 3, >= 3.176.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-guardduty (1.67.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-guardduty (1.85.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-iam (1.77.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-iam (1.92.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kafka (1.54.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-kafka (1.67.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kinesis (1.45.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-kinesis (1.54.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kms (1.63.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-kms (1.74.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-lambda (1.95.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-lambda (1.113.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-mq (1.40.0)
       aws-sdk-core (~> 3, >= 3.120.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-networkfirewall (1.26.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-networkfirewall (1.39.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-networkmanager (1.30.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-networkmanager (1.40.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-organizations (1.59.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-organizations (1.77.0)
+      aws-sdk-core (~> 3, >= 3.176.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-ram (1.26.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-rds (1.176.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-rds (1.208.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-redshift (1.91.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-redshift (1.107.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-route53 (1.71.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-route53 (1.83.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-route53domains (1.43.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-route53domains (1.54.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-route53resolver (1.40.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-route53resolver (1.51.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.120.1)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-s3 (1.141.0)
+      aws-sdk-core (~> 3, >= 3.189.0)
       aws-sdk-kms (~> 1)
-      aws-sigv4 (~> 1.4)
+      aws-sigv4 (~> 1.8)
     aws-sdk-s3control (1.43.0)
       aws-sdk-core (~> 3, >= 3.122.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-secretsmanager (1.46.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-securityhub (1.79.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-securityhub (1.99.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-servicecatalog (1.60.0)
       aws-sdk-core (~> 3, >= 3.112.0)
@@ -206,8 +209,8 @@ GEM
     aws-sdk-ses (1.41.0)
       aws-sdk-core (~> 3, >= 3.120.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-shield (1.51.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-shield (1.60.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-signer (1.32.0)
       aws-sdk-core (~> 3, >= 3.120.0)
@@ -215,17 +218,17 @@ GEM
     aws-sdk-simpledb (1.29.0)
       aws-sdk-core (~> 3, >= 3.120.0)
       aws-sigv2 (~> 1.0)
-    aws-sdk-sms (1.43.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-sms (1.52.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-sns (1.60.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-sns (1.70.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-sqs (1.53.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-sqs (1.69.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-ssm (1.150.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-ssm (1.162.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-states (1.39.0)
       aws-sdk-core (~> 3, >= 3.112.0)
@@ -233,14 +236,14 @@ GEM
     aws-sdk-synthetics (1.19.0)
       aws-sdk-core (~> 3, >= 3.121.2)
       aws-sigv4 (~> 1.1)
-    aws-sdk-transfer (1.34.0)
-      aws-sdk-core (~> 3, >= 3.112.0)
+    aws-sdk-transfer (1.73.0)
+      aws-sdk-core (~> 3, >= 3.176.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-waf (1.43.0)
       aws-sdk-core (~> 3, >= 3.122.0)
       aws-sigv4 (~> 1.1)
-    aws-sigv2 (1.1.0)
-    aws-sigv4 (1.5.2)
+    aws-sigv2 (1.2.0)
+    aws-sigv4 (1.8.0)
       aws-eventstream (~> 1, >= 1.0.2)
     azure_graph_rbac (0.17.2)
       ms_rest_azure (~> 0.12.0)
@@ -254,17 +257,24 @@ GEM
       ms_rest_azure (~> 0.12.0)
     bson (4.15.0)
     builder (3.2.4)
-    chef-config (18.2.7)
+    chef-config (18.3.0)
       addressable
-      chef-utils (= 18.2.7)
+      chef-utils (= 18.3.0)
       fuzzyurl
       mixlib-config (>= 2.2.12, < 4.0)
       mixlib-shellout (>= 2.0, < 4.0)
       tomlrb (~> 1.2)
+    chef-licensing (0.7.5)
+      activesupport (~> 7.0, < 7.1)
+      chef-config (>= 15)
+      faraday (>= 1, < 3)
+      faraday-http-cache
+      tty-prompt (~> 0.23)
+      tty-spinner (~> 0.9.3)
     chef-telemetry (1.1.1)
       chef-config
       concurrent-ruby (~> 1.0)
-    chef-utils (18.2.7)
+    chef-utils (18.3.0)
       concurrent-ruby
     coderay (1.1.3)
     concurrent-ruby (1.2.2)
@@ -275,10 +285,34 @@ GEM
     docker-api (2.2.0)
       excon (>= 0.47.0)
       multi_json
-    domain_name (0.5.20190701)
-      unf (>= 0.0.5, < 1.0.0)
+    domain_name (0.6.20231109)
+    dry-configurable (0.13.0)
+      concurrent-ruby (~> 1.0)
+      dry-core (~> 0.6)
+    dry-container (0.11.0)
+      concurrent-ruby (~> 1.0)
+    dry-core (0.9.1)
+      concurrent-ruby (~> 1.0)
+      zeitwerk (~> 2.6)
+    dry-inflector (0.3.0)
+    dry-logic (1.3.0)
+      concurrent-ruby (~> 1.0)
+      dry-core (~> 0.9, >= 0.9)
+      zeitwerk (~> 2.6)
+    dry-struct (1.5.2)
+      dry-core (~> 0.9, >= 0.9)
+      dry-types (~> 1.6)
+      ice_nine (~> 0.11)
+      zeitwerk (~> 2.6)
+    dry-types (1.6.1)
+      concurrent-ruby (~> 1.0)
+      dry-container (~> 0.3)
+      dry-core (~> 0.9, >= 0.9)
+      dry-inflector (~> 0.1, >= 0.1.2)
+      dry-logic (~> 1.3, >= 1.3)
+      zeitwerk (~> 2.6)
     erubi (1.12.0)
-    excon (0.99.0)
+    excon (0.105.0)
     faraday (1.10.3)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
@@ -299,6 +333,8 @@ GEM
     faraday-excon (1.1.0)
     faraday-follow_redirects (0.3.0)
       faraday (>= 1, < 3)
+    faraday-http-cache (2.5.0)
+      faraday (>= 0.8)
     faraday-httpclient (1.0.1)
     faraday-multipart (1.0.4)
       multipart-post (~> 2)
@@ -309,7 +345,7 @@ GEM
     faraday-retry (1.0.3)
     faraday_middleware (1.0.0)
       faraday (~> 1.0)
-    ffi (1.15.5)
+    ffi (1.16.3)
     fuzzyurl (0.9.0)
     google-api-client (0.52.0)
       addressable (~> 2.5, >= 2.5.1)
@@ -332,33 +368,37 @@ GEM
     gyoku (1.4.0)
       builder (>= 2.1.2)
       rexml (~> 3.0)
-    hashie (4.1.0)
+    hashdiff (1.0.1)
+    hashie (5.0.0)
     highline (2.1.0)
     http-cookie (1.0.5)
       domain_name (~> 0.5)
     httpclient (2.8.3)
-    i18n (1.12.0)
+    i18n (1.14.1)
       concurrent-ruby (~> 1.0)
+    ice_nine (0.11.2)
     inifile (3.0.0)
-    inspec (5.21.29)
+    inspec (6.6.0)
       cookstyle
       faraday_middleware (>= 0.12.2, < 1.1)
-      inspec-core (= 5.21.29)
+      inspec-core (= 6.6.0)
       mongo (= 2.13.2)
       progress_bar (~> 1.3.3)
       rake
       train (~> 3.10)
       train-aws (~> 0.2)
       train-habitat (~> 0.1)
+      train-kubernetes (~> 0.1)
       train-winrm (~> 0.2)
-    inspec-bin (5.21.29)
-      inspec (= 5.21.29)
-    inspec-core (5.21.29)
+    inspec-bin (6.6.0)
+      inspec (= 6.6.0)
+    inspec-core (6.6.0)
       addressable (~> 2.4)
+      chef-licensing (>= 0.7.5)
       chef-telemetry (~> 1.0, >= 1.0.8)
       faraday (>= 1, < 3)
       faraday-follow_redirects (~> 0.3)
-      hashie (>= 3.4, < 5.0)
+      hashie (>= 3.4, < 6.0)
       license-acceptance (>= 0.2.13, < 3.0)
       method_source (>= 0.8, < 2.0)
       mixlib-log (~> 3.0)
@@ -366,19 +406,32 @@ GEM
       parallel (~> 1.9)
       parslet (>= 1.5, < 2.0)
       pry (~> 0.13)
-      rspec (>= 3.9, <= 3.11)
+      rspec (>= 3.9, <= 3.12)
       rspec-its (~> 1.2)
       rubyzip (>= 1.2.2, < 3.0)
       semverse (~> 3.0)
       sslshake (~> 1.2)
-      thor (>= 0.20, < 2.0)
+      thor (>= 0.20, < 1.3.0)
       tomlrb (>= 1.2, < 2.1)
-      train-core (~> 3.10)
+      train-core (>= 3.11.0)
       tty-prompt (~> 0.17)
       tty-table (~> 0.10)
     jmespath (1.6.2)
-    json (2.6.3)
-    jwt (2.7.0)
+    json (2.7.1)
+    jsonpath (0.9.9)
+      multi_json
+      to_regexp (~> 0.2.1)
+    jwt (2.7.1)
+    k8s-ruby (0.14.0)
+      dry-configurable (~> 0.13.0)
+      dry-struct (<= 1.6.0)
+      dry-types (<= 1.7.0)
+      excon (~> 0.71)
+      hashdiff (~> 1.0.0)
+      jsonpath (~> 0.9.5)
+      recursive-open-struct (~> 1.1.3)
+      yajl-ruby (~> 1.4.0)
+      yaml-safe_load_stream3
     license-acceptance (2.1.13)
       pastel (~> 0.7)
       tomlrb (>= 1.2, < 3.0)
@@ -390,8 +443,8 @@ GEM
       multi_json (~> 1.14)
     memoist (0.16.2)
     method_source (1.0.0)
-    mini_mime (1.1.2)
-    minitest (5.18.0)
+    mini_mime (1.1.5)
+    minitest (5.20.0)
     mixlib-config (3.0.27)
       tomlrb
     mixlib-log (3.0.9)
@@ -412,13 +465,14 @@ GEM
     multipart-post (2.3.0)
     net-scp (4.0.0)
       net-ssh (>= 2.6.5, < 8.0.0)
-    net-ssh (7.1.0)
+    net-ssh (7.2.0)
     nori (2.6.0)
     options (2.3.2)
     os (1.1.4)
     parallel (1.23.0)
-    parser (3.2.2.0)
+    parser (3.2.2.4)
       ast (~> 2.4.1)
+      racc
     parslet (1.8.2)
     pastel (0.8.0)
       tty-color (~> 0.5)
@@ -428,32 +482,34 @@ GEM
     pry (0.14.2)
       coderay (~> 1.1)
       method_source (~> 1.0)
-    public_suffix (5.0.1)
+    public_suffix (5.0.4)
+    racc (1.7.3)
     rainbow (3.1.1)
-    rake (13.0.6)
-    regexp_parser (2.8.0)
+    rake (13.1.0)
+    recursive-open-struct (1.1.3)
+    regexp_parser (2.8.3)
     representable (3.2.0)
       declarative (< 0.1.0)
       trailblazer-option (>= 0.1.1, < 0.2.0)
       uber (< 0.2.0)
     retriable (3.1.2)
-    rexml (3.2.5)
-    rspec (3.11.0)
-      rspec-core (~> 3.11.0)
-      rspec-expectations (~> 3.11.0)
-      rspec-mocks (~> 3.11.0)
-    rspec-core (3.11.0)
-      rspec-support (~> 3.11.0)
-    rspec-expectations (3.11.1)
+    rexml (3.2.6)
+    rspec (3.12.0)
+      rspec-core (~> 3.12.0)
+      rspec-expectations (~> 3.12.0)
+      rspec-mocks (~> 3.12.0)
+    rspec-core (3.12.2)
+      rspec-support (~> 3.12.0)
+    rspec-expectations (3.12.3)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.11.0)
+      rspec-support (~> 3.12.0)
     rspec-its (1.3.0)
       rspec-core (>= 3.0.0)
       rspec-expectations (>= 3.0.0)
-    rspec-mocks (3.11.2)
+    rspec-mocks (3.12.6)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.11.0)
-    rspec-support (3.11.1)
+      rspec-support (~> 3.12.0)
+    rspec-support (3.12.1)
     rubocop (1.25.1)
       parallel (~> 1.10)
       parser (>= 3.1.0.0)
@@ -463,14 +519,14 @@ GEM
       rubocop-ast (>= 1.15.1, < 2.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 3.0)
-    rubocop-ast (1.28.0)
+    rubocop-ast (1.30.0)
       parser (>= 3.2.1.0)
     ruby-progressbar (1.13.0)
     ruby2_keywords (0.0.5)
     rubyntlm (0.6.3)
     rubyzip (2.3.2)
     semverse (3.0.2)
-    signet (0.17.0)
+    signet (0.18.0)
       addressable (~> 2.8)
       faraday (>= 0.17.5, < 3.a)
       jwt (>= 1.5, < 3.0)
@@ -481,11 +537,12 @@ GEM
       unicode-display_width (>= 1.5, < 3.0)
       unicode_utils (~> 1.4)
     strings-ansi (0.2.0)
-    thor (1.2.1)
+    thor (1.2.2)
     timeliness (0.3.10)
+    to_regexp (0.2.1)
     tomlrb (1.3.0)
     trailblazer-option (0.1.2)
-    train (3.10.7)
+    train (3.11.0)
       activesupport (>= 6.0.3.1)
       azure_graph_rbac (~> 0.16)
       azure_mgmt_key_vault (~> 0.17)
@@ -496,17 +553,18 @@ GEM
       google-api-client (>= 0.23.9, <= 0.52.0)
       googleauth (>= 0.6.6, <= 0.14.0)
       inifile (~> 3.0)
-      train-core (= 3.10.7)
+      train-core (= 3.11.0)
       train-winrm (~> 0.2)
-    train-aws (0.2.24)
+    train-aws (0.2.36)
+      aws-sdk-account (~> 1.14)
       aws-sdk-alexaforbusiness (~> 1.0)
       aws-sdk-amplify (~> 1.32.0)
       aws-sdk-apigateway (~> 1.0)
       aws-sdk-apigatewayv2 (~> 1.0)
       aws-sdk-applicationautoscaling (>= 1.46, < 1.52)
       aws-sdk-athena (~> 1.0)
-      aws-sdk-autoscaling (>= 1.22, < 1.64)
-      aws-sdk-batch (>= 1.36, < 1.48)
+      aws-sdk-autoscaling (>= 1.22, < 1.93)
+      aws-sdk-batch (>= 1.36, < 1.74)
       aws-sdk-budgets (~> 1.0)
       aws-sdk-cloudformation (~> 1.0)
       aws-sdk-cloudfront (~> 1.0)
@@ -514,17 +572,17 @@ GEM
       aws-sdk-cloudhsmv2 (~> 1.0)
       aws-sdk-cloudtrail (~> 1.8)
       aws-sdk-cloudwatch (~> 1.13)
-      aws-sdk-cloudwatchevents (>= 1.36, < 1.47)
+      aws-sdk-cloudwatchevents (>= 1.36, < 1.63)
       aws-sdk-cloudwatchlogs (~> 1.13)
       aws-sdk-codecommit (~> 1.0)
       aws-sdk-codedeploy (~> 1.0)
       aws-sdk-codepipeline (~> 1.0)
-      aws-sdk-cognitoidentity (>= 1.26, < 1.32)
-      aws-sdk-cognitoidentityprovider (>= 1.46, < 1.54)
+      aws-sdk-cognitoidentity (>= 1.26, < 1.46)
+      aws-sdk-cognitoidentityprovider (>= 1.46, < 1.77)
       aws-sdk-configservice (~> 1.21)
       aws-sdk-core (~> 3.0)
       aws-sdk-costandusagereportservice (~> 1.6)
-      aws-sdk-databasemigrationservice (>= 1.42, < 1.54)
+      aws-sdk-databasemigrationservice (>= 1.42, < 1.81)
       aws-sdk-dynamodb (~> 1.31)
       aws-sdk-ec2 (~> 1.70)
       aws-sdk-ecr (~> 1.18)
@@ -538,9 +596,9 @@ GEM
       aws-sdk-elasticloadbalancingv2 (~> 1.0)
       aws-sdk-elasticsearchservice (~> 1.0)
       aws-sdk-emr (~> 1.53.0)
-      aws-sdk-eventbridge (~> 1.24.0)
+      aws-sdk-eventbridge (>= 1.24, < 1.47)
       aws-sdk-firehose (~> 1.0)
-      aws-sdk-glue (>= 1.71, < 1.89)
+      aws-sdk-glue (>= 1.71, < 1.146)
       aws-sdk-guardduty (~> 1.31)
       aws-sdk-iam (~> 1.13)
       aws-sdk-kafka (~> 1.0)
@@ -550,7 +608,7 @@ GEM
       aws-sdk-mq (~> 1.40.0)
       aws-sdk-networkfirewall (>= 1.6.0)
       aws-sdk-networkmanager (>= 1.13.0)
-      aws-sdk-organizations (>= 1.17, < 1.60)
+      aws-sdk-organizations (>= 1.17, < 1.78)
       aws-sdk-ram (>= 1.21, < 1.27)
       aws-sdk-rds (~> 1.43)
       aws-sdk-redshift (~> 1.0)
@@ -572,9 +630,9 @@ GEM
       aws-sdk-ssm (~> 1.0)
       aws-sdk-states (>= 1.35, < 1.40)
       aws-sdk-synthetics (~> 1.19.0)
-      aws-sdk-transfer (>= 1.26, < 1.35)
+      aws-sdk-transfer (>= 1.26, < 1.74)
       aws-sdk-waf (~> 1.43.0)
-    train-core (3.10.7)
+    train-core (3.11.0)
       addressable (~> 2.5)
       ffi (!= 1.13.0)
       json (>= 1.8, < 3.0)
@@ -582,6 +640,9 @@ GEM
       net-scp (>= 1.2, < 5.0)
       net-ssh (>= 2.9, < 8.0)
     train-habitat (0.2.22)
+    train-kubernetes (0.1.12)
+      k8s-ruby (~> 0.14.0)
+      train (~> 3.0)
     train-winrm (0.2.13)
       winrm (>= 2.3.6, < 3.0)
       winrm-elevated (~> 1.2.2)
@@ -600,6 +661,8 @@ GEM
       tty-screen (~> 0.8)
       wisper (~> 2.0)
     tty-screen (0.8.1)
+    tty-spinner (0.9.3)
+      tty-cursor (~> 0.7)
     tty-table (0.12.0)
       pastel (~> 0.8)
       strings (~> 0.2.0)
@@ -607,10 +670,7 @@ GEM
     tzinfo (2.0.6)
       concurrent-ruby (~> 1.0)
     uber (0.1.0)
-    unf (0.1.4)
-      unf_ext
-    unf_ext (0.0.8.2)
-    unicode-display_width (2.4.2)
+    unicode-display_width (2.5.0)
     unicode_utils (1.4.0)
     winrm (2.3.6)
       builder (>= 2.1.2)
@@ -631,13 +691,16 @@ GEM
       rubyzip (~> 2.0)
       winrm (~> 2.0)
     wisper (2.0.1)
+    yajl-ruby (1.4.3)
+    yaml-safe_load_stream3 (0.1.2)
+    zeitwerk (2.6.12)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  inspec!
-  inspec-bin!
+  inspec
+  inspec-bin
 
 BUNDLED WITH
-   2.1.4
+   2.4.22
diff --git a/pkgs/tools/misc/inspec/gemset.nix b/pkgs/tools/misc/inspec/gemset.nix
index ac2a8914427f8..583b3023c6f53 100644
--- a/pkgs/tools/misc/inspec/gemset.nix
+++ b/pkgs/tools/misc/inspec/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15m0b1im6i401ab51vzr7f8nk8kys1qa0snnl741y3sir3xd07jp";
+      sha256 = "188kbwkn1lbhz40ala8ykp20jzqphgc68g3d8flin8cqa2xid0s5";
       type = "gem";
     };
-    version = "7.0.4.3";
+    version = "7.0.8";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20";
+      sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr";
       type = "gem";
     };
-    version = "2.8.4";
+    version = "2.8.6";
   };
   ast = {
     groups = ["default"];
@@ -36,20 +36,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz";
+      sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   aws-partitions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12n41py8jfxf9p3gy62ikw8n7wd0cmczk3i2fzxb4ms2xvkxv7b0";
+      sha256 = "16n1d0bh3zy925y4f8flrnkfir2smsj0j31zslfaz6vf6cvi9qjs";
       type = "gem";
     };
-    version = "1.749.0";
+    version = "1.864.0";
+  };
+  aws-sdk-account = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1h6fqfq5pgsmnchmg4w4l9mypv2ggix1d0a8b8w66a9xvsk8bkxd";
+      type = "gem";
+    };
+    version = "1.20.0";
   };
   aws-sdk-alexaforbusiness = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -57,10 +68,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hbb2fpmxb77bp4mm3z24k8vhcc8y9ngjz9jarb54v4lbs8cmlq6";
+      sha256 = "1ps37857dgnydnih2gxrl3a5fr571242006l9634jzm8w91jpb80";
       type = "gem";
     };
-    version = "1.58.0";
+    version = "1.67.0";
   };
   aws-sdk-amplify = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -79,10 +90,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m3vxlx20hjd14hc90k4lvqvhblh4c9m14pbnqp3k271zpaljnzx";
+      sha256 = "0gqd04rdzz487bgy64gq2fqm20wcdd2zk8rnl51nyq6cfxsslbvw";
       type = "gem";
     };
-    version = "1.81.0";
+    version = "1.90.0";
   };
   aws-sdk-apigatewayv2 = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -90,10 +101,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lq2qzxk396kbmbxcsx8ic61758zl3ynxymwia1wzdxwkpsxks71";
+      sha256 = "1dq11njjh05dm6dc2gjrbhl6ga6a9mxaisr7bgk0gv295b5nfiwp";
       type = "gem";
     };
-    version = "1.44.0";
+    version = "1.53.0";
   };
   aws-sdk-applicationautoscaling = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -112,10 +123,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qzdnv42x0q2f53zsvj7i56b49n82zbx3qikcf9mp2bgxsbddvg8";
+      sha256 = "19fs835xm7pls49yryayh80m6dap44g4r2qk94ssvck5paxyylk3";
       type = "gem";
     };
-    version = "1.64.0";
+    version = "1.79.0";
   };
   aws-sdk-autoscaling = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -123,10 +134,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wr9dkf88h46s9n173imvbm6233a8d3cmcnvbm2s3bz0glzp0k4c";
+      sha256 = "1hv9nfzbn478vjv88c6jybf4nsii1c04vzqckgh4pajm5mc8kk7p";
       type = "gem";
     };
-    version = "1.63.0";
+    version = "1.92.0";
   };
   aws-sdk-batch = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -134,10 +145,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xd8yvvxdmha951h8b1qjijx3l21c9pwjr6nifaxjylpx5897fc0";
+      sha256 = "06lxajqdjwxdc9wx17igsdxj608charbpwhnfnb83dcrfaavkqms";
       type = "gem";
     };
-    version = "1.47.0";
+    version = "1.73.0";
   };
   aws-sdk-budgets = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -145,10 +156,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qmlqplc5l72p3mgpin3wjcdny4fbnq9lwcn55vphp8kgdzvv74p";
+      sha256 = "0689sck8d49smzavhipl2i3nrr5lrw3miam88a7h7qckwmlsp098";
       type = "gem";
     };
-    version = "1.52.0";
+    version = "1.62.0";
   };
   aws-sdk-cloudformation = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -156,10 +167,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1634skrhc9nj46smvclx3767qvj02ydqjw15rkww1pigqvh46mcz";
+      sha256 = "0sgsyzsyjdw795k81sc0qy1h4rd3ksxszcxp93wx07vrl8nv5i0a";
       type = "gem";
     };
-    version = "1.77.0";
+    version = "1.97.0";
   };
   aws-sdk-cloudfront = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -167,10 +178,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jfrqwrvp9iv7sf24w0bbw094nz87w1gvrbq1725b0d0bry66ydy";
+      sha256 = "1fxrv7zqlp61cpazd3i3slbyv10fgd6xk9wsb0p5fshm64zg0s16";
       type = "gem";
     };
-    version = "1.76.0";
+    version = "1.86.0";
   };
   aws-sdk-cloudhsm = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -178,10 +189,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gis7ggljdsygb64knxfg6vxn8rbk5zfgcxqrjhvf4812hqzv4sp";
+      sha256 = "1ijcid6qpz49vmsp7zig0h7qzgx5rc027iqwl4bnyic6vmgir6ai";
       type = "gem";
     };
-    version = "1.41.0";
+    version = "1.50.0";
   };
   aws-sdk-cloudhsmv2 = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -189,10 +200,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10fcy73lvivjdywklkqhp70jik2fscp0cz54qdzjpdhwvvpvgnfk";
+      sha256 = "0hmjkz09xldacq12l1b924gkfyzx6s0zvigmw2dvbxf3v1imainn";
       type = "gem";
     };
-    version = "1.44.0";
+    version = "1.53.0";
   };
   aws-sdk-cloudtrail = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -200,10 +211,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zfppjsasqbdhv9vvvjqif3b4mxgchw0i66hyxpc2gswk2a5803j";
+      sha256 = "03nr4qpv6678b3lpgbfvlaxydg7m72r1l2ml0mv14z5h066i964s";
       type = "gem";
     };
-    version = "1.58.0";
+    version = "1.74.0";
   };
   aws-sdk-cloudwatch = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -211,10 +222,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vls66mnkmxd05wqadgh7hfknj7yhnsfdms43cy607jv057lcqn4";
+      sha256 = "18865fsj24pf6z0rn1n94b7q4299hclbi7h085484am7g0v1gfnx";
       type = "gem";
     };
-    version = "1.72.0";
+    version = "1.84.0";
   };
   aws-sdk-cloudwatchevents = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -222,10 +233,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xfyviddwll6n4lxl3g57x86gic9ycppnmpnl90jsbgy2dp12632";
+      sha256 = "1dbafxhkp3x5fgibc3i663mnf44kbmfh9ia9cq6fwn45cw2bpfik";
       type = "gem";
     };
-    version = "1.46.0";
+    version = "1.62.0";
   };
   aws-sdk-cloudwatchlogs = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -233,10 +244,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1paqyv0m55ag25liwmgqdj1vwi3yd231hvn419i0y1wg5ffcsg7j";
+      sha256 = "01mvckn874662bl9vfphgn2s983hxsp53bsf07y809kkksw4mipr";
       type = "gem";
     };
-    version = "1.62.0";
+    version = "1.75.0";
   };
   aws-sdk-codecommit = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -244,10 +255,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vzpfsnnvwp21d9rsdaaml8fsigbwj344ghqw9834m4y3g7xax80";
+      sha256 = "0blk86gvg74s7imhz07brrgc4q71ddnwd5nf1a86vyn8rdcq0dxx";
       type = "gem";
     };
-    version = "1.53.0";
+    version = "1.62.0";
   };
   aws-sdk-codedeploy = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -255,10 +266,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g8lp4ci1b40rx754hf2vfpzl4v9zi5vjakzmc1r9fg58x0v9wyv";
+      sha256 = "0v4gv1ycw0b12an6002qz0vspzqhxzc1719ylshr7zxlc4yy7ndi";
       type = "gem";
     };
-    version = "1.52.0";
+    version = "1.63.0";
   };
   aws-sdk-codepipeline = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -266,10 +277,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kvzsssfas7m2sxmfirnl0bp49m079bgj8lg5rlj2gri3wdgkx3f";
+      sha256 = "0d0finvyv46h9bqyds092pnjspg6hcr2rakk54w3y84smyzaawp3";
       type = "gem";
     };
-    version = "1.55.0";
+    version = "1.67.0";
   };
   aws-sdk-cognitoidentity = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -277,10 +288,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k7d4riiczkkxi4l3nh8nd2sn449j73s9cwcbk6b37lnkvq81kq2";
+      sha256 = "1hhhnlipplr9fv8lvq612y49n4xasqdjkkxd7m002drp2zm7rzbj";
       type = "gem";
     };
-    version = "1.31.0";
+    version = "1.45.0";
   };
   aws-sdk-cognitoidentityprovider = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -288,10 +299,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j2v3m0d5d756nm98xgf10kz4cz68a8m9xlwzlqh86smqcml6v25";
+      sha256 = "1v2lf191jinkl3kfbl6zdv29cn7xbpyksshww1mz29a323j5bm4x";
       type = "gem";
     };
-    version = "1.53.0";
+    version = "1.76.0";
   };
   aws-sdk-configservice = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -299,10 +310,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lky7k2fqzqs8lpm3wqa5vw1b7np8g82hi39m6fsk1wvahx6kiwa";
+      sha256 = "11xb46y5glq0bqlhbhpkr9mf1p17jsxb5l0wq3hpvzxw376ip6hl";
       type = "gem";
     };
-    version = "1.89.0";
+    version = "1.103.0";
   };
   aws-sdk-core = {
     dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
@@ -310,10 +321,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0732vv8zi67z25fss1sdvqx0vv1ap3w6hz1avxzwznkjp002vj39";
+      sha256 = "19nglxz49nlzgsvnivb3bdm17vxjn1ng2br8659xv48nzjrmyid3";
       type = "gem";
     };
-    version = "3.171.0";
+    version = "3.190.0";
   };
   aws-sdk-costandusagereportservice = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -321,10 +332,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l9df1dji0m1sj6w5gjmxd0bjv7q858pnhwjhfkr0mfdk1dnsjbj";
+      sha256 = "0jps30r7l5g7j4b1lss9m1isyk5h8k469hq9dp4yljis0jdlmy3c";
       type = "gem";
     };
-    version = "1.43.0";
+    version = "1.53.0";
   };
   aws-sdk-databasemigrationservice = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -332,10 +343,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kppbmbd26bmbwy1f803symy36kbigf5mdgd91jh5r2l63418m46";
+      sha256 = "1ss4x2syf6c5ray6g61cxxcx2q7mzqv0gk00d1dl7g4c5z9avhwi";
       type = "gem";
     };
-    version = "1.53.0";
+    version = "1.80.0";
   };
   aws-sdk-dynamodb = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -343,10 +354,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h7sl8236mgq0q6mzbznrq3wksr3jd4m8lwj6bkz678z6mxa0fal";
+      sha256 = "1ib8iwgp7ddhcgmqmzjq9js0kw8m5mm4mi7klrl84925lgvlvk65";
       type = "gem";
     };
-    version = "1.84.0";
+    version = "1.98.0";
   };
   aws-sdk-ec2 = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -354,10 +365,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zj67jzg81nr3da2mwh27b22ps2waz41fhvc2f2khdfjazi7knqv";
+      sha256 = "1zyazx97nskgl9xzspg2q1rji02p2jv789v8qd1qz6hknz0z6r5f";
       type = "gem";
     };
-    version = "1.375.0";
+    version = "1.430.0";
   };
   aws-sdk-ecr = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -365,10 +376,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cyscy0v5xsk8x946r125bidrzx7y4fam09ra8pl8xjp5a0706ig";
+      sha256 = "103ycwxv367bkrqzdpypd0p650r62ka3azw2pzdwc38pj5r3nxl6";
       type = "gem";
     };
-    version = "1.58.0";
+    version = "1.68.0";
   };
   aws-sdk-ecrpublic = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -376,10 +387,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15iz3wnc2z3n0f9lnbfgqyyi0bg6l65dyn5wc09p8wilg6jlib5c";
+      sha256 = "1a5j7v70gwwy1md4awz37k77qlwgls390xlwbri8lkcxmaw2x5bp";
       type = "gem";
     };
-    version = "1.16.0";
+    version = "1.25.0";
   };
   aws-sdk-ecs = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -387,10 +398,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pkz2fy63wr6wfzmwyscfzsjn4443cp7y4kzvirg1gcyq1cpyxgy";
+      sha256 = "0s4yyi22v0vv3pyskpz4qzahngfxawxjx8x4ch2aj8c8wffkfclk";
       type = "gem";
     };
-    version = "1.114.0";
+    version = "1.135.0";
   };
   aws-sdk-efs = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -398,10 +409,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0r16nqsqhlc429p9hd1j226fkd9xq6x4ybm01sj482vjg4wsq4qg";
+      sha256 = "1m8ymz0wq1p6iz126qcdsrz0ss730p1inb6g1w07r9ganjdzbplx";
       type = "gem";
     };
-    version = "1.59.0";
+    version = "1.71.0";
   };
   aws-sdk-eks = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -409,10 +420,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12k9i7syfmxlk5dracwvin03bjhy8abyd58180z4zmq77al0dn24";
+      sha256 = "13aac0gpyxm660pbcbpvpcpw20db28p5lbwjs45rczc9l3yl9aw1";
       type = "gem";
     };
-    version = "1.83.0";
+    version = "1.95.0";
   };
   aws-sdk-elasticache = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -420,10 +431,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wydzznzk4zhy3bh4ra8b2dsdhhib4ahnppni72zhr3dvda0pxfg";
+      sha256 = "061zg2k3kvayrnih0qiilcdarwjap37bzf1a0v5n6a57606hc40s";
       type = "gem";
     };
-    version = "1.84.0";
+    version = "1.95.0";
   };
   aws-sdk-elasticbeanstalk = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -431,10 +442,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13haliasq2k74xhk0sl2rb9x14vk980rnp2rzm5d0jls42mkkzsm";
+      sha256 = "0ysn5cj4rwqj2jvsg02i8qs9j3z6c6lwhici58q09m62xzrhr3qg";
       type = "gem";
     };
-    version = "1.54.0";
+    version = "1.63.0";
   };
   aws-sdk-elasticloadbalancing = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -442,10 +453,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jf2mcb1lqqm5dpmrhrlszmf9hb98kj6i7yw118lqn5dkb1mjjy1";
+      sha256 = "09zvryq7121c05cswzwv337qylza33dwlqd97c11ii3y8pg2bsla";
       type = "gem";
     };
-    version = "1.42.0";
+    version = "1.51.0";
   };
   aws-sdk-elasticloadbalancingv2 = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -453,10 +464,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yzyk4q2g3hx74fhr7y37n8zp349g71micwzix5gwbjhfpjizy72";
+      sha256 = "1mgik7lhch27j4q4nzxci0rhrgybh0bx7bzcq48c5sggpm999qkr";
       type = "gem";
     };
-    version = "1.84.0";
+    version = "1.96.0";
   };
   aws-sdk-elasticsearchservice = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -464,10 +475,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rz8hs78cd1lxcha29y751hxrv6yhcw6q9rvpcg24bgf81d4n4ag";
+      sha256 = "1nqrx6vm4yi1amk7677rw6jvwrdhv7pj4g507r5hqcfmilr5z1gx";
       type = "gem";
     };
-    version = "1.69.0";
+    version = "1.79.0";
   };
   aws-sdk-emr = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -486,10 +497,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cj1pwvhwal1qvmaiwi42lhsak7mb61bmm7j1g4gmscxg36l3bj2";
+      sha256 = "1mnpcklsm8dicz35yj89jr870xii1xghfdjfqif1lxii4vvhlqba";
       type = "gem";
     };
-    version = "1.24.0";
+    version = "1.46.0";
   };
   aws-sdk-firehose = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -497,10 +508,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z0dvga01xg6pahy5p4bfc8s73n3ycjr0h3cxvhy8kcymynswn1k";
+      sha256 = "0n4iz5bv80gd7m070jyr5kv36yx8qyq1i8ljh5bfj3cr57vvdw89";
       type = "gem";
     };
-    version = "1.51.0";
+    version = "1.60.0";
   };
   aws-sdk-glue = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -508,10 +519,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1608aiav3iz6jcxdlprcax5984gq5m20dyg8w8caqjkgrrgkyd3f";
+      sha256 = "1pjw4vfniswiprjr5vivgq3vilw05gqqr5mkkwhx38y6xc8kr7ga";
       type = "gem";
     };
-    version = "1.88.0";
+    version = "1.145.0";
   };
   aws-sdk-guardduty = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -519,10 +530,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12wvpgzqw7lswxchsbwmn0csp5lj521a1fx6f0dv8s26swnmhdsk";
+      sha256 = "0ya8q0hgh7293jlz1pchci5qvywnmg87h3x3k9hsbqf1023bz9nz";
       type = "gem";
     };
-    version = "1.67.0";
+    version = "1.85.0";
   };
   aws-sdk-iam = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -530,10 +541,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0crb3m1apj6kszp9aqmc2lqw99i1xkxbp5fl1s5748718kld4s8v";
+      sha256 = "0whclpcvbdy7gzvqpk8734nxjfxs3362k197xl1wnrpixklkacyz";
       type = "gem";
     };
-    version = "1.77.0";
+    version = "1.92.0";
   };
   aws-sdk-kafka = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -541,10 +552,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pxzjmdb5bqrqnivmw7li2qliam0dm6v56idv50slds96q6jck61";
+      sha256 = "0gg28ixfr681sxjffp28wy47siz7jypvm04ldqarlcvgaqnk08ds";
       type = "gem";
     };
-    version = "1.54.0";
+    version = "1.67.0";
   };
   aws-sdk-kinesis = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -552,10 +563,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k14773dyzwcjcb9a1pqbh0vqzjlb19cwf0ydw7pch5g8x5fs5g2";
+      sha256 = "19xzw7i6i4f0yn604is07w3zf3q6lch2ki29bg31m0jd2jdj2rn0";
       type = "gem";
     };
-    version = "1.45.0";
+    version = "1.54.0";
   };
   aws-sdk-kms = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -563,10 +574,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v87zi28dfmrv7bv91yfldccnpd63n295siirbz7wqv1rajn8n02";
+      sha256 = "1isrj19kzy9sb7a76a1c2n5x0d9lg1h2n7fp7cn13xjis0hpnlxj";
       type = "gem";
     };
-    version = "1.63.0";
+    version = "1.74.0";
   };
   aws-sdk-lambda = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -574,10 +585,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a0l6yxmvc1hxlmhg4lcsh6yljmsav8p1rprlnnjvhgszhp3gcv3";
+      sha256 = "1gfysixcf5wsaqk0cycg3zryybs9zwvg0v6j9hn7zc99x27qjca4";
       type = "gem";
     };
-    version = "1.95.0";
+    version = "1.113.0";
   };
   aws-sdk-mq = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -596,10 +607,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ai74sc8q0vvnkicl4dyq1xikclpmdd0rbzlqpww64wd5q2i6myp";
+      sha256 = "02bq2flz4kqcr9fvk09mvn6r7h1arnjjw87l0qkgyr94x8ngidpy";
       type = "gem";
     };
-    version = "1.26.0";
+    version = "1.39.0";
   };
   aws-sdk-networkmanager = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -607,10 +618,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ldlvhcvbs5r2dzfa2wglacywnqgijbr9iqalq0jhbv4aknmgfjy";
+      sha256 = "0qpi693cjnzy91yyavmhgj6047kk04hslbqb7hgiqvz1ki4qr9q9";
       type = "gem";
     };
-    version = "1.30.0";
+    version = "1.40.0";
   };
   aws-sdk-organizations = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -618,10 +629,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b5zy7hc67k5pmmnv90p5skd12a61gk1swqlq4a5vn3kjlmg57al";
+      sha256 = "169dz3ip2vz22mk6hczsd1v6lf2v428i0jhpllnay11zsficc6p1";
       type = "gem";
     };
-    version = "1.59.0";
+    version = "1.77.0";
   };
   aws-sdk-ram = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -640,10 +651,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15jril7gd5ax0pabbj6gxfnh30x2c9ffw4dv31vb8k7rpdrzkzj8";
+      sha256 = "1yrc7ivykdcrq8s6isd368gr02jclwc140pckf1vyii2f2g79k30";
       type = "gem";
     };
-    version = "1.176.0";
+    version = "1.208.0";
   };
   aws-sdk-redshift = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -651,10 +662,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1smv2621gzrhk0wbnmyb2kdqcjp8z8wldy1vfypdcpgvlj9m2wvk";
+      sha256 = "08rgpxknp11q4dxzncn4x30bpqkd4ssi78wq2j0kfgl5qbid48y8";
       type = "gem";
     };
-    version = "1.91.0";
+    version = "1.107.0";
   };
   aws-sdk-route53 = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -662,10 +673,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xcg7rl6lllm4syxgw496976dnsmfwvxw4131klaycfx9dixz1kc";
+      sha256 = "1p7py5g5bk9yxlg6h04rkvgzgbysj7zm63bpdrswxwzhynmb8p9v";
       type = "gem";
     };
-    version = "1.71.0";
+    version = "1.83.0";
   };
   aws-sdk-route53domains = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -673,10 +684,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12in1rcjnni4xza6mdmp3avrb4hgkfk8dzsiqp97yvpywd1dbara";
+      sha256 = "15v2fbm9563kad3hnac5372xr7lvhxdyggrjzx1rbn56kf7bcb6n";
       type = "gem";
     };
-    version = "1.43.0";
+    version = "1.54.0";
   };
   aws-sdk-route53resolver = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -684,10 +695,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vcwh47pgr745wyl0zwjjhr29yynjgl9w8d0qpnqn1i8ywbnxn9b";
+      sha256 = "0i57m3vysjlbvfrf0jpyi343bi8nw1j9gjcm50sv3lzx0ix66bpi";
       type = "gem";
     };
-    version = "1.40.0";
+    version = "1.51.0";
   };
   aws-sdk-s3 = {
     dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
@@ -695,10 +706,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mapdzm97rv22pca1hvvshwsafa12gd2yv2fcy63dfjn5vjjq893";
+      sha256 = "0bnhpmi0iiaj88rqc5lhhnp2gyrk4fs8xz51lj36wwzng94qinya";
       type = "gem";
     };
-    version = "1.120.1";
+    version = "1.141.0";
   };
   aws-sdk-s3control = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -728,10 +739,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vp8hkmwl0p7xasbzhgnsk3ikj6l34vgyd3g9yg5nfsr4098almv";
+      sha256 = "1z63plqdq0hhl6g78dlxvr04g8a81smxn223wqsz2macf8c96wgl";
       type = "gem";
     };
-    version = "1.79.0";
+    version = "1.99.0";
   };
   aws-sdk-servicecatalog = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -761,10 +772,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xd1baasgazrfc1b2pr196jycj14rb6kdkxjkqa0rnd0ml9xwiwj";
+      sha256 = "1gk003vj7gs7a3rs79rs5bv5wcsyk9fsf3cc6ci3kbj5y5kbzabc";
       type = "gem";
     };
-    version = "1.51.0";
+    version = "1.60.0";
   };
   aws-sdk-signer = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -794,10 +805,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1z40zf3v3isqsc6ipmv8v6f28a0bsrba2rivgya98hk1wyivxn4w";
+      sha256 = "17rmy3hzs3cv3vzr5j2swninwqdxf33hcci96pmy88wrcx4nav5x";
       type = "gem";
     };
-    version = "1.43.0";
+    version = "1.52.0";
   };
   aws-sdk-sns = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -805,10 +816,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10kn9nsh7jn0ikmxybhxh3wgczlpp3pcanqvmc3cjh1sahy8sb1n";
+      sha256 = "0zbn3gfksbszgdk806l96fmqa9npqm2gqgvjrqm4x44hl1a5cf8z";
       type = "gem";
     };
-    version = "1.60.0";
+    version = "1.70.0";
   };
   aws-sdk-sqs = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -816,10 +827,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rp62fmz4lc32qj2phqmrdic4j4la34xp2a6vlg4v6lqz2y2fjhs";
+      sha256 = "1nsr4q2g7sfap9vx8vk5532mkyww8an25qabwplsdy9s625p8ahl";
       type = "gem";
     };
-    version = "1.53.0";
+    version = "1.69.0";
   };
   aws-sdk-ssm = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -827,10 +838,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16p7l4mgzs6al3rpb35318gc06vp757vjb99brbkx8ppyg78cdir";
+      sha256 = "0xz10344dwm4pj8qnl19bnh99arxp7cd9mn2alslrnw7y2gipzz1";
       type = "gem";
     };
-    version = "1.150.0";
+    version = "1.162.0";
   };
   aws-sdk-states = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -860,10 +871,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "017zpcqssv138y7nqzwqpvcnsbq2jws6g22996n64kcr2azj28gn";
+      sha256 = "087y19nzkh26a7rac5ci7d792mdjfwg1mfm884r118g89y4imcdf";
       type = "gem";
     };
-    version = "1.34.0";
+    version = "1.73.0";
   };
   aws-sdk-waf = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -881,10 +892,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bnsw26vd0z3gayrqxhjg94ccjdygpk00bmhdjhzagmgngmdbhrk";
+      sha256 = "1zams698qxn5ws4f8basqp895b206pclsxsja5cnxkhrmj2n781j";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.0";
   };
   aws-sigv4 = {
     dependencies = ["aws-eventstream"];
@@ -892,10 +903,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11hkna2av47bl0yprgp8k4ya70rc3m2ib5w10fn0piplgkkmhz7m";
+      sha256 = "1g3w27wzjy4si6kp49w10as6ml6g6zl3xrfqs5ikpfciidv9kpc4";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "1.8.0";
   };
   azure_graph_rbac = {
     dependencies = ["ms_rest_azure"];
@@ -978,10 +989,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13581xgpdvdyd0zvdankharj9aahs99vmihcknm66v03a37q7y6x";
+      sha256 = "1pvjf3qbb3apg9vdy4zykamm7801qz4m6256wjqn73fs87zs50y1";
       type = "gem";
     };
-    version = "18.2.7";
+    version = "18.3.0";
+  };
+  chef-licensing = {
+    dependencies = ["activesupport" "chef-config" "faraday" "faraday-http-cache" "tty-prompt" "tty-spinner"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1inm01nrkxsdvf0fak2qkpva1k7d4fpi8z9xf646bsgrjz2761rb";
+      type = "gem";
+    };
+    version = "0.7.5";
   };
   chef-telemetry = {
     dependencies = ["chef-config" "concurrent-ruby"];
@@ -1000,10 +1022,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q5by0q1i443lds626cyq78jhzkwb6b1f8vcbv82q790q06vg1w9";
+      sha256 = "0087jwhqslfm3ygj507dmmdp3k0589j5jl54mkwgbabbwan7lzw2";
       type = "gem";
     };
-    version = "18.2.7";
+    version = "18.3.0";
   };
   coderay = {
     groups = ["default"];
@@ -1068,15 +1090,90 @@
     version = "2.2.0";
   };
   domain_name = {
-    dependencies = ["unf"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lcqjsmixjp52bnlgzh4lg9ppsk52x9hpwdjd53k8jnbah2602h0";
+      sha256 = "1gpciaifmxql8h01ci12qq08dnqrdlzkkz6fmia9v9yc3r9a29si";
+      type = "gem";
+    };
+    version = "0.6.20231109";
+  };
+  dry-configurable = {
+    dependencies = ["concurrent-ruby" "dry-core"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qzq7aaw020qq06d2lpjq03a3gqnkyya040fjgyfp5q3dlr9c44v";
+      type = "gem";
+    };
+    version = "0.13.0";
+  };
+  dry-container = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0aaj0ffwkbdagrry127x1gd4m6am88mhhfzi7czk8isdcj0r7gi3";
+      type = "gem";
+    };
+    version = "0.11.0";
+  };
+  dry-core = {
+    dependencies = ["concurrent-ruby" "zeitwerk"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1dpm9dk11x2zcjsymkl5jcz5nxhffsg7qqy5p6h92cppzbwmm656";
+      type = "gem";
+    };
+    version = "0.9.1";
+  };
+  dry-inflector = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rw0xxx1yga8r8bwgpywgshvqwd0w6shy0s4y1qrsz0cjxfwga0i";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+  dry-logic = {
+    dependencies = ["concurrent-ruby" "dry-core" "zeitwerk"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12ikf5j5n7bhwd0mzi27ikwdr944l78sp86ndvkbqpfq607335ys";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+  dry-struct = {
+    dependencies = ["dry-core" "dry-types" "ice_nine" "zeitwerk"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "177jvjlkjshv80cmy54jnfd18lryzaigd8mbm39iaigah7afhwf4";
       type = "gem";
     };
-    version = "0.5.20190701";
+    version = "1.5.2";
+  };
+  dry-types = {
+    dependencies = ["concurrent-ruby" "dry-container" "dry-core" "dry-inflector" "dry-logic" "zeitwerk"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xpbh437hw16h8qxw7454vkabnq7w9g51sh4qs3z82xl8qvkhdqy";
+      type = "gem";
+    };
+    version = "1.6.1";
   };
   erubi = {
     groups = ["default"];
@@ -1093,10 +1190,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j826kfvzn7nc5pv950n270r0sx1702k988ad11cdlav3dcxxw09";
+      sha256 = "138gi8b95nqv8m83dynpsszz11a6c5si1pym6y0b6bfb01r33pyi";
       type = "gem";
     };
-    version = "0.99.0";
+    version = "0.105.0";
   };
   faraday = {
     dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
@@ -1161,6 +1258,17 @@
     };
     version = "0.3.0";
   };
+  faraday-http-cache = {
+    dependencies = ["faraday"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qvl49xpl2mwxgcj6aj11qrjk94xrqhbnpl5vp1y2275crnkddv4";
+      type = "gem";
+    };
+    version = "2.5.0";
+  };
   faraday-httpclient = {
     groups = ["default"];
     platforms = [];
@@ -1248,10 +1356,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
+      sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
       type = "gem";
     };
-    version = "1.15.5";
+    version = "1.16.3";
   };
   fuzzyurl = {
     groups = ["default"];
@@ -1307,15 +1415,25 @@
     };
     version = "1.4.0";
   };
+  hashdiff = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nynpl0xbj0nphqx1qlmyggq58ms1phf5i03hk64wcc0a17x1m1c";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
   hashie = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02bsx12ihl78x0vdm37byp78jjw2ff6035y7rrmbd90qxjwxr43q";
+      sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x";
       type = "gem";
     };
-    version = "4.1.0";
+    version = "5.0.0";
   };
   highline = {
     groups = ["default"];
@@ -1354,10 +1472,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vdcchz7jli1p0gnc669a7bj3q1fv09y9ppf0y3k0vb1jwdwrqwi";
+      sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx";
       type = "gem";
     };
-    version = "1.12.0";
+    version = "1.14.1";
+  };
+  ice_nine = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x";
+      type = "gem";
+    };
+    version = "0.11.2";
   };
   inifile = {
     groups = ["default"];
@@ -1370,15 +1498,15 @@
     version = "3.0.0";
   };
   inspec = {
-    dependencies = ["cookstyle" "faraday_middleware" "inspec-core" "mongo" "progress_bar" "rake" "train" "train-aws" "train-habitat" "train-winrm"];
+    dependencies = ["cookstyle" "faraday_middleware" "inspec-core" "mongo" "progress_bar" "rake" "train" "train-aws" "train-habitat" "train-kubernetes" "train-winrm"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y2p1dm8b648gw6sabgq45mj0wvc683xq4jvh286vmfhkld8ibgh";
+      sha256 = "0n1c3h1mrnw4059ih0n4gbi77qvwaigg6p8wmbpxkzya0jh45h55";
       type = "gem";
     };
-    version = "5.21.29";
+    version = "6.6.0";
   };
   inspec-bin = {
     dependencies = ["inspec"];
@@ -1386,21 +1514,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02lq4qnmxdc3vn5wwrb5m526js14jvj5c3wczln2skmqg5yr6pbh";
+      sha256 = "05g1sidv6grd9m7i85w4p5kpllds2jpvms6cmxs19948bm9abw91";
       type = "gem";
     };
-    version = "5.21.29";
+    version = "6.6.0";
   };
   inspec-core = {
-    dependencies = ["addressable" "chef-telemetry" "faraday" "faraday-follow_redirects" "hashie" "license-acceptance" "method_source" "mixlib-log" "multipart-post" "parallel" "parslet" "pry" "rspec" "rspec-its" "rubyzip" "semverse" "sslshake" "thor" "tomlrb" "train-core" "tty-prompt" "tty-table"];
+    dependencies = ["addressable" "chef-licensing" "chef-telemetry" "faraday" "faraday-follow_redirects" "hashie" "license-acceptance" "method_source" "mixlib-log" "multipart-post" "parallel" "parslet" "pry" "rspec" "rspec-its" "rubyzip" "semverse" "sslshake" "thor" "tomlrb" "train-core" "tty-prompt" "tty-table"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1irzd4nms4fpv5llkqsx8mlgyhgsibkzk293w31yixarg3jbnvd7";
+      sha256 = "0mlw0jbik3hpypnxx9bz4ymfzi8v9f875c73nql9m2j0zxb10hwa";
       type = "gem";
     };
-    version = "5.21.29";
+    version = "6.6.0";
   };
   jmespath = {
     groups = ["default"];
@@ -1417,20 +1545,42 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6";
+      sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq";
+      type = "gem";
+    };
+    version = "2.7.1";
+  };
+  jsonpath = {
+    dependencies = ["multi_json" "to_regexp"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zim5bl7zsbccd502iy63f7c3b6dw0a820z7q8kpv66hncavb7gp";
       type = "gem";
     };
-    version = "2.6.3";
+    version = "0.9.9";
   };
   jwt = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09yj3z5snhaawh2z1w45yyihzmh57m6m7dp8ra8gxavhj5kbiq5p";
+      sha256 = "16z11alz13vfc4zs5l3fk6n51n2jw9lskvc4h4prnww0y797qd87";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.7.1";
+  };
+  k8s-ruby = {
+    dependencies = ["dry-configurable" "dry-struct" "dry-types" "excon" "hashdiff" "jsonpath" "recursive-open-struct" "yajl-ruby" "yaml-safe_load_stream3"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09q2lxwcsdmnqi91c62gc89bvwlq0arn5nvrl6g1whg46zvmis5z";
+      type = "gem";
+    };
+    version = "0.14.0";
   };
   license-acceptance = {
     dependencies = ["pastel" "tomlrb" "tty-box" "tty-prompt"];
@@ -1489,20 +1639,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5";
+      sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.1.5";
   };
   minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ic7i5z88zcaqnpzprf7saimq2f6sad57g5mkkqsrqrcd6h3mx06";
+      sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3";
       type = "gem";
     };
-    version = "5.18.0";
+    version = "5.20.0";
   };
   mixlib-config = {
     dependencies = ["tomlrb"];
@@ -1605,10 +1755,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yx0pb5fmziz92bw8qzbh8vf20lr56nd3s6q8h0gsgr307lki687";
+      sha256 = "1jyj6j7w9zpj2zhp4dyhdjiwsn9rqwksj7s7fzpnn7rx2xvz2a1a";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.2.0";
   };
   nori = {
     groups = ["default"];
@@ -1651,15 +1801,15 @@
     version = "1.23.0";
   };
   parser = {
-    dependencies = ["ast"];
+    dependencies = ["ast" "racc"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s5afi89p76k8vpwiqvh343pm5l23ijqlpszhz65afym3zpkxhzx";
+      sha256 = "0r69dbh6h6j4d54isany2ir4ni4gf2ysvk3k44awi6amz18nggpd";
       type = "gem";
     };
-    version = "3.2.2.0";
+    version = "3.2.2.4";
   };
   parslet = {
     groups = ["default"];
@@ -1709,10 +1859,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35";
+      sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m";
       type = "gem";
     };
-    version = "5.0.1";
+    version = "5.0.4";
+  };
+  racc = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
+      type = "gem";
+    };
+    version = "1.7.3";
   };
   rainbow = {
     groups = ["default"];
@@ -1729,20 +1889,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
+      sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy";
+      type = "gem";
+    };
+    version = "13.1.0";
+  };
+  recursive-open-struct = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nnyr6qsqrcszf6c10n4zfjs8h9n67zvsmx6mp8brkigamr8llx3";
       type = "gem";
     };
-    version = "13.0.6";
+    version = "1.1.3";
   };
   regexp_parser = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17xizkw5ryw8hhq64iqxmzdrrdxpc5lhkqc1fgm1aj0zsk1r2950";
+      sha256 = "1xrghj2vka7girycp1m88kvl4qxkm4mj4djz4w1jzywb4v97fclm";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "2.8.3";
   };
   representable = {
     dependencies = ["declarative" "trailblazer-option" "uber"];
@@ -1770,10 +1940,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
+      sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
       type = "gem";
     };
-    version = "3.2.5";
+    version = "3.2.6";
   };
   rspec = {
     dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
@@ -1781,10 +1951,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19dyb6rcvgi9j2mksd29wfdhfdyzqk7yjhy1ai77559hbhpg61w9";
+      sha256 = "171rc90vcgjl8p1bdrqa92ymrj8a87qf6w20x05xq29mljcigi6c";
       type = "gem";
     };
-    version = "3.11.0";
+    version = "3.12.0";
   };
   rspec-core = {
     dependencies = ["rspec-support"];
@@ -1792,10 +1962,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "118hkfw9b11hvvalr7qlylwal5h8dihagm9xg7k4gskg7587hca6";
+      sha256 = "0l95bnjxdabrn79hwdhn2q1n7mn26pj7y1w5660v5qi81x458nqm";
       type = "gem";
     };
-    version = "3.11.0";
+    version = "3.12.2";
   };
   rspec-expectations = {
     dependencies = ["diff-lcs" "rspec-support"];
@@ -1803,10 +1973,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l1bzk6a68i1b2qix83vs40r0pbjawv67hixiq2qxsja19bbq3bc";
+      sha256 = "05j44jfqlv7j2rpxb5vqzf9hfv7w8ba46wwgxwcwd8p0wzi1hg89";
       type = "gem";
     };
-    version = "3.11.1";
+    version = "3.12.3";
   };
   rspec-its = {
     dependencies = ["rspec-core" "rspec-expectations"];
@@ -1825,20 +1995,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vsqp9dij2rj9aapcn3sz7qzw0d8ln7x9p46h9rzd3jzb7his9kk";
+      sha256 = "1gq7gviwpck7fhp4y5ibljljvxgjklza18j62qf6zkm2icaa8lfy";
       type = "gem";
     };
-    version = "3.11.2";
+    version = "3.12.6";
   };
   rspec-support = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c01iicvrjk6vv744jgh0y4kk9d0kg2rd2ihdyzvg5p06xm2fpzq";
+      sha256 = "1ky86j3ksi26ng9ybd7j0qsdf1lpr8mzrmn98yy9gzv801fvhsgr";
       type = "gem";
     };
-    version = "3.11.1";
+    version = "3.12.1";
   };
   rubocop = {
     dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
@@ -1857,10 +2027,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n2gsafg6p7nr1z8i1hkvp2qqkkbg842ba183dnl0h08xd9ms6q5";
+      sha256 = "1cs9cc5p9q70valk4na3lki4xs88b52486p2v46yx3q1n5969bgs";
       type = "gem";
     };
-    version = "1.28.0";
+    version = "1.30.0";
   };
   ruby-progressbar = {
     groups = ["default"];
@@ -1918,10 +2088,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0100rclkhagf032rg3r0gf3f4znrvvvqrimy6hpa73f21n9k2a0x";
+      sha256 = "0fzakk5y7zzii76zlkynpp1c764mzkkfg4mpj18f5pf2xp1aikb6";
       type = "gem";
     };
-    version = "0.17.0";
+    version = "0.18.0";
   };
   sslshake = {
     groups = ["default"];
@@ -1959,10 +2129,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
+      sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.2.2";
   };
   timeliness = {
     groups = ["default"];
@@ -1974,6 +2144,16 @@
     };
     version = "0.3.10";
   };
+  to_regexp = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rgabfhnql6l4fx09mmj5d0vza924iczqf2blmn82l782b6qqi9v";
+      type = "gem";
+    };
+    version = "0.2.1";
+  };
   tomlrb = {
     groups = ["default"];
     platforms = [];
@@ -2000,21 +2180,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04ixvxhpv33h8wcirplzgp5pix2xipx5hfxxlrjp579hrcs38sjy";
+      sha256 = "18ghsakhnm4xjzfi53d1ij5a2vgr1nk8fgqrr05rbya7c9sbh8ns";
       type = "gem";
     };
-    version = "3.10.7";
+    version = "3.11.0";
   };
   train-aws = {
-    dependencies = ["aws-sdk-alexaforbusiness" "aws-sdk-amplify" "aws-sdk-apigateway" "aws-sdk-apigatewayv2" "aws-sdk-applicationautoscaling" "aws-sdk-athena" "aws-sdk-autoscaling" "aws-sdk-batch" "aws-sdk-budgets" "aws-sdk-cloudformation" "aws-sdk-cloudfront" "aws-sdk-cloudhsm" "aws-sdk-cloudhsmv2" "aws-sdk-cloudtrail" "aws-sdk-cloudwatch" "aws-sdk-cloudwatchevents" "aws-sdk-cloudwatchlogs" "aws-sdk-codecommit" "aws-sdk-codedeploy" "aws-sdk-codepipeline" "aws-sdk-cognitoidentity" "aws-sdk-cognitoidentityprovider" "aws-sdk-configservice" "aws-sdk-core" "aws-sdk-costandusagereportservice" "aws-sdk-databasemigrationservice" "aws-sdk-dynamodb" "aws-sdk-ec2" "aws-sdk-ecr" "aws-sdk-ecrpublic" "aws-sdk-ecs" "aws-sdk-efs" "aws-sdk-eks" "aws-sdk-elasticache" "aws-sdk-elasticbeanstalk" "aws-sdk-elasticloadbalancing" "aws-sdk-elasticloadbalancingv2" "aws-sdk-elasticsearchservice" "aws-sdk-emr" "aws-sdk-eventbridge" "aws-sdk-firehose" "aws-sdk-glue" "aws-sdk-guardduty" "aws-sdk-iam" "aws-sdk-kafka" "aws-sdk-kinesis" "aws-sdk-kms" "aws-sdk-lambda" "aws-sdk-mq" "aws-sdk-networkfirewall" "aws-sdk-networkmanager" "aws-sdk-organizations" "aws-sdk-ram" "aws-sdk-rds" "aws-sdk-redshift" "aws-sdk-route53" "aws-sdk-route53domains" "aws-sdk-route53resolver" "aws-sdk-s3" "aws-sdk-s3control" "aws-sdk-secretsmanager" "aws-sdk-securityhub" "aws-sdk-servicecatalog" "aws-sdk-ses" "aws-sdk-shield" "aws-sdk-signer" "aws-sdk-simpledb" "aws-sdk-sms" "aws-sdk-sns" "aws-sdk-sqs" "aws-sdk-ssm" "aws-sdk-states" "aws-sdk-synthetics" "aws-sdk-transfer" "aws-sdk-waf"];
+    dependencies = ["aws-sdk-account" "aws-sdk-alexaforbusiness" "aws-sdk-amplify" "aws-sdk-apigateway" "aws-sdk-apigatewayv2" "aws-sdk-applicationautoscaling" "aws-sdk-athena" "aws-sdk-autoscaling" "aws-sdk-batch" "aws-sdk-budgets" "aws-sdk-cloudformation" "aws-sdk-cloudfront" "aws-sdk-cloudhsm" "aws-sdk-cloudhsmv2" "aws-sdk-cloudtrail" "aws-sdk-cloudwatch" "aws-sdk-cloudwatchevents" "aws-sdk-cloudwatchlogs" "aws-sdk-codecommit" "aws-sdk-codedeploy" "aws-sdk-codepipeline" "aws-sdk-cognitoidentity" "aws-sdk-cognitoidentityprovider" "aws-sdk-configservice" "aws-sdk-core" "aws-sdk-costandusagereportservice" "aws-sdk-databasemigrationservice" "aws-sdk-dynamodb" "aws-sdk-ec2" "aws-sdk-ecr" "aws-sdk-ecrpublic" "aws-sdk-ecs" "aws-sdk-efs" "aws-sdk-eks" "aws-sdk-elasticache" "aws-sdk-elasticbeanstalk" "aws-sdk-elasticloadbalancing" "aws-sdk-elasticloadbalancingv2" "aws-sdk-elasticsearchservice" "aws-sdk-emr" "aws-sdk-eventbridge" "aws-sdk-firehose" "aws-sdk-glue" "aws-sdk-guardduty" "aws-sdk-iam" "aws-sdk-kafka" "aws-sdk-kinesis" "aws-sdk-kms" "aws-sdk-lambda" "aws-sdk-mq" "aws-sdk-networkfirewall" "aws-sdk-networkmanager" "aws-sdk-organizations" "aws-sdk-ram" "aws-sdk-rds" "aws-sdk-redshift" "aws-sdk-route53" "aws-sdk-route53domains" "aws-sdk-route53resolver" "aws-sdk-s3" "aws-sdk-s3control" "aws-sdk-secretsmanager" "aws-sdk-securityhub" "aws-sdk-servicecatalog" "aws-sdk-ses" "aws-sdk-shield" "aws-sdk-signer" "aws-sdk-simpledb" "aws-sdk-sms" "aws-sdk-sns" "aws-sdk-sqs" "aws-sdk-ssm" "aws-sdk-states" "aws-sdk-synthetics" "aws-sdk-transfer" "aws-sdk-waf"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vl7yfzcd6mq5lmjgagxbdhjhyv5rj2piap3w28zdwqkbyyhir8b";
+      sha256 = "0b0p6ig4dfd2y1cfwdlzxj7wsbllwyzxd1wg87z1vs78v892ip5n";
       type = "gem";
     };
-    version = "0.2.24";
+    version = "0.2.36";
   };
   train-core = {
     dependencies = ["addressable" "ffi" "json" "mixlib-shellout" "net-scp" "net-ssh"];
@@ -2022,10 +2202,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f0yxh5mpr7rdn3660jf5iwc3rhv4l82dd9mhcrm6v85901rvj9c";
+      sha256 = "1j3pfsdrrqpcqp9qbqdh4j1557hww3q3gyjjpnzmgkw43vv685gb";
       type = "gem";
     };
-    version = "3.10.7";
+    version = "3.11.0";
   };
   train-habitat = {
     groups = ["default"];
@@ -2037,6 +2217,17 @@
     };
     version = "0.2.22";
   };
+  train-kubernetes = {
+    dependencies = ["k8s-ruby" "train"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02gy54pybd53hbaay1kllk269pjwbjzfr3jlgxa6sd68ljy7s5w2";
+      type = "gem";
+    };
+    version = "0.1.12";
+  };
   train-winrm = {
     dependencies = ["winrm" "winrm-elevated" "winrm-fs"];
     groups = ["default"];
@@ -2111,6 +2302,17 @@
     };
     version = "0.8.1";
   };
+  tty-spinner = {
+    dependencies = ["tty-cursor"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hh5awmijnzw9flmh5ak610x1d00xiqagxa5mbr63ysggc26y0qf";
+      type = "gem";
+    };
+    version = "0.9.3";
+  };
   tty-table = {
     dependencies = ["pastel" "strings" "tty-screen"];
     groups = ["default"];
@@ -2143,36 +2345,15 @@
     };
     version = "0.1.0";
   };
-  unf = {
-    dependencies = ["unf_ext"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
-      type = "gem";
-    };
-    version = "0.1.4";
-  };
-  unf_ext = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1yj2nz2l101vr1x9w2k83a0fag1xgnmjwp8w8rw4ik2rwcz65fch";
-      type = "gem";
-    };
-    version = "0.0.8.2";
-  };
   unicode-display_width = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a";
+      sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky";
       type = "gem";
     };
-    version = "2.4.2";
+    version = "2.5.0";
   };
   unicode_utils = {
     groups = ["default"];
@@ -2227,4 +2408,34 @@
     };
     version = "2.0.1";
   };
+  yajl-ruby = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lni4jbyrlph7sz8y49q84pb0sbj82lgwvnjnsiv01xf26f4v5wc";
+      type = "gem";
+    };
+    version = "1.4.3";
+  };
+  yaml-safe_load_stream3 = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10g4wy0vmggxnb3bz1zz74rfhhzqa50hc553sn7yqrbywpzn6kzx";
+      type = "gem";
+    };
+    version = "0.1.2";
+  };
+  zeitwerk = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gir0if4nryl1jhwi28669gjwhxb7gzrm1fcc8xzsch3bnbi47jn";
+      type = "gem";
+    };
+    version = "2.6.12";
+  };
 }
diff --git a/pkgs/tools/misc/interactsh/default.nix b/pkgs/tools/misc/interactsh/default.nix
index 894bf14457234..a2c31aae9fe99 100644
--- a/pkgs/tools/misc/interactsh/default.nix
+++ b/pkgs/tools/misc/interactsh/default.nix
@@ -26,7 +26,7 @@ buildGoModule rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "An Out of bounds interaction gathering server and client library";
+    description = "Out of bounds interaction gathering server and client library";
     longDescription = ''
       Interactsh is an Open-Source Solution for Out of band Data Extraction,
       A tool designed to detect bugs that cause external interactions,
diff --git a/pkgs/tools/misc/ipbt/default.nix b/pkgs/tools/misc/ipbt/default.nix
index 3b9b6d1496ee3..66369d9833948 100644
--- a/pkgs/tools/misc/ipbt/default.nix
+++ b/pkgs/tools/misc/ipbt/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses ];
 
   meta = with lib; {
-    description = "A high-tech ttyrec player for Unix";
+    description = "High-tech ttyrec player for Unix";
     homepage = "https://www.chiark.greenend.org.uk/~sgtatham/ipbt/";
     license = licenses.mit;
     maintainers = [ maintainers.tckmn ];
diff --git a/pkgs/tools/misc/ipxe/default.nix b/pkgs/tools/misc/ipxe/default.nix
index 293c32b3e6ff2..0b33329e1bebf 100644
--- a/pkgs/tools/misc/ipxe/default.nix
+++ b/pkgs/tools/misc/ipxe/default.nix
@@ -33,7 +33,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ipxe";
-  version = "unstable-2024-02-08";
+  version = "1.21.1-unstable-2024-05-31";
 
   nativeBuildInputs = [ gnu-efi mtools openssl perl xorriso xz ] ++ lib.optional stdenv.hostPlatform.isx86 syslinux;
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -43,8 +43,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "ipxe";
     repo = "ipxe";
-    rev = "a846c4ccfc7db212dff792e081991df17268b4d5";
-    hash = "sha256-4BvAwZ09EZJXBkdkZHLw0qjOqasNaN6RF4wmTfPVTWc=";
+    rev = "e965f179e1654103eca33feed7a9cc4c51d91be6";
+    hash = "sha256-32LYNF+5z5rS4y2iGKA2BnQntXg9Ec9709m6pL5hBdo=";
   };
 
   postPatch = lib.optionalString stdenv.hostPlatform.isAarch64 ''
@@ -101,7 +101,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = unstableGitUpdater {};
+  passthru.updateScript = unstableGitUpdater {
+    tagPrefix = "v";
+  };
 
   meta = with lib;
     { description = "Network boot firmware";
diff --git a/pkgs/tools/misc/ised/default.nix b/pkgs/tools/misc/ised/default.nix
index 9f6b716b42930..ee07ccc23e1ee 100644
--- a/pkgs/tools/misc/ised/default.nix
+++ b/pkgs/tools/misc/ised/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    description = "A numeric sequence editor";
+    description = "Numeric sequence editor";
     maintainers = with lib.maintainers; [ raskin ];
     platforms = with lib.platforms; linux;
     license = lib.licenses.gpl3Plus;
diff --git a/pkgs/tools/misc/isoimagewriter/default.nix b/pkgs/tools/misc/isoimagewriter/default.nix
index 1ffb0f51db510..66cad815a2c75 100644
--- a/pkgs/tools/misc/isoimagewriter/default.nix
+++ b/pkgs/tools/misc/isoimagewriter/default.nix
@@ -21,7 +21,7 @@ mkDerivation rec {
   ];
 
   meta = {
-    description = "A program to write hybrid ISO files onto USB disks";
+    description = "Program to write hybrid ISO files onto USB disks";
     homepage = "https://invent.kde.org/utilities/isoimagewriter";
     platforms = lib.platforms.linux;
     license = lib.licenses.gpl3Plus;
diff --git a/pkgs/tools/misc/jdiskreport/default.nix b/pkgs/tools/misc/jdiskreport/default.nix
index 6490d68ce0b77..b8e983ea91bdb 100644
--- a/pkgs/tools/misc/jdiskreport/default.nix
+++ b/pkgs/tools/misc/jdiskreport/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "http://www.jgoodies.com/freeware/jdiskreport/";
-    description = "A graphical utility to visualize disk usage";
+    description = "Graphical utility to visualize disk usage";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.unfreeRedistributable; #TODO freedist, libs under BSD-3
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
diff --git a/pkgs/tools/misc/jdupes/default.nix b/pkgs/tools/misc/jdupes/default.nix
index 8e29307ad24a0..9d311a30d0fb9 100644
--- a/pkgs/tools/misc/jdupes/default.nix
+++ b/pkgs/tools/misc/jdupes/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A powerful duplicate file finder and an enhanced fork of 'fdupes'";
+    description = "Powerful duplicate file finder and an enhanced fork of 'fdupes'";
     longDescription = ''
       jdupes is a program for identifying and taking actions upon
       duplicate files. This fork known as 'jdupes' is heavily modified
diff --git a/pkgs/tools/misc/jfrog-cli/default.nix b/pkgs/tools/misc/jfrog-cli/default.nix
index cc778b6f66923..ac6696bbb7fed 100644
--- a/pkgs/tools/misc/jfrog-cli/default.nix
+++ b/pkgs/tools/misc/jfrog-cli/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "jfrog-cli";
-  version = "2.56.0";
+  version = "2.56.1";
 
   src = fetchFromGitHub {
     owner = "jfrog";
     repo = "jfrog-cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-a7zCPyKV9kZ34XxVBYotcMvXUVrieunFpKGBK1Jhvo4=";
+    hash = "sha256-oUICnpVHRNCauWEplz7xH6AdP6CbbYX/Uy/QUPjwGHc=";
   };
 
-  vendorHash = "sha256-q0PXbLTS5Po3xTK+CkU7BtZ6tk1PfH3zVAVK1IbmitY=";
+  vendorHash = "sha256-zQjOOUlqL0Mj2DKHiG9rOfu41SKMO7C99JBJDycXAs4=";
 
   # Upgrade the Go version during the vendoring FOD build because it fails otherwise.
   overrideModAttrs = _: {
diff --git a/pkgs/tools/misc/jstest-gtk/default.nix b/pkgs/tools/misc/jstest-gtk/default.nix
index 1b201396b7ad7..8fb45330e124d 100644
--- a/pkgs/tools/misc/jstest-gtk/default.nix
+++ b/pkgs/tools/misc/jstest-gtk/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gtkmm3 libsigcxx xorg.libX11 ];
 
   meta = with lib; {
-    description = "A simple joystick tester based on Gtk+";
+    description = "Simple joystick tester based on Gtk+";
     longDescription = ''
       It provides you with a list of attached joysticks, a way to display which
       buttons and axis are pressed, a way to remap axis and buttons and a way
diff --git a/pkgs/tools/misc/jugglinglab/default.nix b/pkgs/tools/misc/jugglinglab/default.nix
index ee2f4cbfc7e5e..f8f7a3fb37fdf 100644
--- a/pkgs/tools/misc/jugglinglab/default.nix
+++ b/pkgs/tools/misc/jugglinglab/default.nix
@@ -63,7 +63,7 @@ maven.buildMavenPackage rec {
   '';
 
   meta = with lib; {
-    description = "A program to visualize different juggling pattens";
+    description = "Program to visualize different juggling pattens";
     homepage = "https://jugglinglab.org/";
     license = licenses.gpl2Only;
     mainProgram = "jugglinglab";
diff --git a/pkgs/tools/misc/kakoune-cr/default.nix b/pkgs/tools/misc/kakoune-cr/default.nix
index 9a9fa5c9162a1..8a8eb55d65e6c 100644
--- a/pkgs/tools/misc/kakoune-cr/default.nix
+++ b/pkgs/tools/misc/kakoune-cr/default.nix
@@ -42,7 +42,7 @@ crystal.buildCrystalPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/alexherbo2/kakoune.cr";
-    description = "A command-line tool for Kakoune";
+    description = "Command-line tool for Kakoune";
     license = licenses.unlicense;
     maintainers = with maintainers; [ malte-v ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/kalker/default.nix b/pkgs/tools/misc/kalker/default.nix
index ef152524da7ad..452ac6abc26d5 100644
--- a/pkgs/tools/misc/kalker/default.nix
+++ b/pkgs/tools/misc/kalker/default.nix
@@ -23,11 +23,6 @@ rustPlatform.buildRustPackage rec {
 
   outputs = [ "out" "lib" ];
 
-  # Cargo.lock is outdated
-  preConfigure = ''
-    cargo metadata --offline
-  '';
-
   postInstall = ''
     moveToOutput "lib" "$lib"
   '';
@@ -37,7 +32,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     homepage = "https://kalker.strct.net";
     changelog = "https://github.com/PaddiM8/kalker/releases/tag/v${version}";
-    description = "A command line calculator";
+    description = "Command line calculator";
     longDescription = ''
       A command line calculator that supports math-like syntax with user-defined
       variables, functions, derivation, integration, and complex numbers
diff --git a/pkgs/tools/misc/kargo/default.nix b/pkgs/tools/misc/kargo/default.nix
index 2097d47aa1ba2..5945ce4d4fe25 100644
--- a/pkgs/tools/misc/kargo/default.nix
+++ b/pkgs/tools/misc/kargo/default.nix
@@ -30,7 +30,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "https://github.com/kubespray/kargo-cli";
-    description = "A tool helps to deploy a kubernetes cluster with Ansible";
+    description = "Tool helps to deploy a kubernetes cluster with Ansible";
     platforms = platforms.all;
     license = licenses.gpl3;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/tools/misc/kb/default.nix b/pkgs/tools/misc/kb/default.nix
index 85a72adebcddc..f3de66d7612f0 100644
--- a/pkgs/tools/misc/kb/default.nix
+++ b/pkgs/tools/misc/kb/default.nix
@@ -41,7 +41,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   meta = with lib; {
-    description = "A minimalist command line knowledge base manager";
+    description = "Minimalist command line knowledge base manager";
     longDescription = ''
       kb is a text-oriented minimalist command line knowledge base manager. kb
       can be considered a quick note collection and access tool oriented toward
diff --git a/pkgs/tools/misc/kcollectd/default.nix b/pkgs/tools/misc/kcollectd/default.nix
index dc45a18fe3dda..c46fdcd74ec4b 100644
--- a/pkgs/tools/misc/kcollectd/default.nix
+++ b/pkgs/tools/misc/kcollectd/default.nix
@@ -47,7 +47,7 @@ mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A graphical frontend to collectd";
+    description = "Graphical frontend to collectd";
     homepage = "https://www.antonioerusso.com/projects/kcollectd/";
     maintainers = [ maintainers.symphorien ];
     license = [ lib.licenses.gpl3Plus ];
diff --git a/pkgs/tools/misc/keymapviz/default.nix b/pkgs/tools/misc/keymapviz/default.nix
index 6ed68a43b31f2..22b361b3c94ae 100644
--- a/pkgs/tools/misc/keymapviz/default.nix
+++ b/pkgs/tools/misc/keymapviz/default.nix
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
   propagatedBuildInputs = with python3.pkgs; [ regex ];
 
   meta = with lib; {
-    description = "A qmk keymap.c visualizer";
+    description = "Qmk keymap.c visualizer";
     homepage = "https://github.com/yskoht/keymapviz";
     license = licenses.mit;
     maintainers = with maintainers; [ lom ];
diff --git a/pkgs/tools/misc/killport/default.nix b/pkgs/tools/misc/killport/default.nix
index d043385f2069e..24f66a8b497fa 100644
--- a/pkgs/tools/misc/killport/default.nix
+++ b/pkgs/tools/misc/killport/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ rustPlatform.bindgenHook ];
 
   meta = with lib; {
-    description = "A command-line tool to easily kill processes running on a specified port";
+    description = "Command-line tool to easily kill processes running on a specified port";
     homepage = "https://github.com/jkfran/killport";
     license = licenses.mit;
     maintainers = with maintainers; [ sno2wman ];
diff --git a/pkgs/tools/misc/krapslog/default.nix b/pkgs/tools/misc/krapslog/default.nix
index 909d047f834af..5448fa942763a 100644
--- a/pkgs/tools/misc/krapslog/default.nix
+++ b/pkgs/tools/misc/krapslog/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "krapslog";
-  version = "0.5.4";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "acj";
     repo = "krapslog-rs";
     rev = version;
-    sha256 = "sha256-nYKqPaO7sA9aWPqngLoTq2PkpAi9zCADFZhYwIK1L2s=";
+    sha256 = "sha256-wRziLNMwLZBCn330FNC9x6loCCyuC+31Kh51ZI/j1Cc=";
   };
 
-  cargoHash = "sha256-Ybz2hNRMWSRuF6tWKsm0Ka7TOKwKvssA9/i6Hqk1tEE=";
+  cargoHash = "sha256-5jhEcwOdzLqzxQsEBqo4d5ecsg/vhiKuVjGYIwFzihE=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/tools/misc/kronometer/default.nix b/pkgs/tools/misc/kronometer/default.nix
index 6e303ddfc983e..a9a769e7ce0ed 100644
--- a/pkgs/tools/misc/kronometer/default.nix
+++ b/pkgs/tools/misc/kronometer/default.nix
@@ -15,7 +15,7 @@ mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://kde.org/applications/utilities/kronometer/";
-    description = "A stopwatch application";
+    description = "Stopwatch application";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ peterhoeg ];
     mainProgram = "kronometer";
diff --git a/pkgs/tools/misc/krunner-translator/default.nix b/pkgs/tools/misc/krunner-translator/default.nix
index c97428b9469c9..e500b7c1ddea8 100644
--- a/pkgs/tools/misc/krunner-translator/default.nix
+++ b/pkgs/tools/misc/krunner-translator/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A plugin for KRunner which integrates a translator, supports Google Translate, Bing Translator, youdao and Baidu Fanyi";
+    description = "Plugin for KRunner which integrates a translator, supports Google Translate, Bing Translator, youdao and Baidu Fanyi";
     homepage = "https://github.com/naraesk/krunner-translator";
     license = licenses.gpl3;
     maintainers = with maintainers; [ pongo1231 ];
diff --git a/pkgs/tools/misc/lazycli/default.nix b/pkgs/tools/misc/lazycli/default.nix
index 70b5f345690ee..1522a937ffb86 100644
--- a/pkgs/tools/misc/lazycli/default.nix
+++ b/pkgs/tools/misc/lazycli/default.nix
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A tool to static turn CLI commands into TUIs";
+    description = "Tool to static turn CLI commands into TUIs";
     homepage = "https://github.com/jesseduffield/lazycli";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/tools/misc/lazydocker/default.nix b/pkgs/tools/misc/lazydocker/default.nix
index 59a6ad16ce9d5..08ddc37ca977a 100644
--- a/pkgs/tools/misc/lazydocker/default.nix
+++ b/pkgs/tools/misc/lazydocker/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lazydocker";
-  version = "0.23.1";
+  version = "0.23.3";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = "lazydocker";
     rev = "v${version}";
-    sha256 = "sha256-nW3eaSisXLqoWZ+5YLLCfC1k4lTXWd5ZqY2xTM/I0PY=";
+    sha256 = "sha256-1nw0X8sZBtBsxlEUDVYMAinjMEMlIlzjJ4s+WApeE6o=";
   };
 
   vendorHash = null;
@@ -26,7 +26,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A simple terminal UI for both docker and docker-compose";
+    description = "Simple terminal UI for both docker and docker-compose";
     homepage = "https://github.com/jesseduffield/lazydocker";
     license = licenses.mit;
     maintainers = with maintainers; [ das-g Br1ght0ne ];
diff --git a/pkgs/tools/misc/lbdb/default.nix b/pkgs/tools/misc/lbdb/default.nix
index 44f0149cbb7cc..20ea8beaaa838 100644
--- a/pkgs/tools/misc/lbdb/default.nix
+++ b/pkgs/tools/misc/lbdb/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://www.spinnaker.de/lbdb/";
-    description = "The Little Brother's Database";
+    description = "Little Brother's Database";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ kaiha bfortz ];
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/leanify/default.nix b/pkgs/tools/misc/leanify/default.nix
index 86aef217e1100..f0006ff7f183e 100644
--- a/pkgs/tools/misc/leanify/default.nix
+++ b/pkgs/tools/misc/leanify/default.nix
@@ -24,6 +24,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
+  doCheck = true;
+
+  checkPhase = ''
+    runHook preCheck
+    ./leanify /dev/null
+    runHook postCheck
+  '';
+
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/tools/misc/ledit/default.nix b/pkgs/tools/misc/ledit/default.nix
index e6470ea3fb8c2..a9ef90a48bf3b 100644
--- a/pkgs/tools/misc/ledit/default.nix
+++ b/pkgs/tools/misc/ledit/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     homepage = "http://pauillac.inria.fr/~ddr/ledit/";
-    description = "A line editor, allowing to use shell commands with control characters like in emacs";
+    description = "Line editor, allowing to use shell commands with control characters like in emacs";
     license = licenses.bsd3;
     maintainers = [ maintainers.delta ];
     mainProgram = "ledit";
diff --git a/pkgs/tools/misc/lektor/default.nix b/pkgs/tools/misc/lektor/default.nix
index aef55ffb9b1f6..84c4042912bd3 100644
--- a/pkgs/tools/misc/lektor/default.nix
+++ b/pkgs/tools/misc/lektor/default.nix
@@ -23,19 +23,23 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "lektor";
-  version = "3.4.0b8";
+  version = "3.4.0b12";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "lektor";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-FtmRW4AS11zAX2jvGY8XTsPrN3mhHkIWoFY7sXmqG/U=";
+    # fix for case-insensitive filesystems
+    postFetch = ''
+      rm -f $out/tests/demo-project/content/icc-profile-test/{LICENSE,license}.txt
+    '';
+    hash = "sha256-y0/fYuiIB/O5tsYKjzOPnCafOIZCn4Z5OITPMcnHd/M=";
   };
 
   npmDeps = fetchNpmDeps {
-    src = "${src}/frontend";
-    hash = "sha256-Z7LP9rrVSzKoLITUarsnRbrhIw7W7TZSZUgV/OT+m0M=";
+    src = "${src}/${npmRoot}";
+    hash = "sha256-LXe5/u4nAGig8RSu6r8Qsr3p3Od8eoMxukW8Z4HkJ44=";
   };
 
   npmRoot = "frontend";
@@ -50,8 +54,6 @@ python.pkgs.buildPythonApplication rec {
   propagatedBuildInputs = with python.pkgs; [
     babel
     click
-    exifread
-    filetype
     flask
     inifile
     jinja2
@@ -71,11 +73,6 @@ python.pkgs.buildPythonApplication rec {
     pytest-click
     pytest-mock
     pytestCheckHook
-    pythonRelaxDepsHook
-  ];
-
-  pythonRelaxDeps = [
-    "werkzeug"
   ];
 
   postInstall = ''
@@ -90,16 +87,18 @@ python.pkgs.buildPythonApplication rec {
     # Tests require network access
     "test_path_installed_plugin_is_none"
     "test_VirtualEnv_run_pip_install"
-    # expects FHS paths
-    "test_VirtualEnv_executable"
   ];
 
-  meta = with lib; {
-    description = "A static content management system";
+  postCheck = ''
+    make test-js
+  '';
+
+  meta = {
+    description = "Static content management system";
     homepage = "https://www.getlektor.com/";
     changelog = "https://github.com/lektor/lektor/blob/v${version}/CHANGES.md";
-    license = licenses.bsd0;
+    license = lib.licenses.bsd3;
     mainProgram = "lektor";
-    maintainers = with maintainers; [ ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/misc/lemmeknow/default.nix b/pkgs/tools/misc/lemmeknow/default.nix
index aa5c3786831a8..8c119a350a92a 100644
--- a/pkgs/tools/misc/lemmeknow/default.nix
+++ b/pkgs/tools/misc/lemmeknow/default.nix
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-slV9RxdFCEx1El7hngWGv+5CqDSQsU2ACF2nWQLOTU0=";
 
   meta = with lib; {
-    description = "A tool to identify anything";
+    description = "Tool to identify anything";
     homepage = "https://github.com/swanandx/lemmeknow";
     changelog = "https://github.com/swanandx/lemmeknow/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/lemmy-help/default.nix b/pkgs/tools/misc/lemmy-help/default.nix
index 8c0f7110226e5..2e4126db38f8d 100644
--- a/pkgs/tools/misc/lemmy-help/default.nix
+++ b/pkgs/tools/misc/lemmy-help/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-BCwpiBPvnLgbpOaXgUK2EDXnT8d4jo7aqgM6uwl80eg=";
 
   meta = with lib; {
-    description = "A CLI for generating vim help docs from emmylua comments";
+    description = "CLI for generating vim help docs from emmylua comments";
     longDescription = ''
       `lemmy-help` is an emmylua parser as well as a CLI which takes that parsed tree and converts it into vim help docs.
     '';
diff --git a/pkgs/tools/misc/lesspipe/default.nix b/pkgs/tools/misc/lesspipe/default.nix
index 9922573d3e933..b2c310bc5f40e 100644
--- a/pkgs/tools/misc/lesspipe/default.nix
+++ b/pkgs/tools/misc/lesspipe/default.nix
@@ -74,9 +74,9 @@ stdenv.mkDerivation rec {
           "mdcat" "pandoc" "docx2txt" "libreoffice" "pptx2md" "mdcat" "xlscat" "odt2txt" "wvText" "antiword" "catdoc"
           "broken_catppt" "sxw2txt" "groff" "mandoc" "unrtf" "dvi2tty" "pod2text" "perldoc" "h5dump" "ncdump" "matdump"
           "djvutxt" "openssl" "gpg" "plistutil" "plutil" "id3v2" "csvlook" "jq" "zlib-flate" "lessfilter"
-        ] ++ lib.optional stdenv.isDarwin [
-          # resholve only identifies this on darwin
-          # call site is gaurded by || so it's safe to leave dynamic
+        ] ++ lib.optional (stdenv.isDarwin || stdenv.isFreeBSD) [
+          # resholve only identifies this on darwin/bsd
+          # call site is guarded by || so it's safe to leave dynamic
           "locale"
         ];
         builtin = [ "setopt" ];
@@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A preprocessor for less";
+    description = "Preprocessor for less";
     longDescription = ''
       Usually lesspipe.sh is called as an input filter to less. With the help
       of that filter less will display the uncompressed contents of compressed
diff --git a/pkgs/tools/misc/license-generator/default.nix b/pkgs/tools/misc/license-generator/default.nix
index 2aa2235e7c3cc..01aa8e554fb0b 100644
--- a/pkgs/tools/misc/license-generator/default.nix
+++ b/pkgs/tools/misc/license-generator/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "license-generator";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-ijA/AqLeQ9/XLeCriWNUA6R3iKyq+QPDH5twSvqFmEA=";
+    hash = "sha256-OIut6eE8cm7eBeHwuCUqSMDH48ZiJpF4vFaQ6wVLnfg=";
   };
 
-  cargoHash = "sha256-FfkCV4anPHElGGIOYDSzHam5ohVGpOgtu/nM0aw9HzU=";
+  cargoHash = "sha256-tv3Qx4JP2Lbl+k686mX7acabh7nyP1E9w7cQUnjh+pE=";
 
   meta = with lib; {
     description = "Command-line tool for generating license files";
diff --git a/pkgs/tools/misc/lifecycled/default.nix b/pkgs/tools/misc/lifecycled/default.nix
index 728424f8d89e8..f4148b6316c28 100644
--- a/pkgs/tools/misc/lifecycled/default.nix
+++ b/pkgs/tools/misc/lifecycled/default.nix
@@ -22,7 +22,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "A daemon for responding to AWS AutoScaling Lifecycle Hooks";
+    description = "Daemon for responding to AWS AutoScaling Lifecycle Hooks";
     homepage = "https://github.com/buildkite/lifecycled/";
     license = licenses.mit;
     maintainers = with maintainers; [ cole-h grahamc ];
diff --git a/pkgs/tools/misc/limitcpu/default.nix b/pkgs/tools/misc/limitcpu/default.nix
index f06bd5ff16a9b..4d8b14229ac23 100644
--- a/pkgs/tools/misc/limitcpu/default.nix
+++ b/pkgs/tools/misc/limitcpu/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "limitcpu";
-  version = "3.0";
+  version = "3.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/limitcpu/cpulimit-${version}.tar.gz";
-    sha256 = "sha256-rS9BXrK72j6DqKLZGO9ekPUuvMb+5h6Uv5F7PoTrtJw=";
+    sha256 = "sha256-lGmU7GDznwMJW4m9dOZguJwUyCq6dUVmk5jjArx7I0w=";
   };
 
   buildFlags = with stdenv; [ (
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://limitcpu.sourceforge.net/";
-    description = "A tool to throttle the CPU usage of programs";
+    description = "Tool to throttle the CPU usage of programs";
     platforms = with platforms; linux ++ freebsd;
     license = licenses.gpl2Only;
     maintainers = [maintainers.rycee];
diff --git a/pkgs/tools/misc/lipl/default.nix b/pkgs/tools/misc/lipl/default.nix
index 1f6b8437af301..8d9d294f3edd7 100644
--- a/pkgs/tools/misc/lipl/default.nix
+++ b/pkgs/tools/misc/lipl/default.nix
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A command line tool to analyse the output over time of custom shell commands";
+    description = "Command line tool to analyse the output over time of custom shell commands";
     homepage = "https://github.com/yxdunc/lipl";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/tools/misc/lnav/default.nix b/pkgs/tools/misc/lnav/default.nix
index ffaea930b5d33..623dcb28c97e5 100644
--- a/pkgs/tools/misc/lnav/default.nix
+++ b/pkgs/tools/misc/lnav/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/tstack/lnav";
-    description = "The Logfile Navigator";
+    description = "Logfile Navigator";
     longDescription = ''
       The log file navigator, lnav, is an enhanced log file viewer that takes
       advantage of any semantic information that can be gleaned from the files
diff --git a/pkgs/tools/misc/lokalise2-cli/default.nix b/pkgs/tools/misc/lokalise2-cli/default.nix
index 43a6e50b5b366..c9baf275b4d20 100644
--- a/pkgs/tools/misc/lokalise2-cli/default.nix
+++ b/pkgs/tools/misc/lokalise2-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lokalise2-cli";
-  version = "2.6.10";
+  version = "2.6.14";
 
   src = fetchFromGitHub {
     owner = "lokalise";
     repo = "lokalise-cli-2-go";
     rev = "v${version}";
-    sha256 = "sha256-jRytFOlyCp8uXOaAgfvjGGFX2IBLKGE5/cQnOed1elE=";
+    sha256 = "sha256-kj0tkI87pgYdJNlQXCRpVhg7IjvWTDBDeXqePO0HZNo=";
   };
 
   vendorHash = "sha256-P7AqMSV05UKeiUqWBxCOlLwMJcAtp0lpUC+eoE3JZFM=";
diff --git a/pkgs/tools/misc/lolcat/default.nix b/pkgs/tools/misc/lolcat/default.nix
index a10c81416053d..b56606d21d5df 100644
--- a/pkgs/tools/misc/lolcat/default.nix
+++ b/pkgs/tools/misc/lolcat/default.nix
@@ -8,7 +8,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "lolcat";
 
   meta = with lib; {
-    description = "A rainbow version of cat";
+    description = "Rainbow version of cat";
     homepage    = "https://github.com/busyloop/lolcat";
     license     = licenses.bsd3;
     maintainers = with maintainers; [ StillerHarpo manveru nicknovitski ];
diff --git a/pkgs/tools/misc/lsd/default.nix b/pkgs/tools/misc/lsd/default.nix
index f89467af643af..9b80e70e35cd8 100644
--- a/pkgs/tools/misc/lsd/default.nix
+++ b/pkgs/tools/misc/lsd/default.nix
@@ -54,7 +54,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/lsd-rs/lsd";
-    description = "The next gen ls command";
+    description = "Next gen ls command";
     license = licenses.asl20;
     maintainers = with maintainers; [ zowoq SuperSandro2000 ];
     mainProgram = "lsd";
diff --git a/pkgs/tools/misc/lwc/default.nix b/pkgs/tools/misc/lwc/default.nix
index 77e6d5033f31e..9d22151405df3 100644
--- a/pkgs/tools/misc/lwc/default.nix
+++ b/pkgs/tools/misc/lwc/default.nix
@@ -23,7 +23,7 @@ buildGoModule rec {
   ];
 
   meta = with lib; {
-    description = "A live-updating version of the UNIX wc command";
+    description = "Live-updating version of the UNIX wc command";
     homepage = "https://github.com/timdp/lwc";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/tools/misc/macchina/default.nix b/pkgs/tools/misc/macchina/default.nix
index 3da4d9b07fbb3..036d500f6b65f 100644
--- a/pkgs/tools/misc/macchina/default.nix
+++ b/pkgs/tools/misc/macchina/default.nix
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A fast, minimal and customizable system information fetcher";
+    description = "Fast, minimal and customizable system information fetcher";
     homepage = "https://github.com/Macchina-CLI/macchina";
     changelog = "https://github.com/Macchina-CLI/macchina/releases/tag/v${version}";
     license = with licenses; [ mit ];
diff --git a/pkgs/tools/misc/mailman-rss/default.nix b/pkgs/tools/misc/mailman-rss/default.nix
deleted file mode 100644
index d71ee8795528c..0000000000000
--- a/pkgs/tools/misc/mailman-rss/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, python3Packages, fetchPypi, withTwitter ? false}:
-
-python3Packages.buildPythonApplication rec {
-  pname = "mailman-rss";
-  version = "0.2.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1brrik70jyagxa9l0cfmlxvqpilwj1q655bphxnvjxyganxf4c00";
-  };
-
-  propagatedBuildInputs = with python3Packages; [ python-dateutil future requests beautifulsoup4 ]
-    ++ lib.optional withTwitter python3Packages.twitter
-  ;
-
-  # No tests in Pypi Tarball
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Mailman archive -> rss converter";
-    homepage = "https://github.com/kyamagu/mailman-rss";
-    license = licenses.mit;
-    maintainers = with maintainers; [ samueldr ];
-    mainProgram = "mailman-rss";
-  };
-}
diff --git a/pkgs/tools/misc/maker-panel/default.nix b/pkgs/tools/misc/maker-panel/default.nix
index 12a5d46547a2c..7fc5ec9f3c774 100644
--- a/pkgs/tools/misc/maker-panel/default.nix
+++ b/pkgs/tools/misc/maker-panel/default.nix
@@ -16,7 +16,9 @@ rustPlatform.buildRustPackage rec {
     sha256 = "0dlsy0c46781sb652kp80pvga7pzx6xla64axir92fcgg8k803bi";
   };
 
-  cargoSha256 = "1ar62dn0khlbm47chakrsrxd1y76gpq0sql4g9j7dqqrvkavgd7w";
+  cargoHash = "sha256-Ygya/9keRyIQyjrO6medtcXww9LMG3ne6I/8q35lJPo=";
+
+  cargoPatches = [ ./update-gerber-types-to-0.3.patch ];
 
   nativeBuildInputs = [ go-md2man installShellFiles ];
 
diff --git a/pkgs/tools/misc/maker-panel/update-gerber-types-to-0.3.patch b/pkgs/tools/misc/maker-panel/update-gerber-types-to-0.3.patch
new file mode 100644
index 0000000000000..60b22d7d69e18
--- /dev/null
+++ b/pkgs/tools/misc/maker-panel/update-gerber-types-to-0.3.patch
@@ -0,0 +1,109 @@
+From e616648213b75f60703bd68e028f0af78199a565 Mon Sep 17 00:00:00 2001
+From: Leah Amelia Chen <hi@pluie.me>
+Date: Mon, 6 May 2024 10:43:56 +0200
+Subject: [PATCH] Update gerber-types to 0.3.0
+
+Required to update num-bigint to ^0.3.3, in order to compile on modern
+Rust versions with a native `div_ceil` on unsigned integers.
+---
+ Cargo.lock | 26 ++++++++++++++++----------
+ Cargo.toml |  2 +-
+ 2 files changed, 17 insertions(+), 11 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index 1b15393..41cd500 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -387,7 +387,7 @@ dependencies = [
+  "log",
+  "memmap2",
+  "ttf-parser",
+- "uuid",
++ "uuid 0.8.2",
+ ]
+
+ [[package]]
+@@ -471,15 +471,15 @@ dependencies = [
+
+ [[package]]
+ name = "gerber-types"
+-version = "0.2.0"
++version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c7badd25c55b207eb6607600b73293d9627587b2dc0608031aa8de50e63810d3"
++checksum = "aecf78a269d7b4f73953f30174b18f52c1bb44f7d58f4d830a76c0ea023ad8bc"
+ dependencies = [
+  "chrono",
+  "conv",
+  "num-rational",
+  "thiserror",
+- "uuid",
++ "uuid 1.8.0",
+ ]
+
+ [[package]]
+@@ -780,9 +780,9 @@ dependencies = [
+
+ [[package]]
+ name = "num-bigint"
+-version = "0.3.2"
++version = "0.4.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7d0a3d5e207573f948a9e5376662aa743a2ea13f7c50a554d7af443a73fbfeba"
++checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
+ dependencies = [
+  "autocfg",
+  "num-integer",
+@@ -801,9 +801,9 @@ dependencies = [
+
+ [[package]]
+ name = "num-rational"
+-version = "0.3.2"
++version = "0.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
++checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+ dependencies = [
+  "autocfg",
+  "num-bigint",
+@@ -813,9 +813,9 @@ dependencies = [
+
+ [[package]]
+ name = "num-traits"
+-version = "0.2.14"
++version = "0.2.19"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
++checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+ dependencies = [
+  "autocfg",
+ ]
+@@ -1379,6 +1379,12 @@ dependencies = [
+  "getrandom 0.2.2",
+ ]
+
++[[package]]
++name = "uuid"
++version = "1.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
++
+ [[package]]
+ name = "vec_map"
+ version = "0.8.2"
+diff --git a/Cargo.toml b/Cargo.toml
+index 2f9e8ea..09f0410 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -13,7 +13,7 @@ geo-booleanop = "0.3.2"
+ geo = "0.16"
+ usvg = { version = "0.12", default-features = false }
+ resvg = { version = "0.12", default-features = false }
+-gerber-types = "0.2"
++gerber-types = "0.3"
+ #{ git = "https://github.com/twitchyliquid64/gerber-types-rs", rev = "e927ed2ff68d9e8629dbc36d5f1e5626da472376" }
+ structopt = "0.3"
+ zip = { version = "0.5", default-features = false }
+--
+2.44.0
+
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index 59450f5c360ed..9e717cad275ab 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "http://man-db.nongnu.org";
-    description = "An implementation of the standard Unix documentation system accessed using the man command";
+    description = "Implementation of the standard Unix documentation system accessed using the man command";
     license = licenses.gpl2Plus;
     platforms = lib.platforms.unix;
     mainProgram = "man";
diff --git a/pkgs/tools/misc/massren/default.nix b/pkgs/tools/misc/massren/default.nix
index 763c3a2ae3706..a1f1e7027028e 100644
--- a/pkgs/tools/misc/massren/default.nix
+++ b/pkgs/tools/misc/massren/default.nix
@@ -23,7 +23,7 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
-  preCheck =
+  checkFlags =
     let
       skippedTests = [
         # Possible error about github.com/mattn/go-sqlite3
@@ -31,9 +31,7 @@ buildGoModule rec {
         "Test_processFileActions"
       ];
     in
-    ''
-      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
-    '';
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
 
   meta = with lib; {
     description = "Easily rename multiple files using your text editor";
diff --git a/pkgs/tools/misc/mastotool/default.nix b/pkgs/tools/misc/mastotool/default.nix
index a75f97c4a6ece..eb5e64573225e 100644
--- a/pkgs/tools/misc/mastotool/default.nix
+++ b/pkgs/tools/misc/mastotool/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
-    description = "A collection of command-line tools to work with your Mastodon account";
+    description = "Collection of command-line tools to work with your Mastodon account";
     homepage = "https://github.com/muesli/mastotool";
     changelog = "https://github.com/muesli/mastotool/releases/tag/${src.rev}";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/mbuffer/default.nix b/pkgs/tools/misc/mbuffer/default.nix
index 672f2eb9298ab..177e70dd574cb 100644
--- a/pkgs/tools/misc/mbuffer/default.nix
+++ b/pkgs/tools/misc/mbuffer/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    description  = "A tool for buffering data streams with a large set of unique features";
+    description  = "Tool for buffering data streams with a large set of unique features";
     homepage = "https://www.maier-komor.de/mbuffer.html";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/tools/misc/mcfly/default.nix b/pkgs/tools/misc/mcfly/default.nix
index 675639a032941..adcbfa7db8267 100644
--- a/pkgs/tools/misc/mcfly/default.nix
+++ b/pkgs/tools/misc/mcfly/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mcfly";
-  version = "0.8.4";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "cantino";
     repo = "mcfly";
     rev = "v${version}";
-    hash = "sha256-beoXLTy3XikdZBS0Lh3cugHflNJ51PbqsCE3xtCHpj0=";
+    hash = "sha256-vVpZP3bixbV9K32PP0rxWoEGCnWa4xRYHFmgr8wDbS8=";
   };
 
   postPatch = ''
@@ -17,11 +17,11 @@ rustPlatform.buildRustPackage rec {
     substituteInPlace mcfly.fish --replace '(command which mcfly)'  '${placeholder "out"}/bin/mcfly'
   '';
 
-  cargoHash = "sha256-wWYpDU6oXT+sDCzX8VWJ6GfNPOi7T02LK0JKcWHFGi8=";
+  cargoHash = "sha256-MTCHznGki7WALNyZByTz4bZ6NDZFpDXcaQ7iYqbMruA=";
 
   meta = with lib; {
     homepage = "https://github.com/cantino/mcfly";
-    description = "An upgraded ctrl-r where history results make sense for what you're working on right now";
+    description = "Upgraded ctrl-r where history results make sense for what you're working on right now";
     changelog = "https://github.com/cantino/mcfly/raw/v${version}/CHANGELOG.txt";
     license = licenses.mit;
     maintainers = [ maintainers.melkor333 ];
diff --git a/pkgs/tools/misc/memtest86+/default.nix b/pkgs/tools/misc/memtest86+/default.nix
index 520b0a98c2018..72b74039f7806 100644
--- a/pkgs/tools/misc/memtest86+/default.nix
+++ b/pkgs/tools/misc/memtest86+/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = {
     homepage = "https://www.memtest.org/";
-    description = "A tool to detect memory errors";
+    description = "Tool to detect memory errors";
     license = lib.licenses.gpl2Only;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ lib.maintainers.LunNova ];
diff --git a/pkgs/tools/misc/memtest86-efi/default.nix b/pkgs/tools/misc/memtest86-efi/default.nix
index 264fe013b27a7..ead250feee6a5 100644
--- a/pkgs/tools/misc/memtest86-efi/default.nix
+++ b/pkgs/tools/misc/memtest86-efi/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.memtest86.com/";
     downloadPage = "https://www.memtest86.com/download.htm";
     changelog = "https://www.memtest86.com/whats-new.html";
-    description = "A tool to detect memory errors, to be run from a bootloader";
+    description = "Tool to detect memory errors, to be run from a bootloader";
     longDescription = ''
       A UEFI app that is able to detect errors in RAM.  It can be run from a
       bootloader.  Released under a proprietary freeware license.
diff --git a/pkgs/tools/misc/microplane/default.nix b/pkgs/tools/misc/microplane/default.nix
index 53d5cc567f09d..5fb431d387419 100644
--- a/pkgs/tools/misc/microplane/default.nix
+++ b/pkgs/tools/misc/microplane/default.nix
@@ -22,7 +22,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "A CLI tool to make git changes across many repos";
+    description = "CLI tool to make git changes across many repos";
     homepage = "https://github.com/Clever/microplane";
     license = licenses.asl20;
     maintainers = with maintainers; [ dbirks ];
diff --git a/pkgs/tools/misc/minipro/default.nix b/pkgs/tools/misc/minipro/default.nix
index 870c4706f8820..b60e886f47c52 100644
--- a/pkgs/tools/misc/minipro/default.nix
+++ b/pkgs/tools/misc/minipro/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minipro";
-  version = "0.6";
+  version = "0.7";
 
   src = fetchFromGitLab {
     owner = "DavidGriffith";
     repo = "minipro";
     rev = version;
-    sha256 = "sha256-6i4PYzSm6lcO/Nb6n3holrNe4TtAnG2o81ZIMAIGqOE=";
+    hash = "sha256-suMGR1vgM2tXsPHInZ6HEDKhDSPlC1ss+wCgbION/rE=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -30,9 +30,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://gitlab.com/DavidGriffith/minipro";
-    description = "An open source program for controlling the MiniPRO TL866xx series of chip programmers";
+    description = "Open source program for controlling the MiniPRO TL866xx series of chip programmers";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.bmwalters ];
     mainProgram = "minipro";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/mise/default.nix b/pkgs/tools/misc/mise/default.nix
index 280b7adde970c..eb8a537b5a930 100644
--- a/pkgs/tools/misc/mise/default.nix
+++ b/pkgs/tools/misc/mise/default.nix
@@ -17,13 +17,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mise";
-  version = "2024.4.8";
+  version = "2024.5.9";
 
   src = fetchFromGitHub {
     owner = "jdx";
     repo = "mise";
     rev = "v${version}";
-    hash = "sha256-bIw7j7KPHlgIucV/onvp92k0OlNgaxqiVq/Cnj0kIuQ=";
+    hash = "sha256-vmY+uI/NqMCLJwJaQU+aDppmn5OSLPUIbeqCSlN8Xb0=";
 
     # registry is not needed for compilation nor for tests.
     # contains files with the same name but different case, which cause problems with hash on darwin
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoHash = "sha256-yMpU39SU4Ut7vUQdzkBjhf8p8yCU350HMYKGm5CCado=";
+  cargoHash = "sha256-7kcs1vOM68uKjMrRn8jGI6mgXd90TeMUeYWnAGl8sgE=";
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
@@ -76,7 +76,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = {
     homepage = "https://mise.jdx.dev";
-    description = "The front-end to your dev env";
+    description = "Front-end to your dev env";
     changelog = "https://github.com/jdx/mise/releases/tag/v${version}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ konradmalik ];
diff --git a/pkgs/tools/misc/mmake/default.nix b/pkgs/tools/misc/mmake/default.nix
index 32f089f1a7714..b0aff161ecea8 100644
--- a/pkgs/tools/misc/mmake/default.nix
+++ b/pkgs/tools/misc/mmake/default.nix
@@ -20,7 +20,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/tj/mmake";
-    description = "A small program  which wraps make to provide additional functionality";
+    description = "Small program  which wraps make to provide additional functionality";
     longDescription = ''
       Mmake is a small program  which wraps make to provide additional
       functionality,  such   as  user-friendly  help   output,  remote
diff --git a/pkgs/tools/misc/mmctl/default.nix b/pkgs/tools/misc/mmctl/default.nix
index a884f24db4702..956a12f598bdb 100644
--- a/pkgs/tools/misc/mmctl/default.nix
+++ b/pkgs/tools/misc/mmctl/default.nix
@@ -6,7 +6,7 @@ mattermost.overrideAttrs (o: {
   subPackages = [ "cmd/mmctl" ];
 
   meta = o.meta // {
-    description = "A remote CLI tool for Mattermost";
+    description = "Remote CLI tool for Mattermost";
     mainProgram = "mmctl";
   };
 })
diff --git a/pkgs/tools/misc/moar/default.nix b/pkgs/tools/misc/moar/default.nix
index c99c394f100a6..4140308c4967a 100644
--- a/pkgs/tools/misc/moar/default.nix
+++ b/pkgs/tools/misc/moar/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "moar";
-  version = "1.23.11";
+  version = "1.23.15";
 
   src = fetchFromGitHub {
     owner = "walles";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-dKsDvtFs1/WToqpfW84dxDAHRN13TUnZKKk26h3pQ18=";
+    hash = "sha256-tRjKBHsNJL66oz+0gZTrL8xFHQEyHLG+W35LHUYQKwU=";
   };
 
   vendorHash = "sha256-1u/2OlMX2FuZaxWnpU4n5r/4xKe+rK++GoCJiSq/BdE=";
diff --git a/pkgs/tools/misc/mods/default.nix b/pkgs/tools/misc/mods/default.nix
deleted file mode 100644
index 33cc3dd3e133c..0000000000000
--- a/pkgs/tools/misc/mods/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, gitUpdater
-, testers
-, mods
-}:
-
-buildGoModule rec {
-  pname = "mods";
-  version = "1.2.2";
-
-  src = fetchFromGitHub {
-    owner = "charmbracelet";
-    repo = "mods";
-    rev = "v${version}";
-    hash = "sha256-ecmfWnrd9gwIEGAOIcOeUnfmkKmq9dLxpKqAHJemhvU=";
-  };
-
-  vendorHash = "sha256-pJ31Lsa5VVix3BM4RrllQA3MJ/JeNIKfQ8RClyFfXCI=";
-
-  ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
-
-  passthru = {
-    updateScript = gitUpdater {
-      rev-prefix = "v";
-      ignoredVersions = ".(rc|beta).*";
-    };
-
-    tests.version = testers.testVersion {
-      package = mods;
-      command = "HOME=$(mktemp -d) mods -v";
-    };
-  };
-
-  meta = with lib; {
-    description = "AI on the command line";
-    homepage = "https://github.com/charmbracelet/mods";
-    license = licenses.mit;
-    maintainers = with maintainers; [ dit7ya ];
-    mainProgram = "mods";
-  };
-}
diff --git a/pkgs/tools/misc/mongodb-compass/default.nix b/pkgs/tools/misc/mongodb-compass/default.nix
index 6df35c2ea734f..00dce959fb630 100644
--- a/pkgs/tools/misc/mongodb-compass/default.nix
+++ b/pkgs/tools/misc/mongodb-compass/default.nix
@@ -33,7 +33,7 @@ xorg,
 }:
 
 let
-  version = "1.42.5";
+  version = "1.43.0";
 
   rpath = lib.makeLibraryPath [
     alsa-lib
@@ -82,7 +82,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.mongodb.com/compass/mongodb-compass_${version}_amd64.deb";
-        sha256 = "sha256-46JQXC2Ydq37TomtQdnvk8DwSs8aCfozxqUaEO6hmxo=";
+        sha256 = "sha256-hzPhF0NGwv+Lm+q5SoS8qv10UmuKf4RarGMkEeCxp9w=";
       }
     else
       throw "MongoDB compass is not supported on ${stdenv.hostPlatform.system}";
@@ -128,7 +128,7 @@ in stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "The GUI for MongoDB";
+    description = "GUI for MongoDB";
     maintainers = with maintainers; [ bryanasdev000 ];
     homepage = "https://github.com/mongodb-js/compass";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
diff --git a/pkgs/tools/misc/most/default.nix b/pkgs/tools/misc/most/default.nix
index dd94f1fed45fc..3cea48c31c273 100644
--- a/pkgs/tools/misc/most/default.nix
+++ b/pkgs/tools/misc/most/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    description = "A terminal pager similar to 'more' and 'less'";
+    description = "Terminal pager similar to 'more' and 'less'";
     longDescription = ''
       MOST is a powerful paging program for Unix, VMS, MSDOS, and win32
       systems. Unlike other well-known paging programs most supports multiple
diff --git a/pkgs/tools/misc/mpdscribble/default.nix b/pkgs/tools/misc/mpdscribble/default.nix
index 335dedf12fe21..e7baa6641ccfb 100644
--- a/pkgs/tools/misc/mpdscribble/default.nix
+++ b/pkgs/tools/misc/mpdscribble/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optional stdenv.isLinux systemd;
 
   meta = with lib; {
-    description = "A MPD client which submits info about tracks being played to a scrobbler";
+    description = "MPD client which submits info about tracks being played to a scrobbler";
     homepage = "https://www.musicpd.org/clients/mpdscribble/";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.sohalt ];
diff --git a/pkgs/tools/misc/mpremote/default.nix b/pkgs/tools/misc/mpremote/default.nix
index 149e3c9686ac3..b55efaa3b0a01 100644
--- a/pkgs/tools/misc/mpremote/default.nix
+++ b/pkgs/tools/misc/mpremote/default.nix
@@ -9,13 +9,13 @@
 }:
 buildPythonApplication rec {
   pname = "mpremote";
-  version = "1.22.2";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "micropython";
     repo = "micropython";
     rev = "refs/tags/v${version}";
-    hash = "sha256-67CAR34VrMOzvNkukDeGRnUfoOLO66R37wsrRHjpp5E=";
+    hash = "sha256-TEW9aDXodPYWlm7xxodaG/2sXOCPpDUKtYVzYZgAzf4=";
   };
   sourceRoot = "${src.name}/tools/mpremote";
   format = "pyproject";
@@ -33,7 +33,7 @@ buildPythonApplication rec {
   pythonImportsCheck = [ "mpremote" ];
 
   meta = with lib; {
-    description = "An integrated set of utilities to remotely interact with and automate a MicroPython device over a serial connection";
+    description = "Integrated set of utilities to remotely interact with and automate a MicroPython device over a serial connection";
     homepage = "https://github.com/micropython/micropython/blob/master/tools/mpremote/README.md";
     platforms = platforms.unix;
     license = licenses.mit;
diff --git a/pkgs/tools/misc/mprocs/default.nix b/pkgs/tools/misc/mprocs/default.nix
index ae0d113f8159b..a2e7f8a018dc9 100644
--- a/pkgs/tools/misc/mprocs/default.nix
+++ b/pkgs/tools/misc/mprocs/default.nix
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A TUI tool to run multiple commands in parallel and show the output of each command separately";
+    description = "TUI tool to run multiple commands in parallel and show the output of each command separately";
     homepage = "https://github.com/pvolok/mprocs";
     license = licenses.mit;
     maintainers = with maintainers; [ GaetanLepage pyrox0 ];
diff --git a/pkgs/tools/misc/mrtg/default.nix b/pkgs/tools/misc/mrtg/default.nix
index 343a3d5c2a253..ee74024d05567 100644
--- a/pkgs/tools/misc/mrtg/default.nix
+++ b/pkgs/tools/misc/mrtg/default.nix
@@ -1,5 +1,11 @@
 { lib, stdenv, fetchurl, perl, gd, rrdtool }:
 
+let
+  perlWithPkgs = perl.withPackages (pp: with pp;[
+    Socket6
+    IOSocketINET6
+  ]);
+in
 stdenv.mkDerivation rec {
   pname = "mrtg";
   version = "2.17.10";
@@ -10,13 +16,15 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    perl
+    # add support for ipv6 snmp:
+    # https://github.com/oetiker/mrtg/blob/433ebfa5fc043971b46a5cd975fb642c76e3e49d/src/bin/mrtg#L331-L341
+    perlWithPkgs
     gd
     rrdtool
   ];
 
   meta = with lib; {
-    description = "The Multi Router Traffic Grapher";
+    description = "Multi Router Traffic Grapher";
     homepage = "https://oss.oetiker.ch/mrtg/";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ robberer ];
diff --git a/pkgs/tools/misc/ms-sys/default.nix b/pkgs/tools/misc/ms-sys/default.nix
index 5d736952d2328..ebf69a9b9a3b0 100644
--- a/pkgs/tools/misc/ms-sys/default.nix
+++ b/pkgs/tools/misc/ms-sys/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
-    description = "A program for writing Microsoft-compatible boot records";
+    description = "Program for writing Microsoft-compatible boot records";
     homepage = "https://ms-sys.sourceforge.net/";
     license = licenses.gpl2Plus;
     platforms = with platforms; linux;
diff --git a/pkgs/tools/misc/mstflint/default.nix b/pkgs/tools/misc/mstflint/default.nix
index 425271b6ff36a..cd94f83f3f1b6 100644
--- a/pkgs/tools/misc/mstflint/default.nix
+++ b/pkgs/tools/misc/mstflint/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 , rdma-core
 , openssl
 , zlib
@@ -26,22 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mstflint";
-  version = "4.26.0-1";
+  version = "4.28.0-1";
 
   src = fetchurl {
     url = "https://github.com/Mellanox/mstflint/releases/download/v${version}/mstflint-${version}.tar.gz";
-    hash = "sha256-P8XACcz6d8UTOhFFeTijfFOthBqnUghGlDj9K145sZ8=";
+    hash = "sha256-zvCDc/9wAqT3XBI9A5kOprnnm52Ek8oGe2Je3dKHti0=";
   };
 
-  patches = [
-    # needed to introduce this with GCC 13. Remove, when https://github.com/Mellanox/mstflint/pull/916 is upstream.
-    (fetchpatch {
-      name = "elf.patch";
-      url = "https://patch-diff.githubusercontent.com/raw/Mellanox/mstflint/pull/916.patch";
-      hash = "sha256-quBdmiuzwThu4MkAaT74eJDlZwIcUZMrLZa8OIcO96w=";
-    })
-  ];
-
   nativeBuildInputs = [
     autoconf
     automake
diff --git a/pkgs/tools/misc/nagstamon/default.nix b/pkgs/tools/misc/nagstamon/default.nix
index eb80c03bec918..a0570c77be5b0 100644
--- a/pkgs/tools/misc/nagstamon/default.nix
+++ b/pkgs/tools/misc/nagstamon/default.nix
@@ -16,7 +16,7 @@ pythonPackages.buildPythonApplication rec {
      beautifulsoup4 keyring requests-kerberos kerberos lxml ];
 
   meta = with lib; {
-    description = "A status monitor for the desktop";
+    description = "Status monitor for the desktop";
     homepage = "https://nagstamon.ifw-dresden.de/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/tools/misc/nanoemoji/default.nix b/pkgs/tools/misc/nanoemoji/default.nix
index a4fb6768d0bb7..88b1cad122343 100644
--- a/pkgs/tools/misc/nanoemoji/default.nix
+++ b/pkgs/tools/misc/nanoemoji/default.nix
@@ -23,7 +23,6 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = with python3.pkgs; [
     setuptools-scm
-    pythonRelaxDepsHook
 
     pngquant
     resvg
@@ -64,7 +63,7 @@ python3.pkgs.buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = "A wee tool to build color fonts";
+    description = "Wee tool to build color fonts";
     homepage = "https://github.com/googlefonts/nanoemoji";
     license = licenses.asl20;
     maintainers = with maintainers; [ _999eagle ];
diff --git a/pkgs/tools/misc/natls/default.nix b/pkgs/tools/misc/natls/default.nix
index a324768faea49..1398f271a5502 100644
--- a/pkgs/tools/misc/natls/default.nix
+++ b/pkgs/tools/misc/natls/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-Am4HmfmhskKxcp1iWod5z3caHwsdo31qCaVi0UxTXAg=";
 
   meta = with lib; {
-    description = "the 'ls' replacement you never knew you needed";
+    description = "'ls' replacement you never knew you needed";
     homepage = "https://github.com/willdoescode/nat";
     license = licenses.mit;
     maintainers = with maintainers; [ cafkafk ];
diff --git a/pkgs/tools/misc/nb/default.nix b/pkgs/tools/misc/nb/default.nix
index 5d394f1c7b190..4cc68426ce7e4 100644
--- a/pkgs/tools/misc/nb/default.nix
+++ b/pkgs/tools/misc/nb/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A command line note-taking, bookmarking, archiving, and knowledge base application";
+    description = "Command line note-taking, bookmarking, archiving, and knowledge base application";
     longDescription = ''
       `nb` creates notes in text-based formats like Markdown, Emacs Org mode,
       and LaTeX, can work with files in any format, can import and export notes
diff --git a/pkgs/tools/misc/nbench/default.nix b/pkgs/tools/misc/nbench/default.nix
index f1af32cc0e3f5..c56a76023b5d9 100644
--- a/pkgs/tools/misc/nbench/default.nix
+++ b/pkgs/tools/misc/nbench/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://www.math.utah.edu/~mayer/linux/bmark.html";
-    description = "A synthetic computing benchmark program";
+    description = "Synthetic computing benchmark program";
     platforms = platforms.unix;
     maintainers = with lib.maintainers; [ bennofs ];
     mainProgram = "nbench";
diff --git a/pkgs/tools/misc/neofetch/default.nix b/pkgs/tools/misc/neofetch/default.nix
index 806655ffe9f70..d035fe3120910 100644
--- a/pkgs/tools/misc/neofetch/default.nix
+++ b/pkgs/tools/misc/neofetch/default.nix
@@ -53,7 +53,7 @@ stdenvNoCC.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A fast, highly customizable system info script";
+    description = "Fast, highly customizable system info script";
     homepage = "https://github.com/dylanaraps/neofetch";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/netbootxyz-efi/default.nix b/pkgs/tools/misc/netbootxyz-efi/default.nix
index efa16daaeacfd..2726df1b87018 100644
--- a/pkgs/tools/misc/netbootxyz-efi/default.nix
+++ b/pkgs/tools/misc/netbootxyz-efi/default.nix
@@ -13,7 +13,7 @@ in fetchurl {
 
   meta = with lib; {
     homepage = "https://netboot.xyz/";
-    description = "A tool to boot OS installers and utilities over the network, to be run from a bootloader";
+    description = "Tool to boot OS installers and utilities over the network, to be run from a bootloader";
     license = licenses.asl20;
     maintainers = with maintainers; [ Enzime ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/node-glob/default.nix b/pkgs/tools/misc/node-glob/default.nix
index aba4690bbba43..4b3cde4edd9f2 100644
--- a/pkgs/tools/misc/node-glob/default.nix
+++ b/pkgs/tools/misc/node-glob/default.nix
@@ -20,7 +20,7 @@ buildNpmPackage rec {
 
   meta = {
     changelog = "https://github.com/isaacs/node-glob/blob/${src.rev}/changelog.md";
-    description = "A little globber for Node.js";
+    description = "Little globber for Node.js";
     homepage = "https://github.com/isaacs/node-glob";
     license = lib.licenses.isc;
     mainProgram = "glob";
diff --git a/pkgs/tools/misc/nomino/default.nix b/pkgs/tools/misc/nomino/default.nix
index 9dd489f459487..ab4d1d0fbd234 100644
--- a/pkgs/tools/misc/nomino/default.nix
+++ b/pkgs/tools/misc/nomino/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nomino";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     owner = "yaa110";
     repo = pname;
     rev = version;
-    hash = "sha256-jV1GqwQURRFPGuFXPhtgbBJHOdroQk6KHMI5yHa0Z64=";
+    hash = "sha256-qznue5C/6Y+54/gV1lLgJPCezW0zF2Fe2ZlMvU57+Q0=";
   };
 
-  cargoHash = "sha256-QluOfU8TO5422lVXswjiQb2YleWiq5twwYzpBJsBs2Y=";
+  cargoHash = "sha256-28QXDhpcrW1flnU5WesAdbJSMrZAhIuFv2LSJHTk74Y=";
 
   meta = with lib; {
     description = "Batch rename utility for developers";
diff --git a/pkgs/tools/misc/ntfy-sh/default.nix b/pkgs/tools/misc/ntfy-sh/default.nix
index cf429da9cad0a..439707e5b014b 100644
--- a/pkgs/tools/misc/ntfy-sh/default.nix
+++ b/pkgs/tools/misc/ntfy-sh/default.nix
@@ -5,21 +5,21 @@
 
 buildGoModule rec {
   pname = "ntfy-sh";
-  version = "2.10.0";
+  version = "2.11.0";
 
   src = fetchFromGitHub {
     owner = "binwiederhier";
     repo = "ntfy";
     rev = "v${version}";
-    hash = "sha256-Ns73kZ7XJKj93fhTDQ3L5hk4NZVEcKysJVEZk6jX7KE=";
+    hash = "sha256-lSj4LfS4nBC1xtTE/ee2Nhx9TmlU+138miwC0nEfVRY=";
   };
 
-  vendorHash = "sha256-c7fOSI+BPF3lwAJEftZHk9o/97T9kntgSsXoko3AYtQ=";
+  vendorHash = "sha256-V8LgbprUsr+8Ub4xeTPrE4Bp9qOP/R35/qPj0Udgod0=";
 
   ui = buildNpmPackage {
     inherit src version;
     pname = "ntfy-sh-ui";
-    npmDepsHash = "sha256-nU5atvqyt5U7z8XB0+25uF+7tWPW2yYnkV/124fKoPE=";
+    npmDepsHash = "sha256-PCkRULHfC3ktShO+3wIQFLG24l5LBSB1niWcIrCT9Bo=";
 
     prePatch = ''
       cd web/
diff --git a/pkgs/tools/misc/ntfy/default.nix b/pkgs/tools/misc/ntfy/default.nix
index fc9fd078ab205..348c1e3152537 100644
--- a/pkgs/tools/misc/ntfy/default.nix
+++ b/pkgs/tools/misc/ntfy/default.nix
@@ -84,7 +84,7 @@ in python.pkgs.buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    description = "A utility for sending notifications, on demand and when commands finish";
+    description = "Utility for sending notifications, on demand and when commands finish";
     homepage = "http://ntfy.rtfd.org/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ kamilchm ];
diff --git a/pkgs/tools/misc/nux/default.nix b/pkgs/tools/misc/nux/default.nix
index 89aea5e9dd9d9..d1d44a35c20c5 100644
--- a/pkgs/tools/misc/nux/default.nix
+++ b/pkgs/tools/misc/nux/default.nix
@@ -31,7 +31,7 @@ rustPlatform.buildRustPackage {
 
   meta = {
     homepage = "https://github.com/NuxPackage/nux";
-    description = "A wrapper over the nix cli";
+    description = "Wrapper over the nix cli";
     license = with lib.licenses; [ gpl3Plus ];
     maintainers = with lib.maintainers; [ ];
     mainProgram = "nux";
diff --git a/pkgs/tools/misc/nvimpager/default.nix b/pkgs/tools/misc/nvimpager/default.nix
index fb10d0ad89c96..80900bf30ae8e 100644
--- a/pkgs/tools/misc/nvimpager/default.nix
+++ b/pkgs/tools/misc/nvimpager/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nvimpager";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "lucc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-RmpPWS9gnBnR+Atw6uzBmeDSgoTOFSdKzHoJ84O+gyA=";
+    sha256 = "sha256-Au9rRZMZfU4qHi/ng6JO8FnMpySKDbKzr75SBPY3QiA=";
   };
 
   buildInputs = [
@@ -25,18 +25,15 @@ stdenv.mkDerivation rec {
   buildFlags = [ "nvimpager.configured" "nvimpager.1" ];
   preBuild = ''
     patchShebangs nvimpager
-    substituteInPlace nvimpager --replace ':-nvim' ':-${neovim}/bin/nvim'
+    substituteInPlace nvimpager --replace-fail ':-nvim' ':-${lib.getExe neovim}'
     '';
 
   doCheck = true;
   nativeCheckInputs = [ lua51Packages.busted util-linux neovim ];
-  # filter out one test that fails in the sandbox of nix
-  checkPhase = let
-    exclude-tags = if stdenv.isDarwin then "nix,mac" else "nix";
-  in ''
-    runHook preCheck
-    make test BUSTED='busted --output TAP --exclude-tags=${exclude-tags}'
-    runHook postCheck
+  # filter out one test that fails in the sandbox of nix or with neovim v0.10
+  # or on macOS
+  preCheck = ''
+    checkFlagsArray+=('BUSTED=busted --output TAP --exclude-tags=${"nix,v10" + lib.optionalString stdenv.isDarwin ",mac"}')
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/octosql/default.nix b/pkgs/tools/misc/octosql/default.nix
index a42f80d95ff95..675375cb09411 100644
--- a/pkgs/tools/misc/octosql/default.nix
+++ b/pkgs/tools/misc/octosql/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "octosql";
-  version = "0.12.2";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner  = "cube2222";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-jf40w5QkSTAgGu0JA4NeqsasN2TUf9vnKVw5zlZr8Mw=";
+    sha256 = "sha256-kzbIts5d2KmFfaAnOdpIXI1fiqBYXe5t981g4Uyk/cc=";
   };
 
   vendorHash = "sha256-p/2UsvxxywQKtk/9wDa5fjS0z6xLLzDONuQ5AtnUonk=";
diff --git a/pkgs/tools/misc/ollama/default.nix b/pkgs/tools/misc/ollama/default.nix
deleted file mode 100644
index fdda6ba3f1e8c..0000000000000
--- a/pkgs/tools/misc/ollama/default.nix
+++ /dev/null
@@ -1,215 +0,0 @@
-{ lib
-, buildGo122Module
-, fetchFromGitHub
-, fetchpatch
-, buildEnv
-, linkFarm
-, overrideCC
-, makeWrapper
-, stdenv
-, nixosTests
-
-, pkgs
-, cmake
-, gcc12
-, clblast
-, libdrm
-, rocmPackages
-, cudaPackages
-, linuxPackages
-, darwin
-
-, testers
-, ollama
-
-, config
-  # one of `[ null false "rocm" "cuda" ]`
-, acceleration ? null
-}:
-
-let
-  pname = "ollama";
-  # don't forget to invalidate all hashes each update
-  version = "0.1.31";
-
-  src = fetchFromGitHub {
-    owner = "jmorganca";
-    repo = "ollama";
-    rev = "v${version}";
-    hash = "sha256-Ip1zrhgGpeYo2zsN206/x+tcG/bmPJAq4zGatqsucaw=";
-    fetchSubmodules = true;
-  };
-  vendorHash = "sha256-Lj7CBvS51RqF63c01cOCgY7BCQeCKGu794qzb/S80C0=";
-  # ollama's patches of llama.cpp's example server
-  # `ollama/llm/generate/gen_common.sh` -> "apply temporary patches until fix is upstream"
-  # each update, these patches should be synchronized with the contents of `ollama/llm/patches/`
-  llamacppPatches = [
-    (preparePatch "03-load_exception.diff" "sha256-1DfNahFYYxqlx4E4pwMKQpL+XR0bibYnDFGt6dCL4TM=")
-    (preparePatch "04-locale.diff" "sha256-r5nHiP6yN/rQObRu2FZIPBKpKP9yByyZ6sSI2SKj6Do=")
-  ];
-
-  preparePatch = patch: hash: fetchpatch {
-    url = "file://${src}/llm/patches/${patch}";
-    inherit hash;
-    stripLen = 1;
-    extraPrefix = "llm/llama.cpp/";
-  };
-
-
-  accelIsValid = builtins.elem acceleration [ null false "rocm" "cuda" ];
-  validateFallback = lib.warnIf (config.rocmSupport && config.cudaSupport)
-    (lib.concatStrings [
-      "both `nixpkgs.config.rocmSupport` and `nixpkgs.config.cudaSupport` are enabled, "
-      "but they are mutually exclusive; falling back to cpu"
-    ])
-    (!(config.rocmSupport && config.cudaSupport));
-  validateLinux = api: (lib.warnIfNot stdenv.isLinux
-    "building ollama with `${api}` is only supported on linux; falling back to cpu"
-    stdenv.isLinux);
-  shouldEnable = assert accelIsValid;
-    mode: fallback:
-      ((acceleration == mode)
-      || (fallback && acceleration == null && validateFallback))
-      && (validateLinux mode);
-
-  enableRocm = shouldEnable "rocm" config.rocmSupport;
-  enableCuda = shouldEnable "cuda" config.cudaSupport;
-
-
-  rocmClang = linkFarm "rocm-clang" {
-    llvm = rocmPackages.llvm.clang;
-  };
-  rocmPath = buildEnv {
-    name = "rocm-path";
-    paths = [
-      rocmPackages.clr
-      rocmPackages.hipblas
-      rocmPackages.rocblas
-      rocmPackages.rocsolver
-      rocmPackages.rocsparse
-      rocmPackages.rocm-device-libs
-      rocmClang
-    ];
-  };
-
-  cudaToolkit = buildEnv {
-    name = "cuda-toolkit";
-    ignoreCollisions = true; # FIXME: find a cleaner way to do this without ignoring collisions
-    paths = [
-      cudaPackages.cudatoolkit
-      cudaPackages.cuda_cudart
-      cudaPackages.cuda_cudart.static
-    ];
-  };
-
-  runtimeLibs = lib.optionals enableRocm [
-    rocmPackages.rocm-smi
-  ] ++ lib.optionals enableCuda [
-    linuxPackages.nvidia_x11
-  ];
-
-  appleFrameworks = darwin.apple_sdk_11_0.frameworks;
-  metalFrameworks = [
-    appleFrameworks.Accelerate
-    appleFrameworks.Metal
-    appleFrameworks.MetalKit
-    appleFrameworks.MetalPerformanceShaders
-  ];
-
-
-  goBuild =
-    if enableCuda then
-      buildGo122Module.override { stdenv = overrideCC stdenv gcc12; }
-    else
-      buildGo122Module;
-  inherit (lib) licenses platforms maintainers;
-in
-goBuild ((lib.optionalAttrs enableRocm {
-  ROCM_PATH = rocmPath;
-  CLBlast_DIR = "${clblast}/lib/cmake/CLBlast";
-}) // (lib.optionalAttrs enableCuda {
-  CUDA_LIB_DIR = "${cudaToolkit}/lib";
-  CUDACXX = "${cudaToolkit}/bin/nvcc";
-  CUDAToolkit_ROOT = cudaToolkit;
-}) // {
-  inherit pname version src vendorHash;
-
-  nativeBuildInputs = [
-    cmake
-  ] ++ lib.optionals enableRocm [
-    rocmPackages.llvm.bintools
-  ] ++ lib.optionals (enableRocm || enableCuda) [
-    makeWrapper
-  ] ++ lib.optionals stdenv.isDarwin
-    metalFrameworks;
-
-  buildInputs = lib.optionals enableRocm [
-    rocmPackages.clr
-    rocmPackages.hipblas
-    rocmPackages.rocblas
-    rocmPackages.rocsolver
-    rocmPackages.rocsparse
-    libdrm
-  ] ++ lib.optionals enableCuda [
-    cudaPackages.cuda_cudart
-  ] ++ lib.optionals stdenv.isDarwin
-    metalFrameworks;
-
-  patches = [
-    # disable uses of `git` in the `go generate` script
-    # ollama's build script assumes the source is a git repo, but nix removes the git directory
-    # this also disables necessary patches contained in `ollama/llm/patches/`
-    # those patches are added to `llamacppPatches`, and reapplied here in the patch phase
-    ./disable-git.patch
-  ] ++ llamacppPatches;
-  postPatch = ''
-    # replace a hardcoded use of `g++` with `$CXX` so clang can be used on darwin
-    substituteInPlace llm/generate/gen_common.sh --replace-fail 'g++' '$CXX'
-    # replace inaccurate version number with actual release version
-    substituteInPlace version/version.go --replace-fail 0.0.0 '${version}'
-  '';
-  preBuild = ''
-    # disable uses of `git`, since nix removes the git directory
-    export OLLAMA_SKIP_PATCHING=true
-    # build llama.cpp libraries for ollama
-    go generate ./...
-  '';
-  postFixup = ''
-    # the app doesn't appear functional at the moment, so hide it
-    mv "$out/bin/app" "$out/bin/.ollama-app"
-  '' + lib.optionalString (enableRocm || enableCuda) ''
-    # expose runtime libraries necessary to use the gpu
-    mv "$out/bin/ollama" "$out/bin/.ollama-unwrapped"
-    makeWrapper "$out/bin/.ollama-unwrapped" "$out/bin/ollama" ${
-      lib.optionalString enableRocm
-        ''--set-default HIP_PATH '${rocmPath}' ''} \
-      --suffix LD_LIBRARY_PATH : '/run/opengl-driver/lib:${lib.makeLibraryPath runtimeLibs}'
-  '';
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X=github.com/jmorganca/ollama/version.Version=${version}"
-    "-X=github.com/jmorganca/ollama/server.mode=release"
-  ];
-
-  passthru.tests = {
-    service = nixosTests.ollama;
-    rocm = pkgs.ollama.override { acceleration = "rocm"; };
-    cuda = pkgs.ollama.override { acceleration = "cuda"; };
-    version = testers.testVersion {
-      inherit version;
-      package = ollama;
-    };
-  };
-
-  meta = {
-    description = "Get up and running with large language models locally";
-    homepage = "https://github.com/ollama/ollama";
-    changelog = "https://github.com/ollama/ollama/releases/tag/v${version}";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    mainProgram = "ollama";
-    maintainers = with maintainers; [ abysssol dit7ya elohmeier ];
-  };
-})
diff --git a/pkgs/tools/misc/ollama/disable-git.patch b/pkgs/tools/misc/ollama/disable-git.patch
deleted file mode 100644
index 5f9b4b3323b6a..0000000000000
--- a/pkgs/tools/misc/ollama/disable-git.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/llm/generate/gen_common.sh
-+++ b/llm/generate/gen_common.sh
-@@ -65,6 +65,8 @@
-         echo 'add_subdirectory(../ext_server ext_server) # ollama' >>${LLAMACPP_DIR}/CMakeLists.txt
-     fi
- 
-+    return
-+
-     if [ -n "$(ls -A ../patches/*.diff)" ]; then
-         # apply temporary patches until fix is upstream
-         for patch in ../patches/*.diff; do
-@@ -110,6 +112,8 @@
- 
- # Keep the local tree clean after we're done with the build
- cleanup() {
-+    return
-+
-     (cd ${LLAMACPP_DIR}/ && git checkout CMakeLists.txt)
- 
-     if [ -n "$(ls -A ../patches/*.diff)" ]; then
diff --git a/pkgs/tools/misc/ondir/default.nix b/pkgs/tools/misc/ondir/default.nix
index 1b32f474fc04e..0bcffd5ade712 100644
--- a/pkgs/tools/misc/ondir/default.nix
+++ b/pkgs/tools/misc/ondir/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "a small program to automate tasks specific to certain directories";
+    description = "Small program to automate tasks specific to certain directories";
     longDescription = ''
     It works by executing scripts in directories when you enter and leave them.
     This is done by overriding the shell builtins cd, pushd, and popd,
diff --git a/pkgs/tools/misc/opentelemetry-collector/contrib.nix b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
index 6a0fafc7815cd..7d2c99226690c 100644
--- a/pkgs/tools/misc/opentelemetry-collector/contrib.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector-contrib";
-  version = "0.98.0";
+  version = "0.102.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector-contrib";
     rev = "v${version}";
-    sha256 = "sha256-YdaAP/o8WhiGOggF2Xo66TzE7PCJDkvbiCFPLVG4SHQ=";
+    sha256 = "sha256-syl4mvh78otLWnDpu/7DHlAq0UqQ+4Alg8tZ16OYBQ4=";
   };
 
   # proxy vendor to avoid hash missmatches between linux and macOS
   proxyVendor = true;
-  vendorHash = "sha256-4hQcHUX/UgeG/ojljq4eJCqZIYp1unNsngprr/3C9q0=";
+  vendorHash = "sha256-SEj2waLnThV+anIdtZisJDusTrjObSXNPWIrWoL0gNA=";
 
   # there is a nested go.mod
   sourceRoot = "${src.name}/cmd/otelcontribcol";
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index 421f59f750090..b9f3d12c0a928 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -8,17 +8,17 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.99.0";
+  version = "0.101.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector";
     rev = "v${version}";
-    hash = "sha256-O0I6G8Wa2GTv/lR6ijo9XglAdciJj2yuupJP9/uYySM=";
+    hash = "sha256-BRZxeTFw4v4LLXPPzIzcjtR/RTckpolGGcB6jyq+ZOA=";
   };
   # there is a nested go.mod
   sourceRoot = "${src.name}/cmd/otelcorecol";
-  vendorHash = "sha256-JaquTJ3xl2NvipKF8her5m7tbYbLVQjYprGXEcrzv4s=";
+  vendorHash = "sha256-dO0j26AlpibsmbOqozz9+xMAJS/ZZHT6Z857AblYFHA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -50,7 +50,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://github.com/open-telemetry/opentelemetry-collector";
     changelog = "https://github.com/open-telemetry/opentelemetry-collector/blob/v${version}/CHANGELOG.md";
-    description = "A vendor-agnostic implementation on how to receive, process and export telemetry data";
+    description = "Vendor-agnostic implementation on how to receive, process and export telemetry data";
     longDescription = ''
       The OpenTelemetry Collector offers a vendor-agnostic implementation on how
       to receive, process and export telemetry data. In addition, it removes the
diff --git a/pkgs/tools/misc/os-prober/default.nix b/pkgs/tools/misc/os-prober/default.nix
index 5d15b7077385b..f48aae8e6df5e 100644
--- a/pkgs/tools/misc/os-prober/default.nix
+++ b/pkgs/tools/misc/os-prober/default.nix
@@ -68,6 +68,8 @@ stdenv.mkDerivation rec {
     description = "Utility to detect other OSs on a set of drives";
     homepage = "http://packages.debian.org/source/sid/os-prober";
     license = licenses.gpl2Plus;
+    mainProgram = "os-prober";
     maintainers = with maintainers; [ symphorien ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/oscclip/default.nix b/pkgs/tools/misc/oscclip/default.nix
index 3020998d93929..2b4e6aa7d1f7a 100644
--- a/pkgs/tools/misc/oscclip/default.nix
+++ b/pkgs/tools/misc/oscclip/default.nix
@@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec {
   nativeBuildInputs = with python3Packages; [ poetry-core ];
 
   meta = with lib; {
-    description = "A program that allows to copy/paste from a terminal using osc-52 control sequences";
+    description = "Program that allows to copy/paste from a terminal using osc-52 control sequences";
     longDescription = ''
       oscclip provides two commands: osc-copy and osc-paste. These commands allow to interact with the clipboard through the terminal directly.
       This means that they work through ssh sessions for example (given that the terminal supports osc-52 sequences).
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
index caccfbec9b699..cab9aba3d90c3 100644
--- a/pkgs/tools/misc/ostree/default.nix
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -8,6 +8,7 @@
 , gobject-introspection
 , gjs
 , nixosTests
+, pkgsCross
 , curl
 , glib
 , systemd
@@ -140,6 +141,7 @@ in stdenv.mkDerivation rec {
 
   passthru = {
     tests = {
+      musl = pkgsCross.musl64.ostree;
       installedTests = nixosTests.installed-tests.ostree;
     };
   };
diff --git a/pkgs/tools/misc/otel-cli/default.nix b/pkgs/tools/misc/otel-cli/default.nix
index 65f97c75f7d29..09c2481782443 100644
--- a/pkgs/tools/misc/otel-cli/default.nix
+++ b/pkgs/tools/misc/otel-cli/default.nix
@@ -26,7 +26,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/equinix-labs/otel-cli";
-    description = "A command-line tool for sending OpenTelemetry traces";
+    description = "Command-line tool for sending OpenTelemetry traces";
     changelog = "https://github.com/equinix-labs/otel-cli/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with lib.maintainers; [ emattiza urandom ];
diff --git a/pkgs/tools/misc/pandoc-include/default.nix b/pkgs/tools/misc/pandoc-include/default.nix
index eafa1221a8039..9e552adbfc9c0 100644
--- a/pkgs/tools/misc/pandoc-include/default.nix
+++ b/pkgs/tools/misc/pandoc-include/default.nix
@@ -5,24 +5,27 @@
 , panflute
 , lxml
 , setuptools
+, nix-update-script
 }:
 
 buildPythonApplication rec {
   pname = "pandoc-include";
-  version = "1.3.1";
+  version = "1.3.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "DCsunset";
     repo = "pandoc-include";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8TIGw6p9c61oSH3ld14rmeG6wZY9u9JHALImxXM3c3Y=";
+    hash = "sha256-8gG1xkDuIN007uYSwSWgsDW4IFVIE44v3j7FN0RaZwU=";
   };
 
   nativeBuildInputs = [
     setuptools
   ];
 
+  passthru.updateScript = nix-update-script {};
+
   propagatedBuildInputs = [ natsort panflute lxml ];
 
   pythonImportsCheck = [ "pandoc_include.main" ];
diff --git a/pkgs/tools/misc/pandoc-lua-filters/default.nix b/pkgs/tools/misc/pandoc-lua-filters/default.nix
index 1323da5104ba8..d779cbb7fa406 100644
--- a/pkgs/tools/misc/pandoc-lua-filters/default.nix
+++ b/pkgs/tools/misc/pandoc-lua-filters/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A collection of lua filters for pandoc";
+    description = "Collection of lua filters for pandoc";
     homepage = "https://github.com/pandoc/lua-filters";
     license = licenses.mit;
     maintainers = with maintainers; [ jtojnar ];
diff --git a/pkgs/tools/misc/panoply/default.nix b/pkgs/tools/misc/panoply/default.nix
index b79d6b7d8e35d..2aef5a0788a8d 100644
--- a/pkgs/tools/misc/panoply/default.nix
+++ b/pkgs/tools/misc/panoply/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "panoply";
-  version = "5.3.4";
+  version = "5.4.3";
 
   src = fetchurl {
     url = "https://www.giss.nasa.gov/tools/panoply/download/PanoplyJ-${version}.tgz";
-    sha256 = "sha256-v7ieTtm2W8Sc/zhQ7QPh8rkMUgaqgfGYYXc6Ly+9iMg=";
+    sha256 = "sha256-xey1Og0TEMgCc9Me/np7BGnUNYTz98gMFzLm2IcQHtw=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/paperlike-go/default.nix b/pkgs/tools/misc/paperlike-go/default.nix
index 59d477b62fe2a..ad2782bfaf00e 100644
--- a/pkgs/tools/misc/paperlike-go/default.nix
+++ b/pkgs/tools/misc/paperlike-go/default.nix
@@ -19,7 +19,7 @@ buildGoModule {
   subPackages = [ "cmd/paperlike-cli" ];
 
   meta = {
-    description = "A Linux Go library and CLI utility to control a Dasung Paperlike display via I2C DDC";
+    description = "Linux Go library and CLI utility to control a Dasung Paperlike display via I2C DDC";
     homepage = "https://github.com/leoluk/paperlike-go";
     license = lib.licenses.asl20;
     maintainers = [ lib.maintainers.adisbladis ];
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 7dff66bc10034..e68ed0e5cd009 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "parallel";
-  version = "20240322";
+  version = "20240522";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${pname}-${version}.tar.bz2";
-    hash = "sha256-CxcCmiA9q/e6bKflLC05EP/0ayl5R24SqREJILeeapU=";
+    hash = "sha256-Z+2frTG/PiXwnVAOfoyn3546w4D+Tr0WxvAURIo0aSg=";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/pkgs/tools/misc/parallel/wrapper.nix b/pkgs/tools/misc/parallel/wrapper.nix
index 0240f1ac9e9ec..b798a1acea227 100644
--- a/pkgs/tools/misc/parallel/wrapper.nix
+++ b/pkgs/tools/misc/parallel/wrapper.nix
@@ -1,10 +1,18 @@
-{ lib, runCommand, makeWrapper, parallel, perlPackages
+{ lib, symlinkJoin, makeWrapper, parallel, perlPackages
 , extraPerlPackages ? with perlPackages; [ DBI DBDPg DBDSQLite DBDCSV TextCSV ]
 , willCite ? false }:
 
-runCommand "parallel-full" { nativeBuildInputs = [ makeWrapper ]; } ''
-  mkdir -p $out/bin
-  makeWrapper ${parallel}/bin/parallel $out/bin/parallel \
-    --set PERL5LIB "${perlPackages.makeFullPerlPath extraPerlPackages}" \
-    ${lib.optionalString willCite "--add-flags --will-cite"}
-''
+symlinkJoin {
+  name = "parallel-full-${parallel.version}";
+  inherit (parallel) pname version meta outputs;
+  nativeBuildInputs = [ makeWrapper ];
+  paths = [ parallel ];
+  postBuild = ''
+    ${lib.concatMapStringsSep "\n" (output: "ln -s --no-target-directory ${parallel.${output}} \$${output}") (lib.remove "out" parallel.outputs)}
+
+    rm $out/bin/parallel
+    makeWrapper ${parallel}/bin/parallel $out/bin/parallel \
+      --set PERL5LIB "${perlPackages.makeFullPerlPath extraPerlPackages}" \
+      ${lib.optionalString willCite "--add-flags --will-cite"}
+  '';
+}
diff --git a/pkgs/tools/misc/parquet-tools/default.nix b/pkgs/tools/misc/parquet-tools/default.nix
index 988c7245ded14..4775be223afac 100644
--- a/pkgs/tools/misc/parquet-tools/default.nix
+++ b/pkgs/tools/misc/parquet-tools/default.nix
@@ -39,7 +39,6 @@ buildPythonApplication rec {
 
   nativeBuildInputs = [
     poetry-core
-    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
@@ -73,7 +72,7 @@ buildPythonApplication rec {
   ];
 
   meta = with lib; {
-    description = "A CLI tool for parquet files";
+    description = "CLI tool for parquet files";
     homepage = "https://github.com/ktrueda/parquet-tools";
     changelog = "https://github.com/ktrueda/parquet-tools/releases/tag/${version}";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/pastebinit/default.nix b/pkgs/tools/misc/pastebinit/default.nix
index 21beecc443c02..27735d615573a 100644
--- a/pkgs/tools/misc/pastebinit/default.nix
+++ b/pkgs/tools/misc/pastebinit/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://stgraber.org/category/pastebinit/";
-    description = "A software that lets you send anything you want directly to a pastebin from the command line";
+    description = "Software that lets you send anything you want directly to a pastebin from the command line";
     maintainers = with maintainers; [ raboof samuel-martineau ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux ++ lib.platforms.darwin;
diff --git a/pkgs/tools/misc/pazi/default.nix b/pkgs/tools/misc/pazi/default.nix
index c4c1ea18b549b..43ea65c54de35 100644
--- a/pkgs/tools/misc/pazi/default.nix
+++ b/pkgs/tools/misc/pazi/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "1iamlp5519h8mmgd4964cvyp7mmnqdg2d3qj5v7yzilyp4nz15jc";
 
   meta = with lib; {
-    description = "An autojump \"zap to directory\" helper";
+    description = "Autojump \"zap to directory\" helper";
     homepage = "https://github.com/euank/pazi";
     license = licenses.gpl3;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/tools/misc/pb/default.nix b/pkgs/tools/misc/pb/default.nix
index 061ca691af753..6b588d8df472f 100644
--- a/pkgs/tools/misc/pb/default.nix
+++ b/pkgs/tools/misc/pb/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pb";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "parseablehq";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ckRvtEtagyYpXJ0hh8jsgpE/16bu7b9IdNn2stvb2iI=";
+    hash = "sha256-dMc4IgtyYVFXGPUjevVyPo4XYImHJlgwp4jKnh3CedM=";
   };
 
-  vendorHash = "sha256-dNSr0bQz7XdC2fTD82TI8tfmwKBuAcbxjaMC9KAjxlI=";
+  vendorHash = "sha256-38lXffh3ZkMtvHi9roLHW0A6bzb+LRC91I3DdYyq1h0=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/misc/pb_cli/default.nix b/pkgs/tools/misc/pb_cli/default.nix
index b884b28658385..ac9b7b6f22c20 100644
--- a/pkgs/tools/misc/pb_cli/default.nix
+++ b/pkgs/tools/misc/pb_cli/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A no bullshit 0x0.st client";
+    description = "No bullshit 0x0.st client";
     homepage = "https://github.com/ptpb/pb_cli";
     maintainers = [ maintainers.ar1a ];
     license = licenses.gpl3Plus;
diff --git a/pkgs/tools/misc/peep/default.nix b/pkgs/tools/misc/peep/default.nix
index 301b04cbb816f..071bab99ae921 100644
--- a/pkgs/tools/misc/peep/default.nix
+++ b/pkgs/tools/misc/peep/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-CDWa03H8vWfhx2dwZU5rAV3fSwAGqCIPcvl+lTG4npE=";
 
   meta = with lib; {
-    description = "The CLI text viewer tool that works like less command on small pane within the terminal window";
+    description = "CLI text viewer tool that works like less command on small pane within the terminal window";
     homepage = "https://github.com/ryochack/peep";
     changelog = "https://github.com/ryochack/peep/releases/tag/${src.rev}";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/peruse/default.nix b/pkgs/tools/misc/peruse/default.nix
index 09c39385c8b7d..ba99cdd8cdf96 100644
--- a/pkgs/tools/misc/peruse/default.nix
+++ b/pkgs/tools/misc/peruse/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
   pathsToLink = [ "/etc/xdg/peruse.knsrc" ];
 
   meta = with lib; {
-    description = "A comic book reader";
+    description = "Comic book reader";
     homepage = "https://peruse.kde.org";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ peterhoeg ];
diff --git a/pkgs/tools/misc/pfetch-rs/default.nix b/pkgs/tools/misc/pfetch-rs/default.nix
index 0f1d5b2f1d33a..143e340a4c0d7 100644
--- a/pkgs/tools/misc/pfetch-rs/default.nix
+++ b/pkgs/tools/misc/pfetch-rs/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pfetch-rs";
-  version = "2.9.1";
+  version = "2.9.2";
 
   src = fetchFromGitHub {
     owner = "Gobidev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-tpJk31Z7QzZNLmEv/L1008tf6hpJJI6b7E1o/kwbJe0=";
+    hash = "sha256-1Mw20O64I0UeAOO4Gea8cAbNnHkWOMvoRawIAZ62kTI=";
   };
 
-  cargoHash = "sha256-CQVPEUpblypDyr48MrLY3roGunOxem0eM1OtbcKlnsw=";
+  cargoHash = "sha256-Jx8g49rMatXMV1KvoFGBhXKmf77WR4uE/Xewl5TMeWM=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.AppKit
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
 
 
   meta = with lib; {
-    description = "A rewrite of the pfetch system information tool in Rust";
+    description = "Rewrite of the pfetch system information tool in Rust";
     homepage = "https://github.com/Gobidev/pfetch-rs";
     changelog = "https://github.com/Gobidev/pfetch-rs/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/pfetch/default.nix b/pkgs/tools/misc/pfetch/default.nix
index 5f9e8bf7676a6..732f680028897 100644
--- a/pkgs/tools/misc/pfetch/default.nix
+++ b/pkgs/tools/misc/pfetch/default.nix
@@ -18,7 +18,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A pretty system information tool written in POSIX sh";
+    description = "Pretty system information tool written in POSIX sh";
     homepage = "https://github.com/dylanaraps/pfetch";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/pg_top/default.nix b/pkgs/tools/misc/pg_top/default.nix
index 0999c9456d536..c8a35e9fb178e 100644
--- a/pkgs/tools/misc/pg_top/default.nix
+++ b/pkgs/tools/misc/pg_top/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses postgresql ];
 
   meta = with lib; {
-    description = "A 'top' like tool for PostgreSQL";
+    description = "'top' like tool for PostgreSQL";
     longDescription = ''
       pg_top allows you to:
        * View currently running SQL statement of a process.
diff --git a/pkgs/tools/misc/pgbadger/default.nix b/pkgs/tools/misc/pgbadger/default.nix
index b1024d68a91c5..27c532e8144cd 100644
--- a/pkgs/tools/misc/pgbadger/default.nix
+++ b/pkgs/tools/misc/pgbadger/default.nix
@@ -64,7 +64,7 @@ buildPerlPackage rec {
 
   meta = {
     homepage = "https://github.com/darold/pgbadger";
-    description = "A fast PostgreSQL Log Analyzer";
+    description = "Fast PostgreSQL Log Analyzer";
     changelog = "https://github.com/darold/pgbadger/raw/v${version}/ChangeLog";
     license = lib.licenses.postgresql;
     maintainers = lib.teams.determinatesystems.members;
diff --git a/pkgs/tools/misc/phrase-cli/default.nix b/pkgs/tools/misc/phrase-cli/default.nix
index fc00c5936b06b..7cd0a3cabcba9 100644
--- a/pkgs/tools/misc/phrase-cli/default.nix
+++ b/pkgs/tools/misc/phrase-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "phrase-cli";
-  version = "2.27.0";
+  version = "2.28.1";
 
   src = fetchFromGitHub {
     owner = "phrase";
     repo = "phrase-cli";
     rev = version;
-    sha256 = "sha256-PStbkJbSGCN92eAk4TZaIzbkG1C25PKI6R6LJgaQuxQ=";
+    sha256 = "sha256-pGh1OorNF2fe5rKkszQc2PadrrN/Kpx0+7E5fJERYpQ=";
   };
 
-  vendorHash = "sha256-5EgttRimT+TTL9QhT36AO9rx2DdZBmnQrllBfRpdhg0=";
+  vendorHash = "sha256-lXgTi6hYDBK1QGw8RQoNIHIlmyHPM6z8RYAmbW7N42s=";
 
   ldflags = [ "-X=github.com/phrase/phrase-cli/cmd.PHRASE_CLIENT_VERSION=${version}" ];
 
diff --git a/pkgs/tools/misc/pipectl/default.nix b/pkgs/tools/misc/pipectl/default.nix
index f5cdeffc3ece0..68df99eb476b5 100644
--- a/pkgs/tools/misc/pipectl/default.nix
+++ b/pkgs/tools/misc/pipectl/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/Ferdi265/pipectl";
     license = licenses.gpl3;
-    description = "a simple named pipe management utility";
+    description = "Simple named pipe management utility";
     maintainers = with maintainers; [ synthetica ];
     mainProgram = "pipectl";
   };
diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix
index e565bf554fff1..1ffeaede331cb 100644
--- a/pkgs/tools/misc/pipelight/default.nix
+++ b/pkgs/tools/misc/pipelight/default.nix
@@ -60,7 +60,7 @@ in stdenv.mkDerivation rec {
   meta = {
     homepage = "http://pipelight.net/";
     license = with lib.licenses; [ mpl11 gpl2Only lgpl21 ];
-    description = "A wrapper for using Windows plugins in Linux browsers";
+    description = "Wrapper for using Windows plugins in Linux browsers";
     maintainers = with lib.maintainers; [ ];
     platforms = [ "x86_64-linux" "i686-linux" ];
     mainProgram = "pipelight-plugin";
diff --git a/pkgs/tools/misc/pistol/default.nix b/pkgs/tools/misc/pistol/default.nix
index 79826e6f79249..029c1077cc52c 100644
--- a/pkgs/tools/misc/pistol/default.nix
+++ b/pkgs/tools/misc/pistol/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "pistol";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "doronbehar";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7nALrB+QubEnryVsGPpFMJ003SP2lheYTkWXF5w/V8I=";
+    sha256 = "sha256-xzVVOx5Uz10Bv8LDRuqqxyjdYp1JKhQPb3ws2l6Dg2Y=";
   };
 
-  vendorHash = "sha256-9Ydps8UA1f0fwG5SHRE4F61OyRJiITw/4SyoMEbsRgM=";
+  vendorHash = "sha256-9+eWTpz2VcNtEwVtVdNPjXYdG7XjB7cvC4WWvxF7Lvs=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/piston-cli/default.nix b/pkgs/tools/misc/piston-cli/default.nix
index 44ec8eabc149b..68519f2eb6432 100644
--- a/pkgs/tools/misc/piston-cli/default.nix
+++ b/pkgs/tools/misc/piston-cli/default.nix
@@ -18,7 +18,6 @@ python3Packages.buildPythonApplication rec {
 
   nativeBuildInputs = with python3Packages; [
     poetry-core
-    pythonRelaxDepsHook
   ];
 
   pythonRelaxDeps = [
diff --git a/pkgs/tools/misc/pkgdiff/default.nix b/pkgs/tools/misc/pkgdiff/default.nix
index 77ba84c1df0f6..139c0f8e2d56c 100644
--- a/pkgs/tools/misc/pkgdiff/default.nix
+++ b/pkgs/tools/misc/pkgdiff/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A tool for visualizing changes in Linux software packages";
+    description = "Tool for visualizing changes in Linux software packages";
     homepage = "https://lvc.github.io/pkgdiff/";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ sweber ];
diff --git a/pkgs/tools/misc/plantuml-server/default.nix b/pkgs/tools/misc/plantuml-server/default.nix
index 7335944ff4237..bf186a3bad9aa 100644
--- a/pkgs/tools/misc/plantuml-server/default.nix
+++ b/pkgs/tools/misc/plantuml-server/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchurl, nixosTests }:
 
 let
-  version = "1.2024.4";
+  version = "1.2024.5";
 in
 stdenv.mkDerivation rec {
   pname = "plantuml-server";
   inherit version;
   src = fetchurl {
     url = "https://github.com/plantuml/plantuml-server/releases/download/v${version}/plantuml-v${version}.war";
-    sha256 = "sha256-7m0MOP6AN7V7mlrVfwxGy1AfCQx2ufp5GU2WQoSTIBc=";
+    sha256 = "sha256-WbgjPPEm51DXzpSt2j8It8PWKRKrIK8HXoWY+N/1mlg=";
   };
 
   dontUnpack = true;
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "A web application to generate UML diagrams on-the-fly";
+    description = "Web application to generate UML diagrams on-the-fly";
     homepage = "https://plantuml.com/";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.gpl3Plus;
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 8f4d82f2ea49e..83476bd995735 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -8,11 +8,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "plantuml";
-  version = "1.2024.4";
+  version = "1.2024.5";
 
   src = fetchurl {
     url = "https://github.com/plantuml/plantuml/releases/download/v${finalAttrs.version}/plantuml-pdf-${finalAttrs.version}.jar";
-    hash = "sha256-8Xs7fyYr4CvXNO+g2g+7LLObUUVKxmt/27/wHdCwSIE=";
+    hash = "sha256-YayIedHIIpecVF7BZSvBTp66Eb7He+l+1RCir5KuL28=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/plotinus/default.nix b/pkgs/tools/misc/plotinus/default.nix
index 10c86b10c3da7..2cd2a74f6fde7 100644
--- a/pkgs/tools/misc/plotinus/default.nix
+++ b/pkgs/tools/misc/plotinus/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A searchable command palette in every modern GTK application";
+    description = "Searchable command palette in every modern GTK application";
     homepage = "https://github.com/p-e-w/plotinus";
     maintainers = with maintainers; [ samdroid-apps ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/pmbootstrap/default.nix b/pkgs/tools/misc/pmbootstrap/default.nix
deleted file mode 100644
index 03cc7997e2252..0000000000000
--- a/pkgs/tools/misc/pmbootstrap/default.nix
+++ /dev/null
@@ -1,104 +0,0 @@
-{ stdenv, lib, git, openssl, buildPythonApplication, pytestCheckHook, ps
-, fetchPypi, fetchFromGitLab, sudo }:
-
-buildPythonApplication rec {
-  pname = "pmbootstrap";
-  version = "2.2.0";
-
-  src = fetchFromGitLab {
-    owner = "postmarketos";
-    repo = pname;
-    rev = version;
-    hash = "sha256-wRJvvABIUPh79QfS8VcwRueB/vO9oGcqyE/OugfTsd8=";
-  };
-
-  pmb_test = "${src}/test";
-
-  # Tests depend on sudo
-  doCheck = stdenv.isLinux;
-
-  nativeCheckInputs = [ pytestCheckHook git openssl ps sudo ];
-
-  # Add test dependency in PATH
-  preCheck = "export PYTHONPATH=$PYTHONPATH:${pmb_test}";
-
-  # skip impure tests
-  disabledTests = [
-    "test_apk_static"
-    "test_aportgen"
-    "test_aportgen_device_wizard"
-    "test_bootimg"
-    "test_build_abuild_leftovers"
-    "test_build_depends_binary_outdated"
-    "test_build_depends_high_level"
-    "test_build_depends_no_binary_error"
-    "test_build_is_necessary"
-    "test_build_local_source_high_level"
-    "test_build_src_invalid_path"
-    "test_check"
-    "test_can_fast_forward"
-    "test_check_build_for_arch"
-    "test_check_config"
-    "test_chroot_arguments"
-    "test_chroot_interactive_shell"
-    "test_chroot_interactive_shell_user"
-    "test_chroot_mount"
-    "test_clean_worktree"
-    "test_config_user"
-    "test_cross_compile_distcc"
-    "test_crossdirect"
-    "test_extract_arch"
-    "test_extract_version"
-    "test_file"
-    "test_filter_aport_packages"
-    "test_filter_missing_packages_binary_exists"
-    "test_filter_missing_packages_invalid"
-    "test_filter_missing_packages_pmaports"
-    "test_finish"
-    "test_folder_size"
-    "test_get_all_component_names"
-    "test_get_apkbuild"
-    "test_get_depends"
-    "test_get_upstream_remote"
-    "test_helpers_lint"
-    "test_helpers_package_get_apkindex"
-    "test_helpers_repo"
-    "test_helpers_ui"
-    "test_init_buildenv"
-    "test_kconfig_check"
-    "test_keys"
-    "test_newapkbuild"
-    "test_package"
-    "test_package_from_aports"
-    "test_pkgrel_bump"
-    "test_pmbootstrap_status"
-    "test_print_checks_git_repo"
-    "test_proxy"
-    "test_pull"
-    "test_qemu_running_processes"
-    "test_questions_additional_options"
-    "test_questions_bootimg"
-    "test_questions_channel"
-    "test_questions_keymaps"
-    "test_questions_work_path"
-    "test_read_config_channel"
-    "test_recurse_invalid"
-    "test_run_abuild"
-    "test_run_core"
-    "test_shell_escape"
-    "test_skip_already_built"
-    "test_switch_to_channel_branch"
-    "test_version"
-  ];
-
-  makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ git openssl ]}" ];
-
-  meta = with lib; {
-    description =
-      "Sophisticated chroot/build/flash tool to develop and install postmarketOS";
-    homepage = "https://gitlab.com/postmarketOS/pmbootstrap";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ onny ];
-    mainProgram = "pmbootstrap";
-  };
-}
diff --git a/pkgs/tools/misc/pokeget-rs/default.nix b/pkgs/tools/misc/pokeget-rs/default.nix
index 2505fd2f96785..04ac51d4934b0 100644
--- a/pkgs/tools/misc/pokeget-rs/default.nix
+++ b/pkgs/tools/misc/pokeget-rs/default.nix
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-JeRSBG1HswttHOGyiNseFf2KiWkumrzEIw76A80nQHM=";
 
   meta = with lib; {
-    description = "A better rust version of pokeget";
+    description = "Better rust version of pokeget";
     homepage = "https://github.com/talwat/pokeget-rs";
     license = licenses.mit;
     mainProgram = "pokeget";
diff --git a/pkgs/tools/misc/portal/default.nix b/pkgs/tools/misc/portal/default.nix
index 3577f0f0b31a5..221526b7f3423 100644
--- a/pkgs/tools/misc/portal/default.nix
+++ b/pkgs/tools/misc/portal/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
   ldflags = [ "-s -X main.version=${version}" ]; # from: https://github.com/SpatiumPortae/portal/blob/master/Makefile#L3
 
   meta = with lib; {
-    description = "A quick and easy command-line file transfer utility from any computer to another";
+    description = "Quick and easy command-line file transfer utility from any computer to another";
     homepage = "https://github.com/SpatiumPortae/portal";
     changelog = "https://github.com/SpatiumPortae/portal/tag/v${version}";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/pouf/default.nix b/pkgs/tools/misc/pouf/default.nix
index e114af2c2c1eb..0754ca0c09f1a 100644
--- a/pkgs/tools/misc/pouf/default.nix
+++ b/pkgs/tools/misc/pouf/default.nix
@@ -16,15 +16,10 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-rVJAaeg27SdM8cTx12rKLIGEYtXUhLHXUYpT78oVNlo=";
 
-  # Cargo.lock is outdated.
-  preConfigure = ''
-    cargo update --offline
-  '';
-
   postInstall = "make PREFIX=$out copy-data";
 
   meta = with lib; {
-    description = "A CLI program for produce fake datas";
+    description = "CLI program for produce fake datas";
     homepage = "https://github.com/mothsart/pouf";
     changelog = "https://github.com/mothsart/pouf/releases/tag/${version}";
     maintainers = with maintainers; [ mothsart ];
diff --git a/pkgs/tools/misc/powerline-go/default.nix b/pkgs/tools/misc/powerline-go/default.nix
index 2b328e474bb98..2fe2ee034e3c4 100644
--- a/pkgs/tools/misc/powerline-go/default.nix
+++ b/pkgs/tools/misc/powerline-go/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
   vendorHash = "sha256-W7Lf9s689oJy4U5sQlkLt3INJwtvzU2pot3EFimp7Jw=";
 
   meta = with lib; {
-    description = "A Powerline like prompt for Bash, ZSH and Fish";
+    description = "Powerline like prompt for Bash, ZSH and Fish";
     homepage = "https://github.com/justjanne/powerline-go";
     changelog = "https://github.com/justjanne/powerline-go/releases/tag/v${version}";
     license = licenses.gpl3Plus;
diff --git a/pkgs/tools/misc/pre-commit/default.nix b/pkgs/tools/misc/pre-commit/default.nix
index 535ce1a8c4da4..0afa9180a47d5 100644
--- a/pkgs/tools/misc/pre-commit/default.nix
+++ b/pkgs/tools/misc/pre-commit/default.nix
@@ -18,7 +18,7 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "pre-commit";
-  version = "3.7.0";
+  version = "3.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonApplication rec {
     owner = "pre-commit";
     repo = "pre-commit";
     rev = "refs/tags/v${version}";
-    hash = "sha256-k9pC/GCtqLlK9PhZmx4EKWT1HDyl+KQubDFDQOZdKUQ=";
+    hash = "sha256-+9NNXM4i6saxktF1pl93dmkrqjsErqMB6kEK3IPQTNQ=";
   };
 
   patches = [
@@ -183,7 +183,7 @@ buildPythonApplication rec {
   };
 
   meta = with lib; {
-    description = "A framework for managing and maintaining multi-language pre-commit hooks";
+    description = "Framework for managing and maintaining multi-language pre-commit hooks";
     homepage = "https://pre-commit.com/";
     license = licenses.mit;
     maintainers = with maintainers; [ borisbabic ];
diff --git a/pkgs/tools/misc/present-cli/default.nix b/pkgs/tools/misc/present-cli/default.nix
index 7c1c87647a190..4c0ac78b6ccd2 100644
--- a/pkgs/tools/misc/present-cli/default.nix
+++ b/pkgs/tools/misc/present-cli/default.nix
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = true;
 
   meta = with lib; {
-    description = "A script interpolation engine for markdown documents";
+    description = "Script interpolation engine for markdown documents";
     homepage = "https://github.com/terror/present/";
     license = licenses.cc0;
     maintainers = with maintainers; [ cameronfyfe ];
diff --git a/pkgs/tools/misc/pricehist/default.nix b/pkgs/tools/misc/pricehist/default.nix
index d195cb42a147c..6930867cc4460 100644
--- a/pkgs/tools/misc/pricehist/default.nix
+++ b/pkgs/tools/misc/pricehist/default.nix
@@ -9,7 +9,6 @@
 , pytest-mock
 , responses
 , pytestCheckHook
-, pythonRelaxDepsHook
 }:
 
 buildPythonApplication rec {
@@ -33,7 +32,6 @@ buildPythonApplication rec {
   ];
 
   nativeBuildInputs = [
-    pythonRelaxDepsHook
   ];
 
   nativeCheckInputs = [
@@ -47,7 +45,7 @@ buildPythonApplication rec {
     "lxml"
   ];
   meta = with lib; {
-    description = "A command-line tool for fetching and formatting historical price data, with support for multiple data sources and output formats";
+    description = "Command-line tool for fetching and formatting historical price data, with support for multiple data sources and output formats";
     homepage = "https://gitlab.com/chrisberkhout/pricehist";
     license = licenses.mit;
     mainProgram = "pricehist";
diff --git a/pkgs/tools/misc/pspg/default.nix b/pkgs/tools/misc/pspg/default.nix
index 9d0adb051af0e..1ceefdd82edf2 100644
--- a/pkgs/tools/misc/pspg/default.nix
+++ b/pkgs/tools/misc/pspg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pspg";
-  version = "5.8.5";
+  version = "5.8.6";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Lri675TEIVWp8iEQI1oeSd9xNCVtzlUcK2AEJHmWNjs=";
+    sha256 = "sha256-UgJHsniDbfAcohnrYYUUJ4OhL2Fr65kGu26dsw9vYyM=";
   };
 
   nativeBuildInputs = [ pkg-config installShellFiles ];
diff --git a/pkgs/tools/misc/psw/default.nix b/pkgs/tools/misc/psw/default.nix
index c3d9b347ce1b7..bcf67bfa5f111 100644
--- a/pkgs/tools/misc/psw/default.nix
+++ b/pkgs/tools/misc/psw/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "psw";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "Wulfsta";
     repo = pname;
     rev = version;
-    sha256 = "1nwmps3zw99lrz6k1j14w4rcm7yj8vhf4cs9wjfc3c1zfjibz9iz";
+    sha256 = "sha256-Rf6vpVgenTzb42/aGqItuxUodl61eNyUPlry7rgLPbI=";
   };
 
-  cargoSha256 = "1y2am1bz68q7d9bn4264al13fv2j6a87bwrd60ycx0qak9fczlmv";
+  cargoHash = "sha256-+0eMhOteNK3QTnG0HB3/TYDFmPTztdQ0h3RKBTN0J/o=";
 
   meta = with lib; {
-    description = "A command line tool to write random bytes to stdout";
+    description = "Command line tool to write random bytes to stdout";
     homepage = "https://github.com/Wulfsta/psw";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ wulfsta ];
diff --git a/pkgs/tools/misc/pv/default.nix b/pkgs/tools/misc/pv/default.nix
index 740bea469a393..309a78c5400c0 100644
--- a/pkgs/tools/misc/pv/default.nix
+++ b/pkgs/tools/misc/pv/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pv";
-  version = "1.8.9";
+  version = "1.8.10";
 
   src = fetchurl {
     url = "https://www.ivarch.com/programs/sources/pv-${finalAttrs.version}.tar.gz";
-    sha256 = "sha256-oHidj4xaCPrzcLWgfR2Tau/5UEpPSdp21BZHl6xGBuY=";
+    sha256 = "sha256-1MkMF8/NRKqWuYI3cx5PgR4HHUwgUqaJ0tgeZnH1cbE=";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/qjoypad/default.nix b/pkgs/tools/misc/qjoypad/default.nix
index 260c8f498e6b1..bc8f107a54fb5 100644
--- a/pkgs/tools/misc/qjoypad/default.nix
+++ b/pkgs/tools/misc/qjoypad/default.nix
@@ -14,7 +14,7 @@ mkDerivation rec {
   buildInputs = [ libX11 libXtst qtbase qtx11extras ];
 
   meta = with lib; {
-    description = "A program that lets you use gaming devices anywhere";
+    description = "Program that lets you use gaming devices anywhere";
     longDescription = ''
       A simple Linux/QT program that lets you use your gaming devices
       where you want them: in your games! QJoyPad takes input from a
diff --git a/pkgs/tools/misc/qmk/default.nix b/pkgs/tools/misc/qmk/default.nix
index 5493463e3c32e..c550d76538872 100644
--- a/pkgs/tools/misc/qmk/default.nix
+++ b/pkgs/tools/misc/qmk/default.nix
@@ -54,7 +54,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "https://github.com/qmk/qmk_cli";
-    description = "A program to help users work with QMK Firmware";
+    description = "Program to help users work with QMK Firmware";
     longDescription = ''
       qmk_cli is a companion tool to QMK firmware. With it, you can:
 
@@ -70,7 +70,7 @@ python3.pkgs.buildPythonApplication rec {
       - ... and many more!
     '';
     license = licenses.mit;
-    maintainers = with maintainers; [ bhipple babariviere ekleog ];
+    maintainers = with maintainers; [ bhipple ekleog ];
     mainProgram = "qmk";
   };
 }
diff --git a/pkgs/tools/misc/qt6gtk2/default.nix b/pkgs/tools/misc/qt6gtk2/default.nix
index 69044a2bb3126..28a3e6e535893 100644
--- a/pkgs/tools/misc/qt6gtk2/default.nix
+++ b/pkgs/tools/misc/qt6gtk2/default.nix
@@ -1,14 +1,14 @@
-{ fetchFromGitHub, lib, stdenv, gtk2, pkg-config, qmake, qtbase }:
+{ fetchFromGitHub, lib, stdenv, gtk2, pkg-config, qmake, qtbase, unstableGitUpdater }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "qt6gtk2";
-  version = "0.2";
+  version = "0.2-unstable-2024-05-06";
 
   src = fetchFromGitHub {
     owner = "trialuser02";
     repo = finalAttrs.pname;
-    rev = finalAttrs.version;
-    hash = "sha256-g5ZCwTnNEJJ57zEwNqMxrl0EWYJMt3PquZ2IsmxQYqk=";
+    rev = "d29ba6c1fb4ac933ed7b91f0480cbd0c5a975ab8";
+    hash = "sha256-lIUCdfsmvuzDQaOi2U/CHch1re6Jn6yDfcX26Gu0eUo=";
   };
 
   buildInputs = [ gtk2 qtbase ];
@@ -16,15 +16,11 @@ stdenv.mkDerivation (finalAttrs: {
 
   dontWrapQtApps = true;
 
-  installPhase = ''
-    runHook preInstall
+  qmakeFlags = [
+    "PLUGINDIR=${placeholder "out"}/${qtbase.qtPluginPrefix}"
+  ];
 
-    mkdir -p $out/lib/qt-6/plugins/{platformthemes,styles}
-    cp -pr src/qt6gtk2-qtplugin/libqt6gtk2.so $out/lib/qt-6/plugins/platformthemes
-    cp -pr src/qt6gtk2-style/libqt6gtk2-style.so $out/lib/qt-6/plugins/styles
-
-    runHook postInstall
-  '';
+  passthru.updateScript = unstableGitUpdater { };
 
   meta = {
     description = "GTK+2.0 integration plugins for Qt6";
diff --git a/pkgs/tools/misc/quich/default.nix b/pkgs/tools/misc/quich/default.nix
index effd7993b8037..cc7131678a552 100644
--- a/pkgs/tools/misc/quich/default.nix
+++ b/pkgs/tools/misc/quich/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   makeFlags = [ "DESTDIR=" "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" ];
 
   meta = with lib; {
-    description = "The advanced terminal calculator";
+    description = "Advanced terminal calculator";
     longDescription = ''
       Quich is a compact, fast, powerful and useful calculator for your terminal
       with numerous features, supporting Windows and Linux Systems,
diff --git a/pkgs/tools/misc/r3ctl/default.nix b/pkgs/tools/misc/r3ctl/default.nix
index 8af95a4630cf6..bc0c7837e2a99 100644
--- a/pkgs/tools/misc/r3ctl/default.nix
+++ b/pkgs/tools/misc/r3ctl/default.nix
@@ -39,7 +39,7 @@ qt5.mkDerivation {
   ];
 
   meta = with lib; {
-    description = "A cmdline tool to control the r3 hackerspace lights";
+    description = "Cmdline tool to control the r3 hackerspace lights";
     mainProgram = "r3ctl";
     homepage = "https://github.com/0xfeedc0de64/r3ctl";
     maintainers = with maintainers; [ mkg20001 ];
diff --git a/pkgs/tools/misc/ramfetch/default.nix b/pkgs/tools/misc/ramfetch/default.nix
index 136c335982771..c8055f99fe44f 100644
--- a/pkgs/tools/misc/ramfetch/default.nix
+++ b/pkgs/tools/misc/ramfetch/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A tool which displays memory information";
+    description = "Tool which displays memory information";
     homepage = "https://codeberg.org/jahway603/ramfetch";
     platforms = lib.platforms.linux;
     license = lib.licenses.mit;
diff --git a/pkgs/tools/misc/remind/default.nix b/pkgs/tools/misc/remind/default.nix
index 31b7dad24003b..51448931dcfb3 100644
--- a/pkgs/tools/misc/remind/default.nix
+++ b/pkgs/tools/misc/remind/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , fetchurl
 , tk
 , tcllib
@@ -6,38 +7,43 @@
 , tkremind ? true
 }:
 
-let
-  inherit (lib) optionals optionalString;
-  tclLibraries = optionals tkremind [ tcllib tk ];
-  tkremindPatch = optionalString tkremind ''
-    substituteInPlace scripts/tkremind --replace "exec wish" "exec ${tk}/bin/wish"
-  '';
-in
 tcl.mkTclDerivation rec {
   pname = "remind";
-  version = "04.03.07";
+  version = "05.00.01";
 
   src = fetchurl {
     url = "https://dianne.skoll.ca/projects/remind/download/remind-${version}.tar.gz";
-    sha256 = "sha256-s/jEsNXUBigNHPTCi3e4V2pGUNhK2s5/n+sU1ow7UU0=";
+    hash = "sha256-tj36/lLn67/hkNMrRVGXRLqQ9Sx6oDKZHeajiSYn97c=";
   };
 
-  propagatedBuildInputs = tclLibraries;
+  propagatedBuildInputs = lib.optionals tkremind [ tcllib tk ];
 
-  postPatch = ''
-    substituteInPlace ./configure \
-      --replace "sleep 1" "true"
-    substituteInPlace ./src/init.c \
-      --replace "rkrphgvba(0);" "" \
-      --replace "rkrphgvba(1);" ""
-    ${tkremindPatch}
+  postPatch = lib.optionalString tkremind ''
+    # NOTA BENE: The path to rem2pdf is replaced in tkremind for future use
+    # as rem2pdf is currently not build since it requires the JSON::MaybeXS,
+    # Pango and Cairo Perl modules.
+    substituteInPlace scripts/tkremind \
+      --replace-fail "exec wish" "exec ${lib.getBin tk}/bin/wish" \
+      --replace-fail 'set Remind "remind"' "set Remind \"$out/bin/remind\"" \
+      --replace-fail 'set Rem2PS "rem2ps"' "set Rem2PS \"$out/bin/rem2ps\"" \
+      --replace-fail 'set Rem2PDF "rem2pdf"' "set Rem2PDF \"$out/bin/rem2pdf\""
   '';
 
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin (toString [
+    # Disable clang link time optimization until the following issue is resolved:
+    # https://github.com/NixOS/nixpkgs/issues/19098
+    "-fno-lto"
+    # On Darwin setenv and unsetenv are defined in stdlib.h from libSystem
+    "-DHAVE_SETENV"
+    "-DHAVE_UNSETENV"
+  ]);
+
   meta = with lib; {
     homepage = "https://dianne.skoll.ca/projects/remind/";
     description = "Sophisticated calendar and alarm program for the console";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ raskin kovirobi ];
+    mainProgram = "remind";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/renameutils/default.nix b/pkgs/tools/misc/renameutils/default.nix
index 1b6c70a2773d2..e3ce23eca0a38 100644
--- a/pkgs/tools/misc/renameutils/default.nix
+++ b/pkgs/tools/misc/renameutils/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://www.nongnu.org/renameutils/";
-    description = "A set of programs to make renaming of files faster";
+    description = "Set of programs to make renaming of files faster";
     platforms = lib.platforms.unix;
     license = lib.licenses.gpl2Plus;
   };
diff --git a/pkgs/tools/misc/rfc/default.nix b/pkgs/tools/misc/rfc/default.nix
index d747cbf185e48..b172122d828f0 100644
--- a/pkgs/tools/misc/rfc/default.nix
+++ b/pkgs/tools/misc/rfc/default.nix
@@ -34,7 +34,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A tool to read RFCs from the command line";
+    description = "Tool to read RFCs from the command line";
     longDescription = ''
       rfc is a little tool written in Bash to read RFCs from the command-line.
       It fetches RFCs and drafts from the Web and caches them locally.
diff --git a/pkgs/tools/misc/riemann-c-client/default.nix b/pkgs/tools/misc/riemann-c-client/default.nix
index 9ce23873aa270..929eb0a376395 100644
--- a/pkgs/tools/misc/riemann-c-client/default.nix
+++ b/pkgs/tools/misc/riemann-c-client/default.nix
@@ -6,14 +6,14 @@
 
 stdenv.mkDerivation rec {
   pname = "riemann-c-client";
-  version = "2.1.1";
+  version = "2.2.0";
 
   src = fetchFromGitea {
     domain = "git.madhouse-project.org";
     owner = "algernon";
     repo = "riemann-c-client";
     rev = "riemann-c-client-${version}";
-    hash = "sha256-FIhTT57g2uZBaH3EPNxNUNJn9n+0ZOhI6WMyF+xIr/Q=";
+    hash = "sha256-GAinZtEetRAl04CjxNCTCkGbvdhSZei7gon3KxEqiIY=";
   };
 
   outputs = [ "bin" "dev" "out" ];
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://git.madhouse-project.org/algernon/riemann-c-client";
-    description = "A C client library for the Riemann monitoring system";
+    description = "C client library for the Riemann monitoring system";
     mainProgram = "riemann-client";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ pradeepchhetri ];
diff --git a/pkgs/tools/misc/ripdrag/default.nix b/pkgs/tools/misc/ripdrag/default.nix
index ac8772b30496a..4c9650d602796 100644
--- a/pkgs/tools/misc/ripdrag/default.nix
+++ b/pkgs/tools/misc/ripdrag/default.nix
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ gtk4 ];
 
   meta = with lib; {
-    description = "An application that lets you drag and drop files from and to the terminal";
+    description = "Application that lets you drag and drop files from and to the terminal";
     homepage = "https://github.com/nik012003/ripdrag";
     changelog = "https://github.com/nik012003/ripdrag/releases/tag/${src.rev}";
     license = licenses.gpl3Only;
diff --git a/pkgs/tools/misc/ristate/default.nix b/pkgs/tools/misc/ristate/default.nix
index 3c4baea4d3c1e..c674b96f9b003 100644
--- a/pkgs/tools/misc/ristate/default.nix
+++ b/pkgs/tools/misc/ristate/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-HTfRWvE3m7XZhZDj5bEkrQI3pD6GNiKd2gJtMjRQ8Rw=";
 
   meta = with lib; {
-    description = "A river-status client written in Rust";
+    description = "River-status client written in Rust";
     homepage = "https://gitlab.com/snakedye/ristate";
     license = licenses.mit;
     maintainers = with maintainers; [ kranzes ];
diff --git a/pkgs/tools/misc/roundup/default.nix b/pkgs/tools/misc/roundup/default.nix
index efe220fd5f9b5..2993b5f829464 100644
--- a/pkgs/tools/misc/roundup/default.nix
+++ b/pkgs/tools/misc/roundup/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A unit testing tool for running test plans which are written in any POSIX shell";
+    description = "Unit testing tool for running test plans which are written in any POSIX shell";
     homepage = "http://bmizerany.github.io/roundup/";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix
index 8cf801da5712e..4b9067bd45025 100644
--- a/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/pkgs/tools/misc/rpm-ostree/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rpm-ostree";
-  version = "2024.5";
+  version = "2024.6";
 
   outputs = [ "out" "dev" "man" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/coreos/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-lwgEOnV82/EHRem3owngq4ALcjIWj7V1J552JsNCrBw=";
+    hash = "sha256-8jHT4ZQ8vcZ4S3qBNMhCPKSHbFIJCCXNWZVmgsLWxSs=";
   };
 
   nativeBuildInputs = [
@@ -115,7 +115,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A hybrid image/package system. It uses OSTree as an image format, and uses RPM as a component model";
+    description = "Hybrid image/package system. It uses OSTree as an image format, and uses RPM as a component model";
     homepage = "https://coreos.github.io/rpm-ostree/";
     license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ copumpkin ];
diff --git a/pkgs/tools/misc/rshim-user-space/default.nix b/pkgs/tools/misc/rshim-user-space/default.nix
index 329c572967a95..80d9b6adf516c 100644
--- a/pkgs/tools/misc/rshim-user-space/default.nix
+++ b/pkgs/tools/misc/rshim-user-space/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rshim-user-space";
-  version = "2.0.20";
+  version = "2.0.32";
 
   src = fetchFromGitHub {
     owner = "Mellanox";
     repo = pname;
     rev = "rshim-${version}";
-    hash = "sha256-zm1cMTna9o8edl0M7tjUhbnElbUkQZSkh3KOI6tbE6I=";
+    hash = "sha256-GF7cKIf72EYRBRb6d3IWONE7YJwohTLKF1RGdDMTG6c=";
   };
 
   nativeBuildInputs = [
@@ -36,6 +36,10 @@ stdenv.mkDerivation rec {
     fuse
   ];
 
+  prePatch = ''
+    patchShebangs scripts/bfb-install
+  '';
+
   strictDeps = true;
 
   preConfigure = "./bootstrap.sh";
diff --git a/pkgs/tools/misc/rtz/default.nix b/pkgs/tools/misc/rtz/default.nix
index ba66935d0a951..a223e1ebf01f8 100644
--- a/pkgs/tools/misc/rtz/default.nix
+++ b/pkgs/tools/misc/rtz/default.nix
@@ -47,7 +47,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A tool to easily work with timezone lookups via a binary, a library, or a server";
+    description = "Tool to easily work with timezone lookups via a binary, a library, or a server";
     homepage = "https://github.com/twitchax/rtz";
     changelog = "https://github.com/twitchax/rtz/releases/tag/${src.rev}";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/rustypaste-cli/default.nix b/pkgs/tools/misc/rustypaste-cli/default.nix
index e78074ca63304..32fa6b5a49ff8 100644
--- a/pkgs/tools/misc/rustypaste-cli/default.nix
+++ b/pkgs/tools/misc/rustypaste-cli/default.nix
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A CLI tool for rustypaste";
+    description = "CLI tool for rustypaste";
     homepage = "https://github.com/orhun/rustypaste-cli";
     changelog = "https://github.com/orhun/rustypaste-cli/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/sagoin/default.nix b/pkgs/tools/misc/sagoin/default.nix
index b3fdd6e99405d..08967f9427e4e 100644
--- a/pkgs/tools/misc/sagoin/default.nix
+++ b/pkgs/tools/misc/sagoin/default.nix
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
   GEN_ARTIFACTS = "artifacts";
 
   meta = with lib; {
-    description = "A command-line submission tool for the UMD CS Submit Server";
+    description = "Command-line submission tool for the UMD CS Submit Server";
     homepage = "https://github.com/figsoda/sagoin";
     changelog = "https://github.com/figsoda/sagoin/blob/v${version}/CHANGELOG.md";
     license = licenses.agpl3Plus;
diff --git a/pkgs/tools/misc/savepagenow/default.nix b/pkgs/tools/misc/savepagenow/default.nix
index da29fa3b05a9c..9e723d53f54f0 100644
--- a/pkgs/tools/misc/savepagenow/default.nix
+++ b/pkgs/tools/misc/savepagenow/default.nix
@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A simple Python wrapper for archive.org's \"Save Page Now\" capturing service";
+    description = "Simple Python wrapper for archive.org's \"Save Page Now\" capturing service";
     homepage = "https://github.com/pastpages/savepagenow";
     license = licenses.mit;
     maintainers = with maintainers; [ SuperSandro2000 ];
diff --git a/pkgs/tools/misc/scdl/default.nix b/pkgs/tools/misc/scdl/default.nix
index 2637c892e03ea..8cff2ac8979e2 100644
--- a/pkgs/tools/misc/scdl/default.nix
+++ b/pkgs/tools/misc/scdl/default.nix
@@ -2,15 +2,17 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "scdl";
-  version = "2.7.7";
-  format = "setuptools";
+  version = "2.7.9";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-/QQb8xbi0rv5dU3WFr/hm2BuM/iDZ2OhrGjuqsQMqdk=";
+    hash = "sha256-/TRRVZc0b7WRjNNe24KdCFyKuaic3I3B5Tnb8ZnMS1o=";
   };
 
-  propagatedBuildInputs = with python3Packages; [
+  build-system = [ python3Packages.setuptools ];
+
+  dependencies = with python3Packages; [
     docopt
     mutagen
     termcolor
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index 9d6d302634f87..40b79acba6042 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 , autoreconfHook
 , ncurses
 , libxcrypt
@@ -39,8 +38,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://www.gnu.org/software/screen/";
-    description = "A window manager that multiplexes a physical terminal";
-    license = licenses.gpl2Plus;
+    description = "Window manager that multiplexes a physical terminal";
+    license = licenses.gpl3Plus;
 
     longDescription =
       '' GNU Screen is a full-screen window manager that multiplexes a physical
diff --git a/pkgs/tools/misc/script-directory/default.nix b/pkgs/tools/misc/script-directory/default.nix
index 59ede7bdccd9d..95ab361782f6d 100644
--- a/pkgs/tools/misc/script-directory/default.nix
+++ b/pkgs/tools/misc/script-directory/default.nix
@@ -32,7 +32,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = {
-    description = "A cozy nest for your scripts";
+    description = "Cozy nest for your scripts";
     homepage = "https://github.com/ianthehenry/sd";
     changelog = "https://github.com/ianthehenry/sd/tree/${src.rev}#changelog";
     license = lib.licenses.mit;
diff --git a/pkgs/tools/misc/see/default.nix b/pkgs/tools/misc/see/default.nix
index 592bc59262ca4..31cc69ffe46b9 100644
--- a/pkgs/tools/misc/see/default.nix
+++ b/pkgs/tools/misc/see/default.nix
@@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication {
   ];
 
   meta = {
-    description = "A CLI tool to open files in the terminal";
+    description = "CLI tool to open files in the terminal";
     homepage = "https://github.com/Textualize/textualize-see";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ anselmschueler ];
diff --git a/pkgs/tools/misc/sensible-utils/default.nix b/pkgs/tools/misc/sensible-utils/default.nix
index f75629d96f122..4584de1f8fdda 100644
--- a/pkgs/tools/misc/sensible-utils/default.nix
+++ b/pkgs/tools/misc/sensible-utils/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sensible-utils";
-  version = "0.0.18";
+  version = "0.0.23";
 
   src = fetchFromGitLab {
     domain = "salsa.debian.org";
     owner = "debian";
     repo = "sensible-utils";
     rev = "debian/${version}";
-    sha256 = "sha256-fZJKPnEkPfo/3luUcHzAmGB2k1nkA4ATEQMSz0aN0YY=";
+    sha256 = "sha256-EiWrMDVfauCBHmpJOoJFWOdigtDiNc5DzDoeyWhke9k=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A collection of utilities used by programs to sensibly select and spawn an appropriate browser, editor, or pager";
+    description = "Collection of utilities used by programs to sensibly select and spawn an appropriate browser, editor, or pager";
     longDescription = ''
        The specific utilities included are:
        - sensible-browser
diff --git a/pkgs/tools/misc/setconf/default.nix b/pkgs/tools/misc/setconf/default.nix
index 8384617e5e5d0..fd43ad6350cf4 100644
--- a/pkgs/tools/misc/setconf/default.nix
+++ b/pkgs/tools/misc/setconf/default.nix
@@ -17,7 +17,7 @@ buildPythonApplication rec {
 
   meta = {
     homepage = "https://github.com/xyproto/setconf";
-    description = "A small utility for changing settings in configuration textfiles";
+    description = "Small utility for changing settings in configuration textfiles";
     changelog = "https://github.com/xyproto/setconf/releases/tag/${version}";
     maintainers = [ lib.maintainers.AndersonTorres ];
     mainProgram = "setconf";
diff --git a/pkgs/tools/misc/sfeed/default.nix b/pkgs/tools/misc/sfeed/default.nix
index c12ddec63c948..3217b8f20d52a 100644
--- a/pkgs/tools/misc/sfeed/default.nix
+++ b/pkgs/tools/misc/sfeed/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://codemadness.org/sfeed-simple-feed-parser.html";
-    description = "A RSS and Atom parser (and some format programs)";
+    description = "RSS and Atom parser (and some format programs)";
     longDescription = ''
       It converts RSS or Atom feeds from XML to a TAB-separated file. There are
       formatting programs included to convert this TAB-separated format to
diff --git a/pkgs/tools/misc/shadowenv/Cargo.lock.patch b/pkgs/tools/misc/shadowenv/Cargo.lock.patch
deleted file mode 100644
index d1866991cea79..0000000000000
--- a/pkgs/tools/misc/shadowenv/Cargo.lock.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git c/Cargo.lock i/Cargo.lock
-index fb6ef6e..347b404 100644
---- c/Cargo.lock
-+++ i/Cargo.lock
-@@ -1168,7 +1168,7 @@ dependencies = [
- 
- [[package]]
- name = "shadowenv"
--version = "2.1.0"
-+version = "2.1.1"
- dependencies = [
-  "atty",
-  "blake2",
diff --git a/pkgs/tools/misc/shadowenv/default.nix b/pkgs/tools/misc/shadowenv/default.nix
index b9387024419b1..34597142522c0 100644
--- a/pkgs/tools/misc/shadowenv/default.nix
+++ b/pkgs/tools/misc/shadowenv/default.nix
@@ -2,18 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowenv";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "Shopify";
     repo = pname;
     rev = version;
-    hash = "sha256-NKqoeJ2sejbe7Gghk3H7oJtP16SX1PcIIjsh/bZdTfQ=";
+    hash = "sha256-SYVVP1WOadsgucHo3z5QxbGtzczfiej4C3/EmbrHOhg=";
   };
 
-  cargoPatches = [ ./Cargo.lock.patch ];
-
-  cargoHash = "sha256-CGAwb+UduM2QKne2bPntOcFnaUQN/3uUANc6z7f/Oig=";
+  cargoHash = "sha256-x4OQa84cIKzx29lMx56GfqSFE216jD897g4VhkiV4Kc=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/sheldon/default.nix b/pkgs/tools/misc/sheldon/default.nix
index ddff13c9bcfd4..4f0c22344a5b4 100644
--- a/pkgs/tools/misc/sheldon/default.nix
+++ b/pkgs/tools/misc/sheldon/default.nix
@@ -57,7 +57,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A fast and configurable shell plugin manager";
+    description = "Fast and configurable shell plugin manager";
     homepage = "https://github.com/rossmacarthur/sheldon";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ seqizz ];
diff --git a/pkgs/tools/misc/shelldap/default.nix b/pkgs/tools/misc/shelldap/default.nix
index 09901368c8701..dcc95b24ef48f 100644
--- a/pkgs/tools/misc/shelldap/default.nix
+++ b/pkgs/tools/misc/shelldap/default.nix
@@ -51,7 +51,7 @@ perlPackages.buildPerlPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/mahlonsmith/shelldap/";
-    description = "A handy shell-like interface for browsing LDAP servers and editing their content";
+    description = "Handy shell-like interface for browsing LDAP servers and editing their content";
     changelog = "https://github.com/mahlonsmith/shelldap/blob/v${version}/CHANGELOG";
     license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ clerie tobiasBora ];
diff --git a/pkgs/tools/misc/shunit2/default.nix b/pkgs/tools/misc/shunit2/default.nix
index 017d19264798e..57f1957a7e0e2 100644
--- a/pkgs/tools/misc/shunit2/default.nix
+++ b/pkgs/tools/misc/shunit2/default.nix
@@ -82,7 +82,7 @@ resholve.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/kward/shunit2";
-    description = "An xUnit based unit test framework for Bourne based shell scripts";
+    description = "XUnit based unit test framework for Bourne based shell scripts";
     maintainers = with maintainers; [ abathur utdemir ];
     license = licenses.asl20;
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/sqlite3-to-mysql/default.nix b/pkgs/tools/misc/sqlite3-to-mysql/default.nix
index 8d93736ffdac2..f2bc903d3d581 100644
--- a/pkgs/tools/misc/sqlite3-to-mysql/default.nix
+++ b/pkgs/tools/misc/sqlite3-to-mysql/default.nix
@@ -9,7 +9,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "sqlite3-to-mysql";
-  version = "2.1.9";
+  version = "2.2.0";
   format = "pyproject";
 
   disabled = python3Packages.pythonOlder "3.8";
@@ -18,12 +18,11 @@ python3Packages.buildPythonApplication rec {
     owner = "techouse";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-TnqNPW/d1dcVuS5sg9NOXH5ns7AzcbyailY2pYcpUEU=";
+    hash = "sha256-oav5HJdTmSAKk1b0wpzU2UOoY53zh5BrQ3Q0N360NeQ=";
   };
 
   nativeBuildInputs = with python3Packages; [
     hatchling
-    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = with python3Packages; [
@@ -59,7 +58,7 @@ python3Packages.buildPythonApplication rec {
   };
 
   meta = with lib; {
-    description = "A simple Python tool to transfer data from SQLite 3 to MySQL";
+    description = "Simple Python tool to transfer data from SQLite 3 to MySQL";
     homepage = "https://github.com/techouse/sqlite3-to-mysql";
     license = licenses.mit;
     maintainers = with maintainers; [ gador ];
diff --git a/pkgs/tools/misc/srisum/default.nix b/pkgs/tools/misc/srisum/default.nix
index 8412e48d7907c..905e5c9acaaa6 100644
--- a/pkgs/tools/misc/srisum/default.nix
+++ b/pkgs/tools/misc/srisum/default.nix
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
   doInstallCheck = true;
 
   meta = with lib; {
-    description = "A command-line utility to compute and check subresource integrity hashes";
+    description = "Command-line utility to compute and check subresource integrity hashes";
     homepage = "https://github.com/zkat/srisum-rs";
     changelog = "https://github.com/zkat/srisum-rs/raw/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 ];
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index d040534cf3004..06944a40eb1ec 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -13,13 +13,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "1.18.2";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = "starship";
     rev = "v${version}";
-    hash = "sha256-84FyKhSP2EZZkQJRhNPTYs2BYppylk50GiIck8pN3l4=";
+    hash = "sha256-3IO9hHuhzJsCHU/6BA5ylEKQI2ik6ZiRul/iO/vzii4=";
   };
 
   nativeBuildInputs = [ installShellFiles cmake ];
@@ -44,7 +44,7 @@ rustPlatform.buildRustPackage rec {
     cp docs/public/presets/toml/*.toml $presetdir
   '';
 
-  cargoHash = "sha256-Fu8KfWHCQUPSiT1aMSS0Il/S02YXdEqKMA2nsliUu8E=";
+  cargoHash = "sha256-zX04gX40dFYsK+R6gafHNtDevzrWiGufMwrGfhqYVG0=";
 
   nativeCheckInputs = [ git ];
 
@@ -57,7 +57,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A minimal, blazing fast, and extremely customizable prompt for any shell";
+    description = "Minimal, blazing fast, and extremely customizable prompt for any shell";
     homepage = "https://starship.rs";
     license = licenses.isc;
     maintainers = with maintainers; [ danth davidtwco Br1ght0ne Frostman ];
diff --git a/pkgs/tools/misc/staruml/default.nix b/pkgs/tools/misc/staruml/default.nix
index 036f47965b8f8..d98225ac365f2 100644
--- a/pkgs/tools/misc/staruml/default.nix
+++ b/pkgs/tools/misc/staruml/default.nix
@@ -24,12 +24,12 @@ let
   ];
 in
 stdenv.mkDerivation (finalAttrs: {
-  version = "6.1.0";
+  version = "6.1.1";
   pname = "staruml";
 
   src = fetchurl {
       url = "https://files.staruml.io/releases-v6/StarUML_${finalAttrs.version}_amd64.deb";
-      sha256 = "sha256-ULdrAQCiQlTN+aRhETj+ASMKkKctFgC2AfvUHGc6stU=";
+      sha256 = "sha256-AtWzGEegKUDeNLhklm74JNQQqBzdOE4MUYBFp9ubd2A=";
     };
 
   nativeBuildInputs = [ wrapGAppsHook3 dpkg ];
@@ -69,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   meta = with lib; {
-    description = "A sophisticated software modeler";
+    description = "Sophisticated software modeler";
     homepage = "https://staruml.io/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
diff --git a/pkgs/tools/misc/stow/default.nix b/pkgs/tools/misc/stow/default.nix
index 4dd72d8d8caf5..2ea55a347479e 100644
--- a/pkgs/tools/misc/stow/default.nix
+++ b/pkgs/tools/misc/stow/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
   doCheck = true;
 
   meta = with lib; {
-    description = "A tool for managing the installation of multiple software packages in the same run-time directory tree";
+    description = "Tool for managing the installation of multiple software packages in the same run-time directory tree";
 
     longDescription = ''
       GNU Stow is a symlink farm manager which takes distinct packages
diff --git a/pkgs/tools/misc/subberthehut/default.nix b/pkgs/tools/misc/subberthehut/default.nix
index 66e4442ad460c..58860f30dc5a1 100644
--- a/pkgs/tools/misc/subberthehut/default.nix
+++ b/pkgs/tools/misc/subberthehut/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/mus65/subberthehut";
-    description = "An OpenSubtitles.org downloader";
+    description = "OpenSubtitles.org downloader";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ jqueiroz ];
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index 5abdb5bba60d7..ec8cefeab7a8e 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -15,7 +15,7 @@ let
     python pytest nose3 cryptography pyyaml requests mock requests-mock
     python-dateutil setuptools;
 
-  version = "4.73";
+  version = "4.89";
 
 in
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    hash = "sha256-e8ewsx2mx62JTUnpMoSRL44EGDllQuk/k9gRztOkWMc=";
+    hash = "sha256-EuLXDbJembiFFEuIihrc8KkdqxLBgT4Ib3xwkKibVS8=";
   };
 
   pythonPaths = [ cryptography pyyaml requests ];
diff --git a/pkgs/tools/misc/svu/default.nix b/pkgs/tools/misc/svu/default.nix
index 0fafaffc153b4..b3919163f4103 100644
--- a/pkgs/tools/misc/svu/default.nix
+++ b/pkgs/tools/misc/svu/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "svu";
-  version = "1.12.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "caarlos0";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MztFramrNqxYmdTRf857HOC7H66dLvezG6LL9njxWUs=";
+    sha256 = "sha256-10pDJQ5GQrrNJaDD2PP9MQqib4llsA5c6X3Qeu3Lgkk=";
   };
 
-  vendorHash = "sha256-+e1oL08KvBSNaRepGR2SBBrEDJaGxl5V9rOBysGEfQs=";
+  vendorHash = "sha256-/FSvNoVDWAkQs09gMrqyoA0su52nlk/nSCYRAhQhbwQ=";
 
   ldflags = [ "-s" "-w" "-X=main.version=${version}" "-X=main.builtBy=nixpkgs" ];
 
diff --git a/pkgs/tools/misc/synth/default.nix b/pkgs/tools/misc/synth/default.nix
index 92e4e8531f9aa..1d2eddbd54e5f 100644
--- a/pkgs/tools/misc/synth/default.nix
+++ b/pkgs/tools/misc/synth/default.nix
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
   RUSTC_BOOTSTRAP = 1;
 
   meta = with lib; {
-    description = "A tool for generating realistic data using a declarative data model";
+    description = "Tool for generating realistic data using a declarative data model";
     homepage = "https://github.com/getsynth/synth";
     license = licenses.asl20;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/tools/misc/systrayhelper/default.nix b/pkgs/tools/misc/systrayhelper/default.nix
index 1635054b56c66..328ea27e8b806 100644
--- a/pkgs/tools/misc/systrayhelper/default.nix
+++ b/pkgs/tools/misc/systrayhelper/default.nix
@@ -30,7 +30,7 @@ buildGoModule rec {
   doCheck = false; # Display required
 
   meta = with lib; {
-    description = "A systray utility written in go, using json over stdio for control and events";
+    description = "Systray utility written in go, using json over stdio for control and events";
     homepage = "https://github.com/ssbc/systrayhelper";
     maintainers = with maintainers; [ cryptix ];
     license = licenses.mit;
diff --git a/pkgs/tools/misc/sysz/default.nix b/pkgs/tools/misc/sysz/default.nix
index 37b34aec2d273..aac3bfb29c94a 100644
--- a/pkgs/tools/misc/sysz/default.nix
+++ b/pkgs/tools/misc/sysz/default.nix
@@ -24,7 +24,7 @@ stdenvNoCC.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/joehillen/sysz";
-    description = "A fzf terminal UI for systemctl";
+    description = "Fzf terminal UI for systemctl";
     license = licenses.unlicense;
     maintainers = with maintainers; [ hleboulanger ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/szyszka/default.nix b/pkgs/tools/misc/szyszka/default.nix
index 7bcce4158faf0..b1e68b327b242 100644
--- a/pkgs/tools/misc/szyszka/default.nix
+++ b/pkgs/tools/misc/szyszka/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
@@ -9,6 +10,7 @@
 , gdk-pixbuf
 , gtk4
 , wrapGAppsHook4
+, darwin
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -36,10 +38,12 @@ rustPlatform.buildRustPackage rec {
     atk
     gdk-pixbuf
     gtk4
-  ];
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    Foundation
+  ]);
 
   meta = with lib; {
-    description = "A simple but powerful and fast bulk file renamer";
+    description = "Simple but powerful and fast bulk file renamer";
     homepage = "https://github.com/qarmin/szyszka";
     license = licenses.mit;
     maintainers = with maintainers; [ kranzes ];
diff --git a/pkgs/tools/misc/t/default.nix b/pkgs/tools/misc/t/default.nix
index 4d0c961847cee..0bcedf344ba69 100644
--- a/pkgs/tools/misc/t/default.nix
+++ b/pkgs/tools/misc/t/default.nix
@@ -8,7 +8,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "t";
 
   meta = with lib; {
-    description = "A command-line power tool for Twitter";
+    description = "Command-line power tool for Twitter";
     homepage    = "http://sferik.github.io/t/";
     license     = licenses.asl20;
     maintainers = with maintainers; [ offline manveru nicknovitski ];
diff --git a/pkgs/tools/misc/tailer/default.nix b/pkgs/tools/misc/tailer/default.nix
index 96631875f5a49..9e8c31790af80 100644
--- a/pkgs/tools/misc/tailer/default.nix
+++ b/pkgs/tools/misc/tailer/default.nix
@@ -31,7 +31,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A CLI tool to insert lines when command output stops";
+    description = "CLI tool to insert lines when command output stops";
     homepage = "https://github.com/hionay/tailer";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/pkgs/tools/misc/tailspin/default.nix b/pkgs/tools/misc/tailspin/default.nix
index 6be1f08efa092..4e837df61c7ce 100644
--- a/pkgs/tools/misc/tailspin/default.nix
+++ b/pkgs/tools/misc/tailspin/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-uTUowYoLEywGNzPyxq53Si5GSrh/F9kUFIDjw/wfdAQ=";
 
   meta = with lib; {
-    description = "A log file highlighter";
+    description = "Log file highlighter";
     homepage = "https://github.com/bensadeh/tailspin";
     changelog = "https://github.com/bensadeh/tailspin/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/taoup/default.nix b/pkgs/tools/misc/taoup/default.nix
index 4d991a88cf114..11688a46e5a1e 100644
--- a/pkgs/tools/misc/taoup/default.nix
+++ b/pkgs/tools/misc/taoup/default.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "The Tao of Unix Programming (Ruby-powered ANSI colored fortunes)";
+    description = "Tao of Unix Programming (Ruby-powered ANSI colored fortunes)";
     homepage = "https://github.com/globalcitizen/taoup";
     license = lib.licenses.gpl3Only;
     maintainers = [ lib.maintainers.zakame ];
diff --git a/pkgs/tools/misc/tbls/default.nix b/pkgs/tools/misc/tbls/default.nix
index c930d2038149a..d5ceaa6f52de3 100644
--- a/pkgs/tools/misc/tbls/default.nix
+++ b/pkgs/tools/misc/tbls/default.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "tbls";
-  version = "1.74.1";
+  version = "1.76.1";
 
   src = fetchFromGitHub {
     owner = "k1LoW";
     repo = "tbls";
     rev = "v${version}";
-    hash = "sha256-QuusOxXcTp7c6zkj6L//jOXWwLUgrsUFtsUtrNZrkOk=";
+    hash = "sha256-xSmw3udoTTEpEpfoyU48RAlN8gR/cfqco1DQ8qs5W94=";
   };
 
-  vendorHash = "sha256-mDZOBwm3k3L4QqQA+1C3jRz46R7+4wwJg9BVNWB0F0A=";
+  vendorHash = "sha256-ALjpU5el6Tmzsw2f5/AizFBuk+zJj9RKe9KHdE0AOrM=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -47,7 +47,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "A tool to generate documentation based on a database structure";
+    description = "Tool to generate documentation based on a database structure";
     homepage = "https://github.com/k1LoW/tbls";
     changelog = "https://github.com/k1LoW/tbls/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/tealdeer/default.nix b/pkgs/tools/misc/tealdeer/default.nix
index ce06bdfdce8f0..dfe57f5fef069 100644
--- a/pkgs/tools/misc/tealdeer/default.nix
+++ b/pkgs/tools/misc/tealdeer/default.nix
@@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A very fast implementation of tldr in Rust";
+    description = "Very fast implementation of tldr in Rust";
     homepage = "https://github.com/dbrgn/tealdeer";
     maintainers = with maintainers; [ davidak newam ];
     license = with licenses; [ asl20 mit ];
diff --git a/pkgs/tools/misc/teamocil/default.nix b/pkgs/tools/misc/teamocil/default.nix
index 4344668809cef..a3e85031dee64 100644
--- a/pkgs/tools/misc/teamocil/default.nix
+++ b/pkgs/tools/misc/teamocil/default.nix
@@ -8,7 +8,7 @@ bundlerEnv {
   passthru.updateScript = bundlerUpdateScript "teamocil";
 
   meta = with lib; {
-    description     = "A simple tool used to automatically create windows and panes in tmux with YAML files";
+    description     = "Simple tool used to automatically create windows and panes in tmux with YAML files";
     homepage        = "https://github.com/remiprev/teamocil";
     license         = licenses.mit;
     platforms       = platforms.all;
diff --git a/pkgs/tools/misc/tere/default.nix b/pkgs/tools/misc/tere/default.nix
index 70bd03ccaa49b..61afcbca9a19e 100644
--- a/pkgs/tools/misc/tere/default.nix
+++ b/pkgs/tools/misc/tere/default.nix
@@ -1,24 +1,56 @@
-{ lib, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform, ncurses, stdenv, python3 }:
 
-rustPlatform.buildRustPackage rec {
+rustPlatform.buildRustPackage {
   pname = "tere";
-  version = "1.5.0";
+  version = "1.5.1-unstable-2024-04-01";
 
   src = fetchFromGitHub {
     owner = "mgunyho";
     repo = "tere";
-    rev = "v${version}";
-    sha256 = "sha256-xqbFBRzBfTwSdkC8e85yANdVA45G6E1FYlTXP8QfVIk=";
+    rev = "659422ecb2810f91446a71e52b82524d4f1755d8";
+    sha256 = "sha256-CH8gcfkjSAknG6kKHp0aODcrjEJjzHbgeVaE/PK1zRA=";
   };
 
-  cargoHash = "sha256-Y2Zgo/VAJxzQd2cXxyiJS5AqcVRClAuUsEogivK3EJw=";
+  cargoHash = "sha256-GtGWuvYdxP3dgGekoXYaM+lnZJBgJX1UIWe0EH+/52M=";
 
-  postPatch = ''
-    rm .cargo/config.toml;
-  '';
+  nativeBuildInputs = [
+    # ncurses provides the tput command needed for integration tests
+    # https://github.com/mgunyho/tere/issues/93#issuecomment-2029624187
+    ncurses
+  ];
+
+  checkFlags = lib.optionals stdenv.isDarwin [
+    # Unexplained fail
+    # https://github.com/NixOS/nixpkgs/pull/298527#issuecomment-2053758845
+    "--skip=first_run_prompt_accept"
+  ];
+
+  # NOTE: workaround for build fail on aarch64
+  # See https://github.com/NixOS/nixpkgs/issues/145726#issuecomment-971331986
+  preBuild =
+    let
+      python-with-toml = python3.withPackages (ps: [ps.toml]);
+      script = builtins.toFile "clear_linkers.py" ''
+        from os import path
+        import toml
+
+        if path.exists(".cargo/config.toml"):
+          config = toml.load(open(".cargo/config.toml"))
+
+          for target in config.get("target",{}).values():
+            if "linker" in target:
+              del target["linker"]
+
+          toml.dump(config,open(".cargo/config.toml", "w"))
+        else:
+          print(__file__, ":  CONFIG.TOML EXPECTED")
+          exit(1)
+      '';
+    in
+      "${python-with-toml}/bin/python3 ${script}";
 
   meta = with lib; {
-    description = "A faster alternative to cd + ls";
+    description = "Faster alternative to cd + ls";
     homepage = "https://github.com/mgunyho/tere";
     license = licenses.eupl12;
     maintainers = with maintainers; [ ProducerMatt ];
diff --git a/pkgs/tools/misc/tewisay/default.nix b/pkgs/tools/misc/tewisay/default.nix
index f4ae05711285f..bcf77c2db2cf7 100644
--- a/pkgs/tools/misc/tewisay/default.nix
+++ b/pkgs/tools/misc/tewisay/default.nix
@@ -6,7 +6,7 @@
 
 buildGoModule rec {
   pname = "tewisay";
-  version = "unstable-2022-11-04";
+  version = "0-unstable-2022-11-04";
 
   # lucy deleted the old repo, this is a fork/mirror
   src = fetchFromGitHub {
diff --git a/pkgs/tools/misc/tfk8s/default.nix b/pkgs/tools/misc/tfk8s/default.nix
index 52795b7540025..a0bdefde16202 100644
--- a/pkgs/tools/misc/tfk8s/default.nix
+++ b/pkgs/tools/misc/tfk8s/default.nix
@@ -33,7 +33,7 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    description = "An utility to convert Kubernetes YAML manifests to Terraform's HCL format";
+    description = "Utility to convert Kubernetes YAML manifests to Terraform's HCL format";
     license = licenses.mit;
     longDescription = ''
       tfk8s is a tool that makes it easier to work with the Terraform Kubernetes Provider.
diff --git a/pkgs/tools/misc/theme-sh/default.nix b/pkgs/tools/misc/theme-sh/default.nix
index 3d41258731512..e1ebe9b732667 100644
--- a/pkgs/tools/misc/theme-sh/default.nix
+++ b/pkgs/tools/misc/theme-sh/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A script which lets you set your $terminal theme";
+    description = "Script which lets you set your $terminal theme";
     homepage = "https://github.com/lemnos/theme.sh";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/thin-provisioning-tools/Cargo.lock b/pkgs/tools/misc/thin-provisioning-tools/Cargo.lock
new file mode 100644
index 0000000000000..8f9a97c8733ee
--- /dev/null
+++ b/pkgs/tools/misc/thin-provisioning-tools/Cargo.lock
@@ -0,0 +1,907 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+
+[[package]]
+name = "anyhow"
+version = "1.0.80"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi 0.1.19",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+
+[[package]]
+name = "bytemuck"
+version = "1.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "cassowary"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "clap"
+version = "4.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
+dependencies = [
+ "clap_builder",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+dependencies = [
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
+
+[[package]]
+name = "console"
+version = "0.15.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
+dependencies = [
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "unicode-width",
+ "windows-sys",
+]
+
+[[package]]
+name = "crc32c"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89254598aa9b9fa608de44b3ae54c810f0f06d755e24c50177f1f8f31ff50ce2"
+dependencies = [
+ "rustc_version",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "data-encoding"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
+
+[[package]]
+name = "downcast"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1"
+
+[[package]]
+name = "duct"
+version = "0.13.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c"
+dependencies = [
+ "libc",
+ "once_cell",
+ "os_pipe",
+ "shared_child",
+]
+
+[[package]]
+name = "encode_unicode"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+
+[[package]]
+name = "env_logger"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
+dependencies = [
+ "log",
+ "regex",
+]
+
+[[package]]
+name = "errno"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
+name = "exitcode"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de853764b47027c2e862a995c34978ffa63c1501f2e15f987ba11bd4f9bba193"
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "fixedbitset"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
+
+[[package]]
+name = "flate2"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "fragile"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa"
+
+[[package]]
+name = "getrandom"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd"
+
+[[package]]
+name = "indicatif"
+version = "0.17.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3"
+dependencies = [
+ "console",
+ "instant",
+ "number_prefix",
+ "portable-atomic",
+ "unicode-width",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "iovec"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mockall"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48"
+dependencies = [
+ "cfg-if",
+ "downcast",
+ "fragile",
+ "lazy_static",
+ "mockall_derive",
+ "predicates",
+ "predicates-tree",
+]
+
+[[package]]
+name = "mockall_derive"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2"
+dependencies = [
+ "cfg-if",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.50",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "num-derive"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.50",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi 0.3.6",
+ "libc",
+]
+
+[[package]]
+name = "number_prefix"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+
+[[package]]
+name = "numtoa"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "os_pipe"
+version = "1.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57119c3b893986491ec9aa85056780d3a0f3cf4da7cc09dd3650dbd6c6738fb9"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
+name = "portable-atomic"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "predicates"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8"
+dependencies = [
+ "anstyle",
+ "predicates-core",
+]
+
+[[package]]
+name = "predicates-core"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174"
+
+[[package]]
+name = "predicates-tree"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf"
+dependencies = [
+ "predicates-core",
+ "termtree",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "quickcheck"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6"
+dependencies = [
+ "env_logger",
+ "log",
+ "rand",
+]
+
+[[package]]
+name = "quickcheck_macros"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rangemap"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "795915a3930a5d6bafd9053d37602fea3e61be2e5d4d788983a8ba9654c1c6f2"
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_termios"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20145670ba436b55d91fc92d25e71160fbfbdd57831631c8d7d36377a476f1cb"
+
+[[package]]
+name = "regex"
+version = "1.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "rio"
+version = "0.9.4"
+source = "git+https://github.com/jthornber/rio?branch=master#2979a720f671e836302c01546f9cc9f7988610c8"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "roaring"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1c77081a55300e016cb86f2864415b7518741879db925b8d488a0ee0d2da6bf"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+]
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+dependencies = [
+ "bitflags 2.4.2",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys",
+]
+
+[[package]]
+name = "safemem"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
+
+[[package]]
+name = "semver"
+version = "1.0.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
+
+[[package]]
+name = "shared_child"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "strsim"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "rustix",
+ "windows-sys",
+]
+
+[[package]]
+name = "termion"
+version = "1.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e"
+dependencies = [
+ "libc",
+ "numtoa",
+ "redox_syscall",
+ "redox_termios",
+]
+
+[[package]]
+name = "termtree"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
+
+[[package]]
+name = "thinp"
+version = "1.0.12"
+dependencies = [
+ "anyhow",
+ "atty",
+ "base64",
+ "byteorder",
+ "clap",
+ "crc32c",
+ "data-encoding",
+ "duct",
+ "exitcode",
+ "fixedbitset",
+ "flate2",
+ "indicatif",
+ "iovec",
+ "libc",
+ "mockall",
+ "nom",
+ "num-derive",
+ "num-traits",
+ "num_cpus",
+ "quick-xml",
+ "quickcheck",
+ "quickcheck_macros",
+ "rand",
+ "rangemap",
+ "rio",
+ "roaring",
+ "safemem",
+ "tempfile",
+ "termion",
+ "thinp",
+ "thiserror",
+ "threadpool",
+ "tui",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.50",
+]
+
+[[package]]
+name = "threadpool"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
+dependencies = [
+ "num_cpus",
+]
+
+[[package]]
+name = "tui"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1"
+dependencies = [
+ "bitflags 1.3.2",
+ "cassowary",
+ "termion",
+ "unicode-segmentation",
+ "unicode-width",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6"
diff --git a/pkgs/tools/misc/thin-provisioning-tools/default.nix b/pkgs/tools/misc/thin-provisioning-tools/default.nix
index bff6c9c96887a..aa1fc40be50ce 100644
--- a/pkgs/tools/misc/thin-provisioning-tools/default.nix
+++ b/pkgs/tools/misc/thin-provisioning-tools/default.nix
@@ -1,25 +1,33 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, expat, libaio, boost }:
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, nixosTests }:
 
-stdenv.mkDerivation rec {
+rustPlatform.buildRustPackage rec {
   pname = "thin-provisioning-tools";
-  version = "0.9.0";
+  version = "1.0.12";
 
   src = fetchFromGitHub {
     owner = "jthornber";
     repo = "thin-provisioning-tools";
     rev = "v${version}";
-    sha256 = "1iwg04rhmdhijmlk5hfl8wvv83115lzb65if6cc1glkkfva8jfjp";
+    hash = "sha256-wliyTWo3iOonqf4UW50V5co0RQlc75VwLofF9FHV2LI=";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
-
-  buildInputs = [ expat libaio boost ];
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "rio-0.9.4" = "sha256-2l5cm7YLZyf2kuRPMytu7Fdewi6x3+9KyyQBv2F8ZDA=";
+    };
+  };
 
-  enableParallelBuilding = true;
+  passthru.tests = {
+    inherit (nixosTests.lvm2) lvm-thinpool-linux-latest;
+  };
 
   meta = with lib; {
     homepage = "https://github.com/jthornber/thin-provisioning-tools/";
-    description = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target";
+    description = "Suite of tools for manipulating the metadata of the dm-thin device-mapper target";
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/tools/misc/thumbs/default.nix b/pkgs/tools/misc/thumbs/default.nix
index e7f785b9e5bf0..f170375afb870 100644
--- a/pkgs/tools/misc/thumbs/default.nix
+++ b/pkgs/tools/misc/thumbs/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/fcsonline/tmux-thumbs";
-    description = "A lightning fast version of tmux-fingers written in Rust, copy/pasting tmux like vimium/vimperator";
+    description = "Lightning fast version of tmux-fingers written in Rust, copy/pasting tmux like vimium/vimperator";
     license = licenses.mit;
     maintainers = with maintainers; [ ghostbuster91 ];
   };
diff --git a/pkgs/tools/misc/timer/default.nix b/pkgs/tools/misc/timer/default.nix
index 908127575e7a4..732c6358a2e09 100644
--- a/pkgs/tools/misc/timer/default.nix
+++ b/pkgs/tools/misc/timer/default.nix
@@ -18,7 +18,7 @@ buildGoModule rec {
   passthru.tests.version = testers.testVersion { package = timer; };
 
   meta = with lib; {
-    description = "A `sleep` with progress";
+    description = "`sleep` with progress";
     homepage = "https://github.com/caarlos0/timer";
     license = licenses.mit;
     maintainers = with maintainers; [ zowoq caarlos0 ];
diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix
index 1cb62fec2e024..26f84e383c48f 100644
--- a/pkgs/tools/misc/timidity/default.nix
+++ b/pkgs/tools/misc/timidity/default.nix
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://sourceforge.net/projects/timidity/";
     license = licenses.gpl2Plus;
-    description = "A software MIDI renderer";
+    description = "Software MIDI renderer";
     maintainers = [ maintainers.marcweber ];
     platforms = platforms.unix;
     mainProgram = "timidity";
diff --git a/pkgs/tools/misc/tmux-mem-cpu-load/default.nix b/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
index 1e197ef162eab..012a18911d406 100644
--- a/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
+++ b/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tmux-mem-cpu-load";
-  version = "3.8.0";
+  version = "3.8.1";
 
   src = fetchFromGitHub {
     owner = "thewtex";
     repo = "tmux-mem-cpu-load";
     rev = "v${version}";
-    sha256 = "sha256-dRHV2XF3NFzd4HT9SbRnEn8U40QTnAUJDsM51NA9fEk=";
+    sha256 = "sha256-8QUcEbgk3DSsWt9TRHHtDhQ7a1hkK8RZEX+0d3h/c0w=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/misc/tmux-sessionizer/default.nix b/pkgs/tools/misc/tmux-sessionizer/default.nix
index 207962a82e358..b6a3682ec7574 100644
--- a/pkgs/tools/misc/tmux-sessionizer/default.nix
+++ b/pkgs/tools/misc/tmux-sessionizer/default.nix
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage {
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
 
   meta = with lib; {
-    description = "The fastest way to manage projects as tmux sessions";
+    description = "Fastest way to manage projects as tmux sessions";
     homepage = "https://github.com/jrmoulton/tmux-sessionizer";
     license = licenses.mit;
     maintainers = with maintainers; [ vinnymeller mrcjkb ];
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 913310ec7a471..dec0e1b453359 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -38,10 +38,17 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-RX3RZ0Mcyda7C7im1r4QgUxTnp95nfpGgQ2HRxr0s64=";
   };
 
-  patches = [(fetchpatch {
-    url = "https://github.com/tmux/tmux/commit/2d1afa0e62a24aa7c53ce4fb6f1e35e29d01a904.diff";
-    hash = "sha256-mDt5wy570qrUc0clGa3GhZFTKgL0sfnQcWJEJBKAbKs=";
-  })];
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/tmux/tmux/commit/2d1afa0e62a24aa7c53ce4fb6f1e35e29d01a904.diff";
+      hash = "sha256-mDt5wy570qrUc0clGa3GhZFTKgL0sfnQcWJEJBKAbKs=";
+    })
+    # this patch is designed for android but FreeBSD exhibits the same error for the same reason
+    (fetchpatch {
+      url = "https://github.com/tmux/tmux/commit/4f5a944ae3e8f7a230054b6c0b26f423fa738e71.patch";
+      hash = "sha256-HlUeU5ZicPe7Ya8A1HpunxfVOE2BF6jOHq3ZqTuU5RE=";
+    })
+  ];
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index f0352cdda3602..6964cb5ace4e9 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -2,8 +2,8 @@
 
 let
   pname = "tmuxp";
-  version = "1.46.0";
-  hash = "sha256-+aXpsB4mjw9sZLalv3knW8okP+mh2P/nbZCiCwa3UBU=";
+  version = "1.47.0";
+  hash = "sha256-HYY6CEUPpZVvVK9kV4Ehw4wGk5YfIVSkZ0+qqf6Nz4c=";
 in
 python3Packages.buildPythonApplication {
   inherit pname version;
diff --git a/pkgs/tools/misc/toastify/default.nix b/pkgs/tools/misc/toastify/default.nix
index 2de5877c0f057..b244aec493ace 100644
--- a/pkgs/tools/misc/toastify/default.nix
+++ b/pkgs/tools/misc/toastify/default.nix
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A commandline tool that shows desktop notifications using notify-rust";
+    description = "Commandline tool that shows desktop notifications using notify-rust";
     homepage = "https://github.com/hoodie/toastify";
     changelog = "https://github.com/hoodie/toastify/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/topicctl/default.nix b/pkgs/tools/misc/topicctl/default.nix
index 86debbf388007..1b19b83edc8aa 100644
--- a/pkgs/tools/misc/topicctl/default.nix
+++ b/pkgs/tools/misc/topicctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "topicctl";
-  version = "1.16.1";
+  version = "1.18.0";
 
   src = fetchFromGitHub {
     owner = "segmentio";
     repo = "topicctl";
     rev = "v${version}";
-    sha256 = "sha256-Gx/ld651Se2mLlUG/CkHawfVBN2BsxV8w6vrnKFLHuE=";
+    sha256 = "sha256-ZvyMGtsmXnJUGUoC9UciqCpQJsbxykzeRDo+i4ni82o=";
   };
 
   vendorHash = "sha256-+mnnvdna1g6JE29weOJZmdO3jFp2a75dV9wK2XcWJ9s=";
@@ -23,7 +23,7 @@ buildGoModule rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A tool for easy, declarative management of Kafka topics";
+    description = "Tool for easy, declarative management of Kafka topics";
     inherit (src.meta) homepage;
     license = licenses.mit;
     maintainers = with maintainers; [ eskytthe srhb ];
diff --git a/pkgs/tools/misc/torrenttools/default.nix b/pkgs/tools/misc/torrenttools/default.nix
index 0fa5dbffafbbb..6daa39dd7e739 100644
--- a/pkgs/tools/misc/torrenttools/default.nix
+++ b/pkgs/tools/misc/torrenttools/default.nix
@@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    description = "A CLI tool for creating, inspecting and modifying BitTorrent metafiles";
+    description = "CLI tool for creating, inspecting and modifying BitTorrent metafiles";
     homepage = "https://github.com/fbdtemme/torrenttools";
     license = licenses.mit;
     maintainers = with maintainers; [ azahi ];
diff --git a/pkgs/tools/misc/toybox/default.nix b/pkgs/tools/misc/toybox/default.nix
index 07ad336458495..4ef5279ef4763 100644
--- a/pkgs/tools/misc/toybox/default.nix
+++ b/pkgs/tools/misc/toybox/default.nix
@@ -12,13 +12,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "toybox";
-  version = "0.8.10";
+  version = "0.8.11";
 
   src = fetchFromGitHub {
     owner = "landley";
     repo = pname;
     rev = version;
-    sha256 = "sha256-MMkNLhQP3ztWoRYhCU/cNXE/M+/ny41OK1SA9oM/lZg=";
+    sha256 = "sha256-7izs2C5/czec0Dt3apL8s7luARAlw4PfUFy9Xsxb0zw=";
   };
 
   depsBuildBuild = optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ buildPackages.stdenv.cc ];
diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix
index 7f89f7a12cdee..e807bff429d99 100644
--- a/pkgs/tools/misc/trash-cli/default.nix
+++ b/pkgs/tools/misc/trash-cli/default.nix
@@ -1,14 +1,14 @@
-{ lib, fetchFromGitHub, installShellFiles, python3Packages }:
+{ lib, fetchFromGitHub, installShellFiles, nix-update-script, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "trash-cli";
-  version = "0.24.4.17";
+  version = "0.24.5.26";
 
   src = fetchFromGitHub {
     owner = "andreafrancia";
     repo = "trash-cli";
     rev = version;
-    hash = "sha256-pXDqn+QuhTE12zXq6A4GSGSCtYJ6hBahv2p9aYQXxaI=";
+    hash = "sha256-ltuMnxtG4jTTSZd6ZHWl8wI0oQMMFqW0HAPetZMfGtc=";
   };
 
   propagatedBuildInputs = with python3Packages; [ psutil six ];
@@ -56,6 +56,8 @@ python3Packages.buildPythonApplication rec {
     done
   '';
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     homepage = "https://github.com/andreafrancia/trash-cli";
     description = "Command line interface to the freedesktop.org trashcan";
diff --git a/pkgs/tools/misc/trashy/default.nix b/pkgs/tools/misc/trashy/default.nix
index cc985b8f3b35e..f9cfdd6127618 100644
--- a/pkgs/tools/misc/trashy/default.nix
+++ b/pkgs/tools/misc/trashy/default.nix
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A simple, fast, and featureful alternative to rm and trash-cli";
+    description = "Simple, fast, and featureful alternative to rm and trash-cli";
     homepage = "https://github.com/oberblastmeister/trashy";
     changelog = "https://github.com/oberblastmeister/trashy/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/pkgs/tools/misc/trillian/default.nix b/pkgs/tools/misc/trillian/default.nix
index f52c8f518dd73..2224adec80446 100644
--- a/pkgs/tools/misc/trillian/default.nix
+++ b/pkgs/tools/misc/trillian/default.nix
@@ -25,7 +25,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/google/trillian";
-    description = "A transparent, highly scalable and cryptographically verifiable data store";
+    description = "Transparent, highly scalable and cryptographically verifiable data store";
     license = [ licenses.asl20 ];
     maintainers = [ maintainers.adisbladis ];
   };
diff --git a/pkgs/tools/misc/ttchat/default.nix b/pkgs/tools/misc/ttchat/default.nix
index 5aad1527df42d..ec62357cbbedd 100644
--- a/pkgs/tools/misc/ttchat/default.nix
+++ b/pkgs/tools/misc/ttchat/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
     description = "Connect to a Twitch channel's chat from your terminal";
     homepage = "https://github.com/atye/ttchat";
     license = licenses.asl20;
-    maintainers = with maintainers; [ wolfangaukang ];
+    maintainers = [ ];
     mainProgram = "ttchat";
   };
 }
diff --git a/pkgs/tools/misc/ttfautohint/default.nix b/pkgs/tools/misc/ttfautohint/default.nix
index 14572d12a781d..5b068de2ddd7c 100644
--- a/pkgs/tools/misc/ttfautohint/default.nix
+++ b/pkgs/tools/misc/ttfautohint/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   dontWrapQtApps = true;
 
   meta = with lib; {
-    description = "An automatic hinter for TrueType fonts";
+    description = "Automatic hinter for TrueType fonts";
     mainProgram = "ttfautohint";
     longDescription = ''
       A library and two programs which take a TrueType font as the
diff --git a/pkgs/tools/misc/ttyplot/default.nix b/pkgs/tools/misc/ttyplot/default.nix
index fc53f0b8997ac..d9f4ac565514e 100644
--- a/pkgs/tools/misc/ttyplot/default.nix
+++ b/pkgs/tools/misc/ttyplot/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ttyplot";
-  version = "1.6.2";
+  version = "1.6.5";
 
   src = fetchFromGitHub {
     owner = "tenox7";
     repo = "ttyplot";
     rev = version;
-    hash = "sha256-HBJvTDhp1CA96gRU2Q+lMxcFaZ+txXcmNb8Cg1BFiH4=";
+    hash = "sha256-DLFEnEo+EQuq4ziqo9qfyHGD1Zosk9Kb/80QjnI2aXk=";
   };
 
   nativeBuildInputs = [
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
-    description = "A simple general purpose plotting utility for tty with data input from stdin";
+    description = "Simple general purpose plotting utility for tty with data input from stdin";
     homepage = "https://github.com/tenox7/ttyplot";
     license = licenses.asl20;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/twm/default.nix b/pkgs/tools/misc/twm/default.nix
index 3e15aa2564184..213378e41f051 100644
--- a/pkgs/tools/misc/twm/default.nix
+++ b/pkgs/tools/misc/twm/default.nix
@@ -5,30 +5,44 @@
 , openssl
 , pkg-config
 , Security
+, nix-update-script
+, installShellFiles
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "twm";
-  version = "0.9.0";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "vinnymeller";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-gvo5+lZNe5QOHNI4nrPbCR65D+VFf/anmLVdu5RXJiY=";
+    repo = "twm";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-qOOEeaxae7nYbvNzl3BEZkdjO69lgtGrrLS5Q7akN9U=";
   };
 
-  cargoHash = "sha256-5+1B+SbrIrswGjtNLlwbtLEhARMZNs75DFK8wQI2O0M=";
+  cargoHash = "sha256-gJ5go9V8c97pQZICUD1ksLJhOyJXyVXAWssH3fhrRVQ=";
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config installShellFiles ];
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
 
-  meta = with lib; {
-    description = "A customizable workspace manager for tmux";
+  postInstall = ''
+    installShellCompletion --cmd twm \
+      --bash <($out/bin/twm --print-bash-completion) \
+      --zsh <($out/bin/twm --print-zsh-completion) \
+      --fish <($out/bin/twm --print-fish-completion)
+
+    $out/bin/twm --print-man > twm.1
+    installManPage twm.1
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Customizable workspace manager for tmux";
     homepage = "https://github.com/vinnymeller/twm";
-    changelog = "https://github.com/vinnymeller/twm/releases/tag/v${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ vinnymeller ];
+    changelog = "https://github.com/vinnymeller/twm/releases/tag/${src.rev}";
+    license = lib.licenses.mit;
+    maintainers =  [ lib.maintainers.vinnymeller ];
     mainProgram = "twm";
   };
 }
diff --git a/pkgs/tools/misc/twspace-dl/default.nix b/pkgs/tools/misc/twspace-dl/default.nix
index a9d86a18c66b3..73a0129fe83fa 100644
--- a/pkgs/tools/misc/twspace-dl/default.nix
+++ b/pkgs/tools/misc/twspace-dl/default.nix
@@ -24,7 +24,7 @@ python3Packages.buildPythonApplication rec {
   pythonImportsCheck = [ "twspace_dl" ];
 
   meta = with lib; {
-    description = "A python module to download twitter spaces";
+    description = "Python module to download twitter spaces";
     homepage = "https://github.com/HoloArchivists/twspace-dl";
     changelog = "https://github.com/HoloArchivists/twspace-dl/releases/tag/${version}";
     license = licenses.gpl2Only;
diff --git a/pkgs/tools/misc/tydra/default.nix b/pkgs/tools/misc/tydra/default.nix
index 551519695c432..75c2effedcc68 100644
--- a/pkgs/tools/misc/tydra/default.nix
+++ b/pkgs/tools/misc/tydra/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tydra";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "Mange";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1kvyski3qy2lwlpipynq894i0g9x2j4a1iy2mgdwfibfyfkv2jnm";
+    sha256 = "sha256-bH/W54b7UHdkbgLXAd+l5I6UAKjWDMW+I5mfwT4yEEY=";
   };
 
-  cargoSha256 = "0handd5vxxvmlllzxhvwgadl4r7yc78f068r8jryprpap31azg3a";
+  cargoHash = "sha256-emZWQHOgYUQzCa/SmztSLa19bB1aJpPUiBg2C7w6W8M=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/tz/default.nix b/pkgs/tools/misc/tz/default.nix
index 4059125353f71..c883058a725ec 100644
--- a/pkgs/tools/misc/tz/default.nix
+++ b/pkgs/tools/misc/tz/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
   vendorHash = "sha256-lcCra4LyebkmelvBs0Dd2mn6R64Q5MaUWc5AP8V9pec=";
 
   meta = with lib; {
-    description = "A time zone helper";
+    description = "Time zone helper";
     homepage = "https://github.com/oz/tz";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ siraben ];
diff --git a/pkgs/tools/misc/uair/default.nix b/pkgs/tools/misc/uair/default.nix
index 5d154ef82d80e..47c4d7631da29 100644
--- a/pkgs/tools/misc/uair/default.nix
+++ b/pkgs/tools/misc/uair/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "An extensible pomodoro timer";
+    description = "Extensible pomodoro timer";
     homepage = "https://github.com/metent/uair";
     license = licenses.mit;
     maintainers = with maintainers; [ thled ];
diff --git a/pkgs/tools/misc/ugs/default.nix b/pkgs/tools/misc/ugs/default.nix
index 2a3eea73c07f8..05fb77ac15735 100644
--- a/pkgs/tools/misc/ugs/default.nix
+++ b/pkgs/tools/misc/ugs/default.nix
@@ -18,11 +18,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "ugs";
-  version = "2.1.6";
+  version = "2.1.7";
 
   src = fetchzip {
     url = "https://github.com/winder/Universal-G-Code-Sender/releases/download/v${version}/UniversalGcodeSender.zip";
-    hash = "sha256-6L/4s/QmlTnYnhwLgPf7z8UVkBUYXi3Wb3doa5JCViE=";
+    hash = "sha256-HxaFGa7UG7dWtVKTLDRbhY7UCWeA6E50txz45bjb5uE=";
   };
 
   dontUnpack = true;
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   desktopItems = [ desktopItem ];
 
   meta = with lib; {
-    description = "A cross-platform G-Code sender for GRBL, Smoothieware, TinyG and G2core";
+    description = "Cross-platform G-Code sender for GRBL, Smoothieware, TinyG and G2core";
     homepage = "https://github.com/winder/Universal-G-Code-Sender";
     maintainers = with maintainers; [ matthewcroughan ];
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
diff --git a/pkgs/tools/misc/ugtrain/default.nix b/pkgs/tools/misc/ugtrain/default.nix
index e92170ad595a6..868700d642996 100644
--- a/pkgs/tools/misc/ugtrain/default.nix
+++ b/pkgs/tools/misc/ugtrain/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/ugtrain/ugtrain";
-    description = "The Universal Elite Game Trainer for CLI (Linux game trainer research project)";
+    description = "Universal Elite Game Trainer for CLI (Linux game trainer research project)";
     maintainers = with maintainers; [ mtrsk ];
     platforms = platforms.linux;
     license = licenses.gpl3Only;
diff --git a/pkgs/tools/misc/undocker/default.nix b/pkgs/tools/misc/undocker/default.nix
index a2ce7dfb7aa16..fb52e019ffbc9 100644
--- a/pkgs/tools/misc/undocker/default.nix
+++ b/pkgs/tools/misc/undocker/default.nix
@@ -1,25 +1,36 @@
 { lib
 , buildGoModule
-, fetchFromSourcehut
+, fetchFromGitea
+, gnumake
 }:
-buildGoModule rec {
-  pname = "undocker";
-  version = "1.0.4";
-
-  src = fetchFromSourcehut {
-    owner = "~motiejus";
-    repo = pname;
+let
+  version = "1.2.2";
+  hash = "sha256-kBqNopcHpldU5oD6zoVjPjP84t12QFcbWBSNNgwImKg=";
+  src = fetchFromGitea {
+    domain = "git.jakstys.lt";
+    owner = "motiejus";
+    repo = "undocker";
     rev = "v${version}";
-    hash = "sha256-I+pTbr1lKELyYlyHrx2gB+aeZ3/PmcePQfXu1ckhKAk=";
+    hash = hash;
   };
+in
+buildGoModule {
+  pname = "undocker";
+  inherit version src;
+
+  nativeBuildInputs = [ gnumake ];
+
+  buildPhase = "make VSN=v${version} VSNHASH=${hash} undocker";
+
+  installPhase = "install -D undocker $out/bin/undocker";
 
   vendorHash = null;
 
   meta = with lib; {
-    homepage = "https://git.sr.ht/~motiejus/undocker";
-    description = "A CLI tool to convert a Docker image to a flattened rootfs tarball";
+    homepage = "https://git.jakstys.lt/motiejus/undocker";
+    description = "CLI tool to convert a Docker image to a flattened rootfs tarball";
     license = licenses.asl20;
-    maintainers = with maintainers; [ jordanisaacs ];
+    maintainers = with maintainers; [ jordanisaacs motiejus ];
     mainProgram = "undocker";
   };
 }
diff --git a/pkgs/tools/misc/unparam/default.nix b/pkgs/tools/misc/unparam/default.nix
index 6578f08c59aec..535617b1f12ea 100644
--- a/pkgs/tools/misc/unparam/default.nix
+++ b/pkgs/tools/misc/unparam/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "unparam";
-  version = "unstable-2023-03-12";
+  version = "0-unstable-2024-05-28";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = "unparam";
-    rev = "e84e2d14e3b88193890ff95d72ecb81312f36589";
-    sha256 = "sha256-kbEdOqX/p/FrNfWQ2WjXX+lERprSV2EI9l+kapHuFi4=";
+    rev = "8a5130ca722ffad18c95cc467b561f1668b9b0d2";
+    hash = "sha256-CYCXTriGUd4bNY6ZPfkX4puE1imcqYHnX1SXVdnXPGM=";
   };
 
-  vendorHash = "sha256-gEZFAMcr1okqG2IXcS3hDzZKMINohd2JzxezGbzyeBE=";
+  vendorHash = "sha256-2lNC4V1WQkJdkagIlBu6tj4SA4KJKstHXc+B4emKu6s=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/misc/upower-notify/default.nix b/pkgs/tools/misc/upower-notify/default.nix
index 8033a91ecf51a..205735ae01382 100644
--- a/pkgs/tools/misc/upower-notify/default.nix
+++ b/pkgs/tools/misc/upower-notify/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
 
 # To use upower-notify, the maintainer suggests adding something like this to your configuration.nix:
 #
@@ -6,20 +6,27 @@
 #   ${pkgs.dunst}/bin/dunst -shrink -geometry 0x0-50-50 -key space & # ...if don't already have a dbus notification display app
 #   (sleep 3; exec ${pkgs.yeshup}/bin/yeshup ${pkgs.go-upower-notify}/bin/upower-notify) &
 # '';
-buildGoPackage rec {
+buildGoModule {
   pname = "upower-notify";
-  version = "unstable-2016-03-10";
-
-  goPackagePath = "github.com/omeid/upower-notify";
+  version = "0-unstable-2019-01-06";
 
   src = fetchFromGitHub {
     owner = "omeid";
     repo = "upower-notify";
-    rev = "14c581e683a7e90ec9fa6d409413c16599a5323c";
-    sha256 = "16zlvn53p9m10ph8n9gps51fkkvl6sf4afdzni6azk05j0ng49jw";
+    rev = "7013b0d4d2687e03554b1287e566dc8979896ea5";
+    sha256 = "sha256-8kGMeWIyM6ML1ffQ6L+SNzuBb7e5Y5I5QKMkyEjSVEA=";
   };
 
-  goDeps = ./deps.nix;
+  patches = [
+    # Migrate to Go module
+    (fetchpatch {
+      url = "https://github.com/omeid/upower-notify/commit/dff8ad7e33e5b0cf148e73c6ea0c358da72006ed.patch";
+      hash = "sha256-zPSryo6f+6QGgjOkC3W1fPIbZ3FD6S/rAuBJXHWqjZg=";
+    })
+  ];
+
+  vendorHash = "sha256-58zK6t3rb+19ilaQaNgsMVFQBYKPIV40ww8klrGbpnw=";
+  proxyVendor = true;
 
   meta = with lib; {
     description = "simple tool to give you Desktop Notifications about your battery";
diff --git a/pkgs/tools/misc/upower-notify/deps.nix b/pkgs/tools/misc/upower-notify/deps.nix
deleted file mode 100644
index 8a729857b8191..0000000000000
--- a/pkgs/tools/misc/upower-notify/deps.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/godbus/dbus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/godbus/dbus";
-      rev = "32c6cc29c14570de4cf6d7e7737d68fb2d01ad15";
-      sha256 = "0v401f761l88yapiaw23pxvxviqrwl2r2vfd6lq02044i7x4i5r3";
-    };
-  }
-]
diff --git a/pkgs/tools/misc/upterm/default.nix b/pkgs/tools/misc/upterm/default.nix
index 384e315bb8720..50383a1c3eebc 100644
--- a/pkgs/tools/misc/upterm/default.nix
+++ b/pkgs/tools/misc/upterm/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "upterm";
-  version = "0.13.5";
+  version = "0.14.3";
 
   src = fetchFromGitHub {
     owner = "owenthereal";
     repo = "upterm";
     rev = "v${version}";
-    hash = "sha256-uwWP/F8rCc1vJ7Y+84cazAnsJ30zoyxqkbT2E+FzYr8=";
+    hash = "sha256-koZRKxp6Q52jvpmQqQAGvPHoiiU2LaEuNeRY/rru+XM=";
   };
 
-  vendorHash = "sha256-AYntKxSRO0FSKmOojIS1i9bdUA5Kp3WoI7ThUNw3RNw=";
+  vendorHash = "sha256-PUcfE7LQQh2ftiOiOoucSfxYnTI4zRNmmSqqmvvvs7g=";
 
   subPackages = [ "cmd/upterm" "cmd/uptermd" ];
 
diff --git a/pkgs/tools/misc/url-parser/default.nix b/pkgs/tools/misc/url-parser/default.nix
index 39ae506c25245..1a84e92d322f5 100644
--- a/pkgs/tools/misc/url-parser/default.nix
+++ b/pkgs/tools/misc/url-parser/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "url-parser";
-  version = "2.0.3";
+  version = "2.0.5";
 
   src = fetchFromGitHub {
     owner = "thegeeklab";
     repo = "url-parser";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pu6U6YIA7+K1ZSt97Nn0IDaQFVIwMq3m7d8JidK1vJk=";
+    hash = "sha256-tMbB0u0BxoWGLPOsebwxd0QQcAlpSuhfCRdBEGpLpRU=";
   };
 
-  vendorHash = "sha256-QqhjS0uL2Fm2OeFkuAB8VeS7HpoS9dOhgHk/J4j9++M=";
+  vendorHash = "sha256-gLhVbd0rca+khY8i776EN/PoySNq/oYYNFbioMjgxPc=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/misc/urlencode/default.nix b/pkgs/tools/misc/urlencode/default.nix
index 6b8097a6b5278..b61b8a37c2e76 100644
--- a/pkgs/tools/misc/urlencode/default.nix
+++ b/pkgs/tools/misc/urlencode/default.nix
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-UPw+/wVOEM+kciOr70P+gdMCxtCKQ/SXsNAWA44v4v8=";
 
   meta = with lib; {
-    description = "A CLI utility for URL-encoding or -decoding strings";
+    description = "CLI utility for URL-encoding or -decoding strings";
     homepage = "https://github.com/dead10ck/urlencode";
     license = licenses.mit;
     maintainers = with maintainers; [ l0b0 ];
diff --git a/pkgs/tools/misc/urn-timer/default.nix b/pkgs/tools/misc/urn-timer/default.nix
index 0b75657fb121d..ad0c271fda667 100644
--- a/pkgs/tools/misc/urn-timer/default.nix
+++ b/pkgs/tools/misc/urn-timer/default.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation {
   pname = "urn-timer";
-  version = "unstable-2024-03-05";
+  version = "0-unstable-2024-03-05";
 
   src = fetchFromGitHub {
     owner = "paoloose";
diff --git a/pkgs/tools/misc/usbimager/default.nix b/pkgs/tools/misc/usbimager/default.nix
index a872fb9a74c49..2ff1c0b415e77 100644
--- a/pkgs/tools/misc/usbimager/default.nix
+++ b/pkgs/tools/misc/usbimager/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional withUdisks "USE_UDISKS2=yes";
 
   meta = with lib; {
-    description = "A very minimal GUI app that can write compressed disk images to USB drives";
+    description = "Very minimal GUI app that can write compressed disk images to USB drives";
     homepage = "https://gitlab.com/bztsrc/usbimager";
     license = licenses.mit;
     maintainers = with maintainers; [ vdot0x23 ];
diff --git a/pkgs/tools/misc/usbmuxd/default.nix b/pkgs/tools/misc/usbmuxd/default.nix
index 2cec5d7d77af2..6901767c9cf8a 100644
--- a/pkgs/tools/misc/usbmuxd/default.nix
+++ b/pkgs/tools/misc/usbmuxd/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/libimobiledevice/usbmuxd";
-    description = "A socket daemon to multiplex connections from and to iOS devices";
+    description = "Socket daemon to multiplex connections from and to iOS devices";
     longDescription = ''
       usbmuxd stands for "USB multiplexing daemon". This daemon is in charge of
       multiplexing connections over USB to an iOS device. To users, it means
diff --git a/pkgs/tools/misc/usbmuxd2/default.nix b/pkgs/tools/misc/usbmuxd2/default.nix
index 2eee1bb71324c..e4674eb386f15 100644
--- a/pkgs/tools/misc/usbmuxd2/default.nix
+++ b/pkgs/tools/misc/usbmuxd2/default.nix
@@ -78,7 +78,7 @@ clangStdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/tihmstar/usbmuxd2";
-    description = "A socket daemon to multiplex connections from and to iOS devices";
+    description = "Socket daemon to multiplex connections from and to iOS devices";
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ onny ];
diff --git a/pkgs/tools/misc/uucp/default.nix b/pkgs/tools/misc/uucp/default.nix
index 28f7a6572c185..325ad135558c3 100644
--- a/pkgs/tools/misc/uucp/default.nix
+++ b/pkgs/tools/misc/uucp/default.nix
@@ -1,11 +1,11 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, autoreconfHook, testers }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "uucp";
   version = "1.07";
 
   src = fetchurl {
-    url = "mirror://gnu/uucp/uucp-${version}.tar.gz";
+    url = "mirror://gnu/uucp/uucp-${finalAttrs.version}.tar.gz";
     sha256 = "0b5nhl9vvif1w3wdipjsk8ckw49jj1w85xw1mmqi3zbcpazia306";
   };
 
@@ -13,15 +13,28 @@ stdenv.mkDerivation rec {
 
   prePatch = ''
     # do not set sticky bit in nix store
-    substituteInPlace Makefile.in \
-      --replace 4555 0555
-    sed -i '/chown $(OWNER)/d' Makefile.in
+    substituteInPlace Makefile.am \
+      --replace-fail 4555 0555
+    sed -i '/chown $(OWNER)/d' Makefile.am
+
+    # don't reply on implicitly defined `exit` function in `HAVE_VOID` test:
+    substituteInPlace configure.in \
+      --replace-fail '(void) exit (0)' '(void) (0)'
   '';
 
+  # Regenerate `configure`; the checked in version was generated in 2002 and
+  # contains snippets like `main(){return(0);}` that modern compilers dislike.
+  nativeBuildInputs = [ autoreconfHook ];
+
   makeFlags = [ "AR:=$(AR)" ];
 
+  passthru.tests.version = testers.testVersion {
+    package = finalAttrs.finalPackage;
+  };
+
   meta = {
     description = "Unix-unix cp over serial line, also includes cu program";
+    mainProgram = "uucp";
 
     longDescription =
       '' Taylor UUCP is a free implementation of UUCP and is the standard
@@ -37,4 +50,4 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.all;
     maintainers = [ ];
   };
-}
+})
diff --git a/pkgs/tools/misc/uudeview/default.nix b/pkgs/tools/misc/uudeview/default.nix
index 6875e6f123432..3ce22f74c4de7 100644
--- a/pkgs/tools/misc/uudeview/default.nix
+++ b/pkgs/tools/misc/uudeview/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "The Nice and Friendly Decoder";
+    description = "Nice and Friendly Decoder";
     homepage = "http://www.fpx.de/fp/Software/UUDeview/";
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ woffs ];
diff --git a/pkgs/tools/misc/uwufetch/default.nix b/pkgs/tools/misc/uwufetch/default.nix
index d0ae239d9ec2f..4dba7dac8038e 100644
--- a/pkgs/tools/misc/uwufetch/default.nix
+++ b/pkgs/tools/misc/uwufetch/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A meme system info tool for Linux";
+    description = "Meme system info tool for Linux";
     homepage = "https://github.com/TheDarkBug/uwufetch";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/valeronoi/default.nix b/pkgs/tools/misc/valeronoi/default.nix
index b27fe3e499a31..2f4e1a426f253 100644
--- a/pkgs/tools/misc/valeronoi/default.nix
+++ b/pkgs/tools/misc/valeronoi/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/ccoors/Valeronoi/";
-    description = "A WiFi mapping companion app for Valetudo";
+    description = "WiFi mapping companion app for Valetudo";
     license = licenses.gpl3Only;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ nova-madeline maeve ];
diff --git a/pkgs/tools/misc/vector/Cargo.lock b/pkgs/tools/misc/vector/Cargo.lock
index d24feb253f2e1..dfccefda9e01b 100644
--- a/pkgs/tools/misc/vector/Cargo.lock
+++ b/pkgs/tools/misc/vector/Cargo.lock
@@ -66,19 +66,19 @@ version = "0.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
 dependencies = [
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
  "once_cell",
  "version_check",
 ]
 
 [[package]]
 name = "ahash"
-version = "0.8.6"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if",
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
  "once_cell",
  "version_check",
  "zerocopy",
@@ -94,6 +94,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "alloc-no-stdlib"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
+
+[[package]]
+name = "alloc-stdlib"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
+dependencies = [
+ "alloc-no-stdlib",
+]
+
+[[package]]
 name = "allocator-api2"
 version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -179,9 +194,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.6.7"
+version = "0.6.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cd2405b3ac1faab2990b74d728624cd9fd115651fcecc7c2d8daf01376275ba"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -193,9 +208,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.4"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
@@ -227,9 +242,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.81"
+version = "1.0.86"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
+checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
 
 [[package]]
 name = "apache-avro"
@@ -274,9 +289,9 @@ dependencies = [
 
 [[package]]
 name = "arc-swap"
-version = "1.7.0"
+version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b3d0060af21e8d11a926981cc00c6c1541aa91dd64b9f881985c3da1094425f"
+checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
 
 [[package]]
 name = "arr_macro"
@@ -296,7 +311,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c6368f9ae5c6ec403ca910327ae0c9437b0a85255b6950c90d497e6177f6e5e"
 dependencies = [
  "proc-macro-hack",
- "quote 1.0.35",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
@@ -359,10 +374,11 @@ dependencies = [
 
 [[package]]
 name = "async-compression"
-version = "0.4.6"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c"
+checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5"
 dependencies = [
+ "brotli",
  "flate2",
  "futures-core",
  "memchr",
@@ -426,22 +442,22 @@ dependencies = [
 
 [[package]]
 name = "async-graphql"
-version = "7.0.3"
+version = "7.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "261fa27d5bff5afdf7beff291b3bc73f99d1529804c70e51b0fbc51e70b1c6a9"
+checksum = "bf338d20ba5bab309f55ce8df95d65ee19446f7737f06f4a64593ab2c6b546ad"
 dependencies = [
  "async-graphql-derive",
  "async-graphql-parser",
  "async-graphql-value",
  "async-stream",
  "async-trait",
- "base64 0.21.7",
- "bytes 1.5.0",
+ "base64 0.22.1",
+ "bytes 1.6.0",
  "chrono",
  "fnv",
  "futures-util",
- "http 1.0.0",
- "indexmap 2.2.5",
+ "http 1.1.0",
+ "indexmap 2.2.6",
  "mime",
  "multer",
  "num-traits",
@@ -457,26 +473,26 @@ dependencies = [
 
 [[package]]
 name = "async-graphql-derive"
-version = "7.0.3"
+version = "7.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3188809947798ea6db736715a60cf645ba3b87ea031c710130e1476b48e45967"
+checksum = "fc51fd6b7102acda72bc94e8ae1543844d5688ff394a6cf7c21f2a07fe2d64e4"
 dependencies = [
  "Inflector",
  "async-graphql-parser",
  "darling 0.20.8",
- "proc-macro-crate 1.3.1",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "strum 0.26.1",
- "syn 2.0.53",
+ "proc-macro-crate 3.1.0",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "strum 0.26.2",
+ "syn 2.0.66",
  "thiserror",
 ]
 
 [[package]]
 name = "async-graphql-parser"
-version = "7.0.3"
+version = "7.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4e65a0b83027f35b2a5d9728a098bc66ac394caa8191d2c65ed9eb2985cf3d8"
+checksum = "75361eefd64e39f89bead4cb45fddbaf60ddb0e7b15fb7c852b6088bcd63071f"
 dependencies = [
  "async-graphql-value",
  "pest",
@@ -486,21 +502,21 @@ dependencies = [
 
 [[package]]
 name = "async-graphql-value"
-version = "7.0.3"
+version = "7.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68e40849c29a39012d38bff87bfed431f1ed6c53fbec493294c1045d61a7ae75"
+checksum = "c1f665d2d52b41c4ed1f01c43f3ef27a2fe0af2452ed5c8bc7ac9b1a8719afaa"
 dependencies = [
- "bytes 1.5.0",
- "indexmap 2.2.5",
+ "bytes 1.6.0",
+ "indexmap 2.2.6",
  "serde",
  "serde_json",
 ]
 
 [[package]]
 name = "async-graphql-warp"
-version = "7.0.3"
+version = "7.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e901ea60bac5613a1c824da04c8e72906cf79efde5c56f657e3a4ac89624b0a5"
+checksum = "e400c0f2609939f8cec46d8137f0959a49a4a514458f2a43a4ee0b0f6eb20a36"
 dependencies = [
  "async-graphql",
  "futures-util",
@@ -560,11 +576,11 @@ dependencies = [
 
 [[package]]
 name = "async-lock"
-version = "3.0.0"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45e900cdcd39bb94a14487d3f7ef92ca222162e6c7c3fe7cb3550ea75fb486ed"
+checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18"
 dependencies = [
- "event-listener 3.0.1",
+ "event-listener 5.3.1",
  "event-listener-strategy",
  "pin-project-lite",
 ]
@@ -576,7 +592,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dbc1f1a75fd07f0f517322d103211f12d757658e91676def9a2e688774656c60"
 dependencies = [
  "base64 0.21.7",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures 0.3.30",
  "http 0.2.9",
  "memchr",
@@ -586,7 +602,7 @@ dependencies = [
  "rand 0.8.5",
  "regex",
  "ring",
- "rustls 0.21.8",
+ "rustls 0.21.11",
  "rustls-native-certs 0.6.3",
  "rustls-pemfile 1.0.3",
  "rustls-webpki 0.101.7",
@@ -645,13 +661,13 @@ dependencies = [
 
 [[package]]
 name = "async-recursion"
-version = "1.1.0"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
+checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -689,9 +705,9 @@ version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -702,13 +718,13 @@ checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1"
 
 [[package]]
 name = "async-trait"
-version = "0.1.78"
+version = "0.1.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "461abc97219de0eaaf81fe3ef974a540158f3d079c2ab200f891f1a2ef201e85"
+checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -724,17 +740,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 
 [[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
-[[package]]
 name = "autocfg"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -757,7 +762,7 @@ dependencies = [
  "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "fastrand 2.0.1",
  "http 0.2.9",
  "hyper 0.14.28",
@@ -768,9 +773,9 @@ dependencies = [
 
 [[package]]
 name = "aws-credential-types"
-version = "1.1.8"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa8587ae17c8e967e4b05a62d495be2fb7701bec52a97f7acfe8a29f938384c8"
+checksum = "e16838e6c9e12125face1c1eff1343c75e3ff540de98ff7ebd61874a89bcfeb9"
 dependencies = [
  "aws-smithy-async",
  "aws-smithy-runtime-api",
@@ -787,7 +792,7 @@ dependencies = [
  "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "http 0.2.9",
  "http-body 0.4.5",
  "pin-project-lite",
@@ -855,7 +860,7 @@ dependencies = [
  "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "fastrand 2.0.1",
  "http 0.2.9",
  "regex",
@@ -878,7 +883,7 @@ dependencies = [
  "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "http 0.2.9",
  "regex",
  "tracing 0.1.40",
@@ -900,7 +905,7 @@ dependencies = [
  "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "http 0.2.9",
  "regex",
  "tracing 0.1.40",
@@ -922,7 +927,7 @@ dependencies = [
  "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "http 0.2.9",
  "regex",
  "tracing 0.1.40",
@@ -948,7 +953,7 @@ dependencies = [
  "aws-smithy-types",
  "aws-smithy-xml",
  "aws-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "http 0.2.9",
  "http-body 0.4.5",
  "once_cell",
@@ -959,6 +964,29 @@ dependencies = [
 ]
 
 [[package]]
+name = "aws-sdk-secretsmanager"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faea24d86bcabc65048014abd3ee5763a5e8877f678d9cd688a12e086ebe2dbd"
+dependencies = [
+ "aws-credential-types",
+ "aws-http",
+ "aws-runtime",
+ "aws-smithy-async",
+ "aws-smithy-http",
+ "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
+ "aws-types",
+ "bytes 1.6.0",
+ "fastrand 2.0.1",
+ "http 0.2.9",
+ "regex",
+ "tracing 0.1.40",
+]
+
+[[package]]
 name = "aws-sdk-sns"
 version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -997,7 +1025,7 @@ dependencies = [
  "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "http 0.2.9",
  "regex",
  "tracing 0.1.40",
@@ -1028,21 +1056,21 @@ dependencies = [
 
 [[package]]
 name = "aws-sigv4"
-version = "1.2.0"
+version = "1.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11d6f29688a4be9895c0ba8bef861ad0c0dac5c15e9618b9b7a6c233990fc263"
+checksum = "31eed8d45759b2c5fe7fd304dd70739060e9e0de509209036eabea14d0720cce"
 dependencies = [
  "aws-credential-types",
  "aws-smithy-eventstream",
  "aws-smithy-http",
  "aws-smithy-runtime-api",
  "aws-smithy-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "form_urlencoded",
  "hex",
  "hmac",
  "http 0.2.9",
- "http 1.0.0",
+ "http 1.1.0",
  "once_cell",
  "percent-encoding",
  "sha2",
@@ -1052,9 +1080,9 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-async"
-version = "1.1.8"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d26ea8fa03025b2face2b3038a63525a10891e3d8829901d502e5384a0d8cd46"
+checksum = "62220bc6e97f946ddd51b5f1361f78996e704677afc518a4ff66b7a72ea1378c"
 dependencies = [
  "futures-util",
  "pin-project-lite",
@@ -1069,7 +1097,7 @@ checksum = "c5a373ec01aede3dd066ec018c1bc4e8f5dd11b2c11c59c8eef1a5c68101f397"
 dependencies = [
  "aws-smithy-http",
  "aws-smithy-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "crc32c",
  "crc32fast",
  "hex",
@@ -1089,20 +1117,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6363078f927f612b970edf9d1903ef5cef9a64d1e8423525ebb1f0a1633c858"
 dependencies = [
  "aws-smithy-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "crc32fast",
 ]
 
 [[package]]
 name = "aws-smithy-http"
-version = "0.60.7"
+version = "0.60.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f10fa66956f01540051b0aa7ad54574640f748f9839e843442d99b970d3aff9"
+checksum = "4a7de001a1b9a25601016d8057ea16e31a45fdca3751304c8edf4ad72e706c08"
 dependencies = [
  "aws-smithy-eventstream",
  "aws-smithy-runtime-api",
  "aws-smithy-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "bytes-utils",
  "futures-core",
  "http 0.2.9",
@@ -1135,40 +1163,42 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-runtime"
-version = "1.1.8"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec81002d883e5a7fd2bb063d6fb51c4999eb55d404f4fff3dd878bf4733b9f01"
+checksum = "db83b08939838d18e33b5dbaf1a0f048f28c10bd28071ab7ce6f245451855414"
 dependencies = [
  "aws-smithy-async",
  "aws-smithy-http",
  "aws-smithy-runtime-api",
  "aws-smithy-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "fastrand 2.0.1",
  "h2 0.3.26",
  "http 0.2.9",
  "http-body 0.4.5",
+ "http-body 1.0.0",
+ "httparse",
  "hyper 0.14.28",
  "hyper-rustls 0.24.2",
  "once_cell",
  "pin-project-lite",
  "pin-utils",
- "rustls 0.21.8",
+ "rustls 0.21.11",
  "tokio",
  "tracing 0.1.40",
 ]
 
 [[package]]
 name = "aws-smithy-runtime-api"
-version = "1.2.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9acb931e0adaf5132de878f1398d83f8677f90ba70f01f65ff87f6d7244be1c5"
+checksum = "1b570ea39eb95bd32543f6e4032bce172cb6209b9bc8c83c770d08169e875afc"
 dependencies = [
  "aws-smithy-async",
  "aws-smithy-types",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "http 0.2.9",
- "http 1.0.0",
+ "http 1.1.0",
  "pin-project-lite",
  "tokio",
  "tracing 0.1.40",
@@ -1177,15 +1207,18 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-types"
-version = "1.1.8"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abe14dceea1e70101d38fbf2a99e6a34159477c0fb95e68e05c66bd7ae4c3729"
+checksum = "cfe321a6b21f5d8eabd0ade9c55d3d0335f3c3157fc2b3e87f05f34b539e4df5"
 dependencies = [
  "base64-simd",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "bytes-utils",
  "http 0.2.9",
+ "http 1.1.0",
  "http-body 0.4.5",
+ "http-body 1.0.0",
+ "http-body-util",
  "itoa",
  "num-integer",
  "pin-project-lite",
@@ -1206,9 +1239,9 @@ dependencies = [
 
 [[package]]
 name = "aws-types"
-version = "1.1.8"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dbf2f3da841a8930f159163175cf6a3d16ddde517c1b0fba7aa776822800f40"
+checksum = "6f734808d43702a67e57d478a12e227d4d038d0b90c9005a78c87890d3805922"
 dependencies = [
  "aws-credential-types",
  "aws-smithy-async",
@@ -1228,7 +1261,7 @@ dependencies = [
  "async-trait",
  "axum-core",
  "bitflags 1.3.2",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures-util",
  "http 0.2.9",
  "http-body 0.4.5",
@@ -1255,7 +1288,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c"
 dependencies = [
  "async-trait",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures-util",
  "http 0.2.9",
  "http-body 0.4.5",
@@ -1273,17 +1306,17 @@ checksum = "4ccd63c07d1fbfb3d4543d7ea800941bf5a30db1911b9b9e4db3b2c4210a434f"
 dependencies = [
  "async-trait",
  "base64 0.21.7",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "dyn-clone",
  "futures 0.3.30",
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
  "http-types",
  "log",
  "paste",
  "pin-project",
  "quick-xml",
  "rand 0.8.5",
- "reqwest",
+ "reqwest 0.11.26",
  "rustc_version 0.4.0",
  "serde",
  "serde_json",
@@ -1298,7 +1331,7 @@ version = "0.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8bd7ea32ca7eb66ff4757f83baac702ff11d469e5de365b6bc6f79f9c25d3436"
 dependencies = [
- "async-lock 3.0.0",
+ "async-lock 3.4.0",
  "async-trait",
  "azure_core",
  "futures 0.3.30",
@@ -1322,7 +1355,7 @@ dependencies = [
  "RustyXML",
  "async-trait",
  "azure_core",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures 0.3.30",
  "hmac",
  "log",
@@ -1344,7 +1377,7 @@ dependencies = [
  "RustyXML",
  "azure_core",
  "azure_storage",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures 0.3.30",
  "log",
  "serde",
@@ -1361,7 +1394,7 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1"
 dependencies = [
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
  "instant",
  "rand 0.8.5",
 ]
@@ -1406,6 +1439,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
 
 [[package]]
+name = "base62"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f879ef8fc74665ed7f0e6127cb106315888fc2744f68e14b74f83edbb2a08992"
+
+[[package]]
 name = "base64"
 version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1425,9 +1464,9 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "base64"
-version = "0.22.0"
+version = "0.22.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
+checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
 
 [[package]]
 name = "base64-simd"
@@ -1474,12 +1513,12 @@ checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
 
 [[package]]
 name = "bitmask-enum"
-version = "2.2.3"
+version = "2.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9990737a6d5740ff51cdbbc0f0503015cb30c390f6623968281eb214a520cfc0"
+checksum = "afb15541e888071f64592c0b4364fdff21b7cb0a247f984296699351963a8721"
 dependencies = [
- "quote 1.0.35",
- "syn 2.0.53",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -1539,19 +1578,19 @@ dependencies = [
 
 [[package]]
 name = "bollard"
-version = "0.16.0"
+version = "0.16.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83545367eb6428eb35c29cdec3a1f350fa8d6d9085d59a7d7bcb637f2e38db5a"
+checksum = "0aed08d3adb6ebe0eff737115056652670ae290f177759aac19c30456135f94c"
 dependencies = [
- "base64 0.21.7",
+ "base64 0.22.1",
  "bollard-stubs",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
  "futures-core",
  "futures-util",
  "hex",
  "home",
- "http 1.0.0",
+ "http 1.1.0",
  "http-body-util",
  "hyper 1.2.0",
  "hyper-named-pipe",
@@ -1560,7 +1599,7 @@ dependencies = [
  "hyperlocal-next",
  "log",
  "pin-project-lite",
- "rustls 0.22.2",
+ "rustls 0.22.4",
  "rustls-native-certs 0.7.0",
  "rustls-pemfile 2.1.0",
  "rustls-pki-types",
@@ -1586,7 +1625,7 @@ dependencies = [
  "chrono",
  "serde",
  "serde_repr",
- "serde_with 3.7.0",
+ "serde_with 3.8.1",
 ]
 
 [[package]]
@@ -1607,19 +1646,40 @@ checksum = "f404657a7ea7b5249e36808dff544bc88a28f26e0ac40009f674b7a009d14be3"
 dependencies = [
  "once_cell",
  "proc-macro-crate 2.0.0",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
  "syn_derive",
 ]
 
 [[package]]
+name = "brotli"
+version = "6.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+ "brotli-decompressor",
+]
+
+[[package]]
+name = "brotli-decompressor"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6221fe77a248b9117d431ad93761222e1cf8ff282d9d1d5d9f53d6299a1cf76"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+]
+
+[[package]]
 name = "bson"
 version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "61570f4de0cc9c03b481c96057b3ae7c6ff7b5b35da8b0832c44f0131987a718"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.11",
  "base64 0.13.1",
  "bitvec",
  "hex",
@@ -1679,12 +1739,18 @@ version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
 [[package]]
+name = "bytemuck"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15"
+
+[[package]]
 name = "byteorder"
 version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1702,9 +1768,9 @@ dependencies = [
 
 [[package]]
 name = "bytes"
-version = "1.5.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
 dependencies = [
  "serde",
 ]
@@ -1715,7 +1781,7 @@ version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e47d3a8076e283f3acd27400535992edb3ba4b5bb72f8891ad8fbe7932a7d4b9"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "either",
 ]
 
@@ -1726,43 +1792,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc"
 
 [[package]]
-name = "cached"
-version = "0.49.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f251fd1e72720ca07bf5d8e310f54a193fd053479a1f6342c6663ee4fa01cf96"
-dependencies = [
- "ahash 0.8.6",
- "cached_proc_macro",
- "cached_proc_macro_types",
- "hashbrown 0.14.3",
- "instant",
- "once_cell",
- "thiserror",
-]
-
-[[package]]
-name = "cached_proc_macro"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad9f16c0d84de31a2ab7fdf5f7783c14631f7075cf464eb3bb43119f61c9cb2a"
-dependencies = [
- "darling 0.14.4",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "cached_proc_macro_types"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0"
-
-[[package]]
 name = "cargo_toml"
-version = "0.19.2"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a98356df42a2eb1bd8f1793ae4ee4de48e384dd974ce5eac8eee802edb7492be"
+checksum = "c8cb1d556b8b8f36e5ca74938008be3ac102f5dcb5b68a0477e4249ae2291cd3"
 dependencies = [
  "serde",
  "toml",
@@ -1871,9 +1904,9 @@ dependencies = [
 
 [[package]]
 name = "chrono"
-version = "0.4.34"
+version = "0.4.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
+checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -1886,9 +1919,9 @@ dependencies = [
 
 [[package]]
 name = "chrono-tz"
-version = "0.8.6"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59ae0466b83e838b81a54256c39d5d7c20b9d7daa10510a242d9b75abd5936e"
+checksum = "93698b29de5e97ad0ae26447b344c482a7284c737d9ddc5f9e52b74a336671bb"
 dependencies = [
  "chrono",
  "chrono-tz-build",
@@ -1898,9 +1931,9 @@ dependencies = [
 
 [[package]]
 name = "chrono-tz-build"
-version = "0.2.1"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f"
+checksum = "0c088aee841df9c3041febbb73934cfc39708749bf96dc827e3359cd39ef11b1"
 dependencies = [
  "parse-zoneinfo",
  "phf",
@@ -1977,24 +2010,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "2.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
-dependencies = [
- "ansi_term",
- "atty",
- "bitflags 1.3.2",
- "strsim 0.8.0",
- "textwrap",
- "unicode-width",
- "vec_map",
-]
-
-[[package]]
-name = "clap"
-version = "4.5.3"
+version = "4.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "949626d00e063efc93b6dca932419ceb5432f99769911c0b995f7e884c778813"
+checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -2006,15 +2024,15 @@ version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bb9b20c0dd58e4c2e991c8d203bbeb76c11304d1011659686b5b644bc29aa478"
 dependencies = [
- "clap 4.5.3",
+ "clap",
  "log",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.5.2"
+version = "4.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
+checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f"
 dependencies = [
  "anstream",
  "anstyle",
@@ -2025,23 +2043,23 @@ dependencies = [
 
 [[package]]
 name = "clap_complete"
-version = "4.5.1"
+version = "4.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "885e4d7d5af40bfb99ae6f9433e292feac98d452dcb3ec3d25dfe7552b77da8c"
+checksum = "d2020fa13af48afc65a9a87335bda648309ab3d154cd03c7ff95b378c7ed39c4"
 dependencies = [
- "clap 4.5.3",
+ "clap",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.5.3"
+version = "4.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90239a040c80f5e14809ca132ddc4176ab33d5e17e49691793296e3fcb34d72f"
+checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6"
 dependencies = [
  "heck 0.5.0",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -2073,7 +2091,7 @@ name = "codecs"
 version = "0.1.0"
 dependencies = [
  "apache-avro",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
  "csv-core",
  "derivative",
@@ -2083,7 +2101,7 @@ dependencies = [
  "memchr",
  "once_cell",
  "ordered-float 4.2.0",
- "prost 0.12.3",
+ "prost 0.12.6",
  "prost-reflect",
  "regex",
  "rstest",
@@ -2151,7 +2169,7 @@ version = "4.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures-core",
  "memchr",
  "pin-project-lite",
@@ -2188,9 +2206,9 @@ dependencies = [
 
 [[package]]
 name = "concurrent-queue"
-version = "2.3.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400"
+checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
 dependencies = [
  "crossbeam-utils",
 ]
@@ -2222,22 +2240,22 @@ dependencies = [
 
 [[package]]
 name = "console-api"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd326812b3fd01da5bb1af7d340d0d555fd3d4b641e7f1dfcf5962a902952787"
+checksum = "a257c22cd7e487dd4a13d413beabc512c5052f0bc048db0da6a84c3d8a6142fd"
 dependencies = [
  "futures-core",
- "prost 0.12.3",
- "prost-types 0.12.3",
- "tonic",
+ "prost 0.12.6",
+ "prost-types 0.12.6",
+ "tonic 0.11.0",
  "tracing-core 0.1.32",
 ]
 
 [[package]]
 name = "console-subscriber"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7481d4c57092cd1c19dd541b92bdce883de840df30aa5d03fd48a3935c01842e"
+checksum = "31c4cc54bae66f7d9188996404abdf7fdfa23034ef8e43478c8810828abad758"
 dependencies = [
  "console-api",
  "crossbeam-channel",
@@ -2245,13 +2263,14 @@ dependencies = [
  "futures-task",
  "hdrhistogram",
  "humantime",
- "prost-types 0.12.3",
+ "prost 0.12.6",
+ "prost-types 0.12.6",
  "serde",
  "serde_json",
  "thread_local",
  "tokio",
  "tokio-stream",
- "tonic",
+ "tonic 0.11.0",
  "tracing 0.1.40",
  "tracing-core 0.1.32",
  "tracing-subscriber",
@@ -2326,18 +2345,18 @@ dependencies = [
 
 [[package]]
 name = "crc"
-version = "3.0.1"
+version = "3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe"
+checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636"
 dependencies = [
  "crc-catalog",
 ]
 
 [[package]]
 name = "crc-catalog"
-version = "2.3.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4939f9ed1444bd8c896d37f3090012fa6e7834fe84ef8c9daa166109515732f9"
+checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
 
 [[package]]
 name = "crc32c"
@@ -2350,9 +2369,9 @@ dependencies = [
 
 [[package]]
 name = "crc32fast"
-version = "1.4.0"
+version = "1.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
+checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
 dependencies = [
  "cfg-if",
 ]
@@ -2366,7 +2385,7 @@ dependencies = [
  "anes",
  "cast",
  "ciborium",
- "clap 4.5.3",
+ "clap",
  "criterion-plot",
  "futures 0.3.30",
  "is-terminal",
@@ -2440,9 +2459,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.19"
+version = "0.8.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
 
 [[package]]
 name = "crossterm"
@@ -2567,9 +2586,9 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -2584,16 +2603,6 @@ dependencies = [
 
 [[package]]
 name = "darling"
-version = "0.14.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
-dependencies = [
- "darling_core 0.14.4",
- "darling_macro 0.14.4",
-]
-
-[[package]]
-name = "darling"
 version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
@@ -2610,22 +2619,8 @@ checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610"
 dependencies = [
  "fnv",
  "ident_case",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "strsim 0.10.0",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "darling_core"
-version = "0.14.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
-dependencies = [
- "fnv",
- "ident_case",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "strsim 0.10.0",
  "syn 1.0.109",
 ]
@@ -2638,10 +2633,10 @@ checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
 dependencies = [
  "fnv",
  "ident_case",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "strsim 0.10.0",
- "syn 2.0.53",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -2651,18 +2646,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
 dependencies = [
  "darling_core 0.13.4",
- "quote 1.0.35",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "darling_macro"
-version = "0.14.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
-dependencies = [
- "darling_core 0.14.4",
- "quote 1.0.35",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
@@ -2673,8 +2657,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
 dependencies = [
  "darling_core 0.20.8",
- "quote 1.0.35",
- "syn 2.0.53",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -2690,7 +2674,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
  "cfg-if",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
  "lock_api",
  "once_cell",
  "parking_lot_core",
@@ -2698,9 +2682,9 @@ dependencies = [
 
 [[package]]
 name = "data-encoding"
-version = "2.5.0"
+version = "2.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
+checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2"
 
 [[package]]
 name = "data-url"
@@ -2709,6 +2693,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
 
 [[package]]
+name = "databend-client"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afe21f4ac2e61c9360d5c1b7cce3ed4392c2a42c6c1dbb1115cc27f25f23b78"
+dependencies = [
+ "async-trait",
+ "log",
+ "once_cell",
+ "percent-encoding",
+ "reqwest 0.12.4",
+ "serde",
+ "serde_json",
+ "tokio",
+ "tokio-retry",
+ "tokio-stream",
+ "tokio-util",
+ "url",
+ "uuid",
+]
+
+[[package]]
 name = "db-key"
 version = "0.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2766,8 +2771,8 @@ version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
@@ -2777,9 +2782,9 @@ version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -2789,8 +2794,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
 dependencies = [
  "convert_case 0.4.0",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "rustc_version 0.4.0",
  "syn 1.0.109",
 ]
@@ -2862,6 +2867,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "displaydoc"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
+dependencies = [
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
+]
+
+[[package]]
 name = "dns-lookup"
 version = "2.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2869,7 +2885,7 @@ checksum = "e5766087c2235fec47fafa4cfecc81e494ee679d0fd4a59887ea0919bfb0e4fc"
 dependencies = [
  "cfg-if",
  "libc",
- "socket2 0.5.6",
+ "socket2 0.5.7",
  "windows-sys 0.48.0",
 ]
 
@@ -2904,6 +2920,24 @@ dependencies = [
 ]
 
 [[package]]
+name = "domain"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7eefe29e8dd614abbee51a1616654cab123c4c56850ab83f5b7f1e1f9977bf7c"
+dependencies = [
+ "bytes 1.6.0",
+ "futures-util",
+ "moka",
+ "octseq",
+ "rand 0.8.5",
+ "serde",
+ "smallvec",
+ "time",
+ "tokio",
+ "tracing 0.1.40",
+]
+
+[[package]]
 name = "duct"
 version = "0.13.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3015,9 +3049,9 @@ checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.33"
+version = "0.8.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
 dependencies = [
  "cfg-if",
  "serde",
@@ -3046,8 +3080,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "21cdad81446a7f7dc43f6a77409efeb9733d2fa65553efef6018ef257c959b73"
 dependencies = [
  "heck 0.4.1",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
@@ -3058,41 +3092,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a"
 dependencies = [
  "heck 0.4.1",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
 name = "enum_dispatch"
-version = "0.3.12"
+version = "0.3.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e"
+checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd"
 dependencies = [
  "once_cell",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
 name = "enumflags2"
-version = "0.7.9"
+version = "0.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d"
+checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d"
 dependencies = [
  "enumflags2_derive",
 ]
 
 [[package]]
 name = "enumflags2_derive"
-version = "0.7.9"
+version = "0.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
+checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -3102,6 +3136,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "62a61b2faff777e62dbccd7f82541d873f96264d050c5dd7e95194f79fc4de29"
 
 [[package]]
+name = "env_filter"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
+dependencies = [
+ "log",
+ "regex",
+]
+
+[[package]]
 name = "env_logger"
 version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3113,15 +3157,15 @@ dependencies = [
 
 [[package]]
 name = "env_logger"
-version = "0.10.2"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
+checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
 dependencies = [
+ "anstream",
+ "anstyle",
+ "env_filter",
  "humantime",
- "is-terminal",
  "log",
- "regex",
- "termcolor",
 ]
 
 [[package]]
@@ -3182,12 +3226,23 @@ dependencies = [
 ]
 
 [[package]]
+name = "event-listener"
+version = "5.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "event-listener-strategy"
-version = "0.3.0"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160"
+checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
 dependencies = [
- "event-listener 3.0.1",
+ "event-listener 5.3.1",
  "pin-project-lite",
 ]
 
@@ -3217,9 +3272,9 @@ dependencies = [
 
 [[package]]
 name = "fakedata_generator"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "302a45f60d105c247c9d3131107392da80df844f9215260b7f8ccfa301a6a6f4"
+checksum = "57b82fba4b485b819fde74012109688a9d2bd4ce7b22583ac12c9fa239f74a02"
 dependencies = [
  "passt",
  "rand 0.8.5",
@@ -3269,7 +3324,7 @@ name = "file-source"
 version = "0.1.0"
 dependencies = [
  "bstr 1.9.1",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
  "crc",
  "criterion",
@@ -3277,7 +3332,7 @@ dependencies = [
  "flate2",
  "futures 0.3.30",
  "glob",
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "libc",
  "quickcheck",
  "scan_fmt",
@@ -3325,9 +3380,9 @@ checksum = "d52a7e408202050813e6f1d9addadcaafef3dca7530c7ddfb005d4081cce6779"
 
 [[package]]
 name = "flate2"
-version = "1.0.28"
+version = "1.0.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae"
 dependencies = [
  "crc32fast",
  "miniz_oxide",
@@ -3345,9 +3400,6 @@ version = "0.10.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
 dependencies = [
- "futures-core",
- "futures-sink",
- "pin-project",
  "spin 0.9.8",
 ]
 
@@ -3492,9 +3544,9 @@ version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -3559,9 +3611,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.12"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -3604,7 +3656,7 @@ dependencies = [
  "arc-swap",
  "futures 0.3.30",
  "log",
- "reqwest",
+ "reqwest 0.11.26",
  "serde",
  "serde_derive",
  "serde_json",
@@ -3616,9 +3668,9 @@ dependencies = [
 
 [[package]]
 name = "governor"
-version = "0.6.0"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "821239e5672ff23e2a7060901fa622950bbd80b649cdaadd78d1c1767ed14eb4"
+checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b"
 dependencies = [
  "cfg-if",
  "dashmap",
@@ -3627,8 +3679,10 @@ dependencies = [
  "no-std-compat",
  "nonzero_ext",
  "parking_lot",
+ "portable-atomic",
  "rand 0.8.5",
  "smallvec",
+ "spinning_top",
 ]
 
 [[package]]
@@ -3652,9 +3706,9 @@ dependencies = [
 
 [[package]]
 name = "graphql_client"
-version = "0.13.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09cdf7b487d864c2939b23902291a5041bc4a84418268f25fda1c8d4e15ad8fa"
+checksum = "a50cfdc7f34b7f01909d55c2dcb71d4c13cbcbb4a1605d6c8bd760d654c1144b"
 dependencies = [
  "graphql_query_derive",
  "serde",
@@ -3663,16 +3717,16 @@ dependencies = [
 
 [[package]]
 name = "graphql_client_codegen"
-version = "0.13.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a40f793251171991c4eb75bd84bc640afa8b68ff6907bc89d3b712a22f700506"
+checksum = "5e27ed0c2cf0c0cc52c6bcf3b45c907f433015e580879d14005386251842fb0a"
 dependencies = [
  "graphql-introspection-query",
  "graphql-parser",
  "heck 0.4.1",
  "lazy_static",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "serde",
  "serde_json",
  "syn 1.0.109",
@@ -3680,12 +3734,12 @@ dependencies = [
 
 [[package]]
 name = "graphql_query_derive"
-version = "0.13.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00bda454f3d313f909298f626115092d348bc231025699f557b27e248475f48c"
+checksum = "83febfa838f898cfa73dfaa7a8eb69ff3409021ac06ee94cfb3d622f6eeb1a97"
 dependencies = [
  "graphql_client_codegen",
- "proc-macro2 1.0.79",
+ "proc-macro2 1.0.85",
  "syn 1.0.109",
 ]
 
@@ -3694,12 +3748,12 @@ name = "greptime-proto"
 version = "0.1.0"
 source = "git+https://github.com/GreptimeTeam/greptime-proto.git?tag=v0.4.1#4306ab645ee55b3f7f2ad3fb7acc5820f967c1aa"
 dependencies = [
- "prost 0.12.3",
+ "prost 0.12.6",
  "serde",
  "serde_json",
  "strum 0.25.0",
  "strum_macros 0.25.3",
- "tonic",
+ "tonic 0.10.2",
  "tonic-build 0.10.2",
 ]
 
@@ -3714,12 +3768,12 @@ dependencies = [
  "futures-util",
  "greptime-proto",
  "parking_lot",
- "prost 0.12.3",
+ "prost 0.12.6",
  "rand 0.8.5",
  "snafu 0.7.5",
  "tokio",
  "tokio-stream",
- "tonic",
+ "tonic 0.10.2",
  "tonic-build 0.9.2",
  "tower",
 ]
@@ -3751,13 +3805,13 @@ version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "fnv",
  "futures-core",
  "futures-sink",
  "futures-util",
  "http 0.2.9",
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "slab",
  "tokio",
  "tokio-util",
@@ -3766,17 +3820,17 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.4.4"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069"
+checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab"
 dependencies = [
- "bytes 1.5.0",
+ "atomic-waker",
+ "bytes 1.6.0",
  "fnv",
  "futures-core",
  "futures-sink",
- "futures-util",
- "http 1.0.0",
- "indexmap 2.2.5",
+ "http 1.1.0",
+ "indexmap 2.2.6",
  "slab",
  "tokio",
  "tokio-util",
@@ -3810,16 +3864,16 @@ version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "33ff8ae62cd3a9102e5637afc8452c55acf3844001bd5374e0b0bd7b6616c038"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.11",
 ]
 
 [[package]]
 name = "hashbrown"
-version = "0.14.3"
+version = "0.14.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.11",
  "allocator-api2",
 ]
 
@@ -3844,7 +3898,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270"
 dependencies = [
  "base64 0.21.7",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "headers-core",
  "http 0.2.9",
  "httpdate",
@@ -3863,15 +3917,6 @@ dependencies = [
 
 [[package]]
 name = "heck"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "heck"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
@@ -4008,15 +4053,6 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
 version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
@@ -4029,9 +4065,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
 
 [[package]]
 name = "hickory-proto"
-version = "0.24.0"
+version = "0.24.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "091a6fbccf4860009355e3efc52ff4acf37a63489aad7435372d44ceeb6fbbcf"
+checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512"
 dependencies = [
  "async-trait",
  "cfg-if",
@@ -4090,23 +4126,34 @@ dependencies = [
 ]
 
 [[package]]
+name = "hostname"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "windows",
+]
+
+[[package]]
 name = "http"
 version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "fnv",
  "itoa",
 ]
 
 [[package]]
 name = "http"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea"
+checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "fnv",
  "itoa",
 ]
@@ -4117,7 +4164,7 @@ version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "http 0.2.9",
  "pin-project-lite",
 ]
@@ -4128,8 +4175,8 @@ version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
 dependencies = [
- "bytes 1.5.0",
- "http 1.0.0",
+ "bytes 1.6.0",
+ "http 1.1.0",
 ]
 
 [[package]]
@@ -4138,9 +4185,9 @@ version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "41cb79eb393015dadd30fc252023adb0b2400a0caee0fa2a077e6e21a551e840"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures-util",
- "http 1.0.0",
+ "http 1.1.0",
  "http-body 1.0.0",
  "pin-project-lite",
 ]
@@ -4206,7 +4253,7 @@ version = "0.14.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures-channel",
  "futures-core",
  "futures-util",
@@ -4217,7 +4264,7 @@ dependencies = [
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.4.10",
+ "socket2 0.5.7",
  "tokio",
  "tower-service",
  "tracing 0.1.40",
@@ -4230,10 +4277,10 @@ version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures-channel",
  "futures-util",
- "http 1.0.0",
+ "http 1.1.0",
  "http-body 1.0.0",
  "httparse",
  "itoa",
@@ -4282,7 +4329,7 @@ version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ca815a891b24fdfb243fa3239c86154392b0953ee584aa1a2a1f66d20cbe75cc"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures 0.3.30",
  "headers",
  "http 0.2.9",
@@ -4303,7 +4350,7 @@ dependencies = [
  "http 0.2.9",
  "hyper 0.14.28",
  "log",
- "rustls 0.21.8",
+ "rustls 0.21.11",
  "rustls-native-certs 0.6.3",
  "tokio",
  "tokio-rustls 0.24.1",
@@ -4316,11 +4363,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c"
 dependencies = [
  "futures-util",
- "http 1.0.0",
+ "http 1.1.0",
  "hyper 1.2.0",
  "hyper-util",
  "log",
- "rustls 0.22.2",
+ "rustls 0.22.4",
  "rustls-native-certs 0.7.0",
  "rustls-pki-types",
  "tokio",
@@ -4346,7 +4393,7 @@ version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "hyper 0.14.28",
  "native-tls",
  "tokio",
@@ -4359,14 +4406,14 @@ version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures-channel",
  "futures-util",
- "http 1.0.0",
+ "http 1.1.0",
  "http-body 1.0.0",
  "hyper 1.2.0",
  "pin-project-lite",
- "socket2 0.5.6",
+ "socket2 0.5.7",
  "tokio",
  "tower",
  "tower-service",
@@ -4412,6 +4459,124 @@ dependencies = [
 ]
 
 [[package]]
+name = "icu_collections"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
+dependencies = [
+ "displaydoc",
+ "yoke",
+ "zerofrom",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locid"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
+dependencies = [
+ "displaydoc",
+ "litemap",
+ "tinystr",
+ "writeable",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locid_transform"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
+dependencies = [
+ "displaydoc",
+ "icu_locid",
+ "icu_locid_transform_data",
+ "icu_provider",
+ "tinystr",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_locid_transform_data"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
+
+[[package]]
+name = "icu_normalizer"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
+dependencies = [
+ "displaydoc",
+ "icu_collections",
+ "icu_normalizer_data",
+ "icu_properties",
+ "icu_provider",
+ "smallvec",
+ "utf16_iter",
+ "utf8_iter",
+ "write16",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_normalizer_data"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
+
+[[package]]
+name = "icu_properties"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036"
+dependencies = [
+ "displaydoc",
+ "icu_collections",
+ "icu_locid_transform",
+ "icu_properties_data",
+ "icu_provider",
+ "tinystr",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_properties_data"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
+
+[[package]]
+name = "icu_provider"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
+dependencies = [
+ "displaydoc",
+ "icu_locid",
+ "icu_provider_macros",
+ "stable_deref_trait",
+ "tinystr",
+ "writeable",
+ "yoke",
+ "zerofrom",
+ "zerovec",
+]
+
+[[package]]
+name = "icu_provider_macros"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
+dependencies = [
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
+]
+
+[[package]]
 name = "ident_case"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4430,6 +4595,16 @@ dependencies = [
 
 [[package]]
 name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "idna"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
@@ -4449,6 +4624,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "idna"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed"
+dependencies = [
+ "icu_normalizer",
+ "icu_properties",
+ "smallvec",
+ "utf8_iter",
+]
+
+[[package]]
 name = "indexmap"
 version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4461,12 +4648,12 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.2.5"
+version = "2.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
  "serde",
 ]
 
@@ -4486,9 +4673,9 @@ dependencies = [
 
 [[package]]
 name = "indoc"
-version = "2.0.4"
+version = "2.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
 
 [[package]]
 name = "infer"
@@ -4498,9 +4685,9 @@ checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac"
 
 [[package]]
 name = "infer"
-version = "0.15.0"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb33622da908807a06f9513c19b3c1ad50fab3e4137d82a78107d502075aa199"
+checksum = "bc150e5ce2330295b8616ce0e3f53250e53af31759a9dbedad1621ba29151847"
 
 [[package]]
 name = "inotify"
@@ -4553,7 +4740,7 @@ version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
 dependencies = [
- "hermit-abi 0.3.3",
+ "hermit-abi",
  "libc",
  "windows-sys 0.48.0",
 ]
@@ -4573,10 +4760,10 @@ version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
 dependencies = [
- "socket2 0.5.6",
+ "socket2 0.5.7",
  "widestring 1.0.2",
  "windows-sys 0.48.0",
- "winreg",
+ "winreg 0.50.0",
 ]
 
 [[package]]
@@ -4603,7 +4790,7 @@ version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
- "hermit-abi 0.3.3",
+ "hermit-abi",
  "rustix 0.38.31",
  "windows-sys 0.48.0",
 ]
@@ -4642,6 +4829,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "itertools"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
+dependencies = [
+ "either",
+]
+
+[[package]]
 name = "itoa"
 version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4714,14 +4910,14 @@ dependencies = [
 name = "k8s-e2e-tests"
 version = "0.1.0"
 dependencies = [
- "env_logger 0.10.2",
+ "env_logger 0.11.3",
  "futures 0.3.30",
  "indoc",
  "k8s-openapi 0.16.0",
  "k8s-test-framework",
  "rand 0.8.5",
  "regex",
- "reqwest",
+ "reqwest 0.11.26",
  "serde_json",
  "tokio",
  "tracing 0.1.40",
@@ -4734,7 +4930,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6d9455388f4977de4d0934efa9f7d36296295537d774574113a20f6082de03da"
 dependencies = [
  "base64 0.13.1",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
  "serde",
  "serde-value",
@@ -4748,7 +4944,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cd990069640f9db34b3b0f7a1afc62a05ffaa3be9b66aa3c313f58346df7f788"
 dependencies = [
  "base64 0.21.7",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
  "http 0.2.9",
  "percent-encoding",
@@ -4826,7 +5022,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "544339f1665488243f79080441cacb09c997746fd763342303e66eebb9d3ba13"
 dependencies = [
  "base64 0.20.0",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
  "dirs-next",
  "either",
@@ -4845,7 +5041,7 @@ dependencies = [
  "secrecy",
  "serde",
  "serde_json",
- "serde_yaml 0.9.33",
+ "serde_yaml 0.9.34+deprecated",
  "thiserror",
  "tokio",
  "tokio-util",
@@ -4877,7 +5073,7 @@ version = "0.82.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "125331201e3073707ac79c294c89021faa76c84da3a566a3749a2a93d295c98a"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.11",
  "async-trait",
  "backoff",
  "derivative",
@@ -4926,16 +5122,16 @@ checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d"
 
 [[package]]
 name = "lapin"
-version = "2.3.1"
+version = "2.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f3067a1fcfbc3fc46455809c023e69b8f6602463201010f4ae5a3b572adb9dc"
+checksum = "fae02c316a8a5922ce7518afa6b6c00e9a099f8e59587567e3331efdd11b8ceb"
 dependencies = [
  "amq-protocol",
  "async-global-executor-trait",
  "async-reactor-trait",
  "async-trait",
  "executor-trait",
- "flume 0.10.14",
+ "flume 0.11.0",
  "futures-core",
  "futures-io",
  "parking_lot",
@@ -4957,9 +5153,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.153"
+version = "0.2.155"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
 
 [[package]]
 name = "libflate"
@@ -5042,6 +5238,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "litemap"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
+
+[[package]]
 name = "lock_api"
 version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5073,11 +5275,11 @@ checksum = "879777f0cc6f3646a044de60e4ab98c75617e3f9580f7a2032e6ad7ea0cd3054"
 name = "loki-logproto"
 version = "0.1.0"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
- "prost 0.12.3",
- "prost-build 0.12.3",
- "prost-types 0.12.3",
+ "prost 0.12.6",
+ "prost-build 0.12.6",
+ "prost-types 0.12.6",
  "snap",
 ]
 
@@ -5087,7 +5289,7 @@ version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc"
 dependencies = [
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
 ]
 
 [[package]]
@@ -5232,9 +5434,9 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.7.1"
+version = "2.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
 
 [[package]]
 name = "memmap2"
@@ -5278,7 +5480,7 @@ version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fde3af1a009ed76a778cb84fdef9e7dbbdf5775ae3e4cc1f434a6a307f6f76c5"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.11",
  "metrics-macros",
  "portable-atomic",
 ]
@@ -5289,9 +5491,9 @@ version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ddece26afd34c31585c74a4db0630c376df271c285d682d1e55012197830b6df"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -5374,9 +5576,9 @@ dependencies = [
 
 [[package]]
 name = "mlua"
-version = "0.9.6"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "868d02cb5eb97761bbf6bd6922c1c7a88b8ea252bbf43bd8350a0bf8497a1fc0"
+checksum = "e340c022072f3208a4105458286f4985ba5355bfe243c3073afe45cbe9ecf491"
 dependencies = [
  "bstr 1.9.1",
  "mlua-sys",
@@ -5388,9 +5590,9 @@ dependencies = [
 
 [[package]]
 name = "mlua-sys"
-version = "0.5.1"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2847b42764435201d8cbee1f517edb79c4cca4181877b90047587c89e1b7bce4"
+checksum = "5552e7e4e22ada0463dfdeee6caf6dc057a189fdc83136408a8f950a5e5c5540"
 dependencies = [
  "cc",
  "cfg-if",
@@ -5401,24 +5603,48 @@ dependencies = [
 
 [[package]]
 name = "mlua_derive"
-version = "0.9.2"
+version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaade5f94e5829db58791664ba98f35fea6a3ffebc783becb51dc97c7a21abee"
+checksum = "09697a6cec88e7f58a02c7ab5c18c611c6907c8654613df9cc0192658a4fb859"
 dependencies = [
  "itertools 0.12.1",
  "once_cell",
  "proc-macro-error",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "regex",
- "syn 2.0.53",
+ "syn 2.0.66",
 ]
 
 [[package]]
 name = "mock_instant"
-version = "0.3.2"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9366861eb2a2c436c20b12c8dbec5f798cea6b47ad99216be0282942e2c81ea0"
+checksum = "cdcebb6db83796481097dedc7747809243cc81d9ed83e6a938b76d4ea0b249cf"
+
+[[package]]
+name = "moka"
+version = "0.12.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e0d88686dc561d743b40de8269b26eaf0dc58781bde087b0984646602021d08"
+dependencies = [
+ "async-lock 3.4.0",
+ "async-trait",
+ "crossbeam-channel",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+ "event-listener 5.3.1",
+ "futures-util",
+ "once_cell",
+ "parking_lot",
+ "quanta 0.12.3",
+ "rustc_version 0.4.0",
+ "smallvec",
+ "tagptr",
+ "thiserror",
+ "triomphe",
+ "uuid",
+]
 
 [[package]]
 name = "mongodb"
@@ -5445,7 +5671,7 @@ dependencies = [
  "percent-encoding",
  "rand 0.8.5",
  "rustc_version_runtime",
- "rustls 0.21.8",
+ "rustls 0.21.11",
  "rustls-pemfile 1.0.3",
  "serde",
  "serde_bytes",
@@ -5464,7 +5690,7 @@ dependencies = [
  "trust-dns-resolver",
  "typed-builder 0.10.0",
  "uuid",
- "webpki-roots",
+ "webpki-roots 0.25.2",
 ]
 
 [[package]]
@@ -5473,10 +5699,10 @@ version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a15d522be0a9c3e46fd2632e272d178f56387bdb5c9fbb3a36c649062e9b5219"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "encoding_rs",
  "futures-util",
- "http 1.0.0",
+ "http 1.1.0",
  "httparse",
  "log",
  "memchr",
@@ -5605,7 +5831,7 @@ dependencies = [
  "data-encoding",
  "ed25519",
  "ed25519-dalek",
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
  "log",
  "rand 0.8.5",
  "signatory",
@@ -5613,15 +5839,14 @@ dependencies = [
 
 [[package]]
 name = "nkeys"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6eafe79aeb8066a6f1f84dc44c03ae97403013e946bf0b13626468e0d5e26c6f"
+checksum = "bc522a19199a0795776406619aa6aa78e1e55690fbeb3181b8db5265fd0e89ce"
 dependencies = [
- "byteorder",
  "data-encoding",
  "ed25519",
  "ed25519-dalek",
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
  "log",
  "rand 0.8.5",
  "signatory",
@@ -5795,9 +6020,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.18"
+version = "0.2.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
 dependencies = [
  "autocfg",
  "libm",
@@ -5809,7 +6034,7 @@ version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.3.3",
+ "hermit-abi",
  "libc",
 ]
 
@@ -5847,8 +6072,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
 dependencies = [
  "proc-macro-crate 1.3.1",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
@@ -5859,9 +6084,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6"
 dependencies = [
  "proc-macro-crate 1.3.1",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -5870,10 +6095,10 @@ version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
 dependencies = [
- "proc-macro-crate 2.0.0",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro-crate 3.1.0",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -5899,10 +6124,10 @@ checksum = "c38841cdd844847e3e7c8d29cef9dcfed8877f8f56f9071f77843ecf3baf937f"
 dependencies = [
  "base64 0.13.1",
  "chrono",
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
  "http 0.2.9",
  "rand 0.8.5",
- "reqwest",
+ "reqwest 0.11.26",
  "serde",
  "serde_json",
  "serde_path_to_error",
@@ -5930,6 +6155,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "octseq"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ed2eaec452d98ccc1c615dd843fd039d9445f2fb4da114ee7e6af5fcb68be98"
+dependencies = [
+ "bytes 1.6.0",
+ "serde",
+ "smallvec",
+]
+
+[[package]]
 name = "ofb"
 version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5988,18 +6224,18 @@ dependencies = [
  "async-trait",
  "backon",
  "base64 0.21.7",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
  "flagset",
  "futures 0.3.30",
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
  "http 0.2.9",
  "log",
  "md-5",
  "once_cell",
  "percent-encoding",
  "quick-xml",
- "reqwest",
+ "reqwest 0.11.26",
  "serde",
  "serde_json",
  "tokio",
@@ -6031,7 +6267,7 @@ dependencies = [
  "serde_json",
  "serde_path_to_error",
  "serde_plain",
- "serde_with 3.7.0",
+ "serde_with 3.8.1",
  "sha2",
  "subtle",
  "thiserror",
@@ -6059,9 +6295,9 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -6072,9 +6308,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-src"
-version = "300.2.3+3.2.1"
+version = "300.3.1+3.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843"
+checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91"
 dependencies = [
  "cc",
 ]
@@ -6096,13 +6332,13 @@ dependencies = [
 name = "opentelemetry-proto"
 version = "0.1.0"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
  "hex",
  "ordered-float 4.2.0",
- "prost 0.12.3",
- "prost-build 0.12.3",
- "tonic",
+ "prost 0.12.6",
+ "prost-build 0.12.6",
+ "tonic 0.10.2",
  "tonic-build 0.10.2",
  "vector-core",
  "vector-lookup",
@@ -6144,9 +6380,9 @@ dependencies = [
 
 [[package]]
 name = "os_info"
-version = "3.8.1"
+version = "3.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6cbb46d5d01695d7a1fb8be5f0d1968bd2b2b8ba1d1b3e7062ce2a0593e57af1"
+checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092"
 dependencies = [
  "log",
  "windows-sys 0.52.0",
@@ -6176,6 +6412,12 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 
 [[package]]
 name = "owo-colors"
+version = "3.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
+
+[[package]]
+name = "owo-colors"
 version = "4.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f"
@@ -6224,9 +6466,9 @@ checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[package]]
 name = "parking_lot"
-version = "0.12.1"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
 dependencies = [
  "lock_api",
  "parking_lot_core",
@@ -6262,9 +6504,9 @@ checksum = "13242a5ce97f39a8095d03c8b273e91d09f2690c0b7d69a2af844941115bab24"
 
 [[package]]
 name = "paste"
-version = "1.0.14"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
 
 [[package]]
 name = "pbkdf2"
@@ -6317,9 +6559,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pest"
-version = "2.7.7"
+version = "2.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546"
+checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8"
 dependencies = [
  "memchr",
  "thiserror",
@@ -6344,9 +6586,9 @@ checksum = "1381c29a877c6d34b8c176e734f35d7f7f5b3adaefe940cb4d1bb7af94678e2e"
 dependencies = [
  "pest",
  "pest_meta",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -6367,7 +6609,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
 dependencies = [
  "fixedbitset",
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
 ]
 
 [[package]]
@@ -6432,16 +6674,16 @@ version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.13"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
 
 [[package]]
 name = "pin-utils"
@@ -6582,9 +6824,9 @@ dependencies = [
 
 [[package]]
 name = "portable-atomic"
-version = "1.5.1"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b"
+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
 
 [[package]]
 name = "portpicker"
@@ -6614,7 +6856,7 @@ checksum = "49b6c5ef183cd3ab4ba005f1ca64c21e8bd97ce4699cfea9e8d9a2c4958ca520"
 dependencies = [
  "base64 0.21.7",
  "byteorder",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "fallible-iterator",
  "hmac",
  "md-5",
@@ -6630,7 +6872,7 @@ version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8d2234cdee9408b523530a9b6d2d6b373d1db34f6a8e51dc03ded1828d7fb67c"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
  "fallible-iterator",
  "postgres-protocol",
@@ -6684,14 +6926,13 @@ dependencies = [
 
 [[package]]
 name = "prettydiff"
-version = "0.6.4"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ff1fec61082821f8236cf6c0c14e8172b62ce8a72a0eedc30d3b247bb68dc11"
+checksum = "abec3fb083c10660b3854367697da94c674e9e82aa7511014dc958beeb7215e9"
 dependencies = [
- "ansi_term",
+ "owo-colors 3.5.0",
  "pad",
  "prettytable-rs",
- "structopt",
 ]
 
 [[package]]
@@ -6700,7 +6941,7 @@ version = "0.1.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86"
 dependencies = [
- "proc-macro2 1.0.79",
+ "proc-macro2 1.0.85",
  "syn 1.0.109",
 ]
 
@@ -6710,8 +6951,8 @@ version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d"
 dependencies = [
- "proc-macro2 1.0.79",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -6757,14 +6998,23 @@ dependencies = [
 ]
 
 [[package]]
+name = "proc-macro-crate"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
+dependencies = [
+ "toml_edit 0.21.1",
+]
+
+[[package]]
 name = "proc-macro-error"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
 dependencies = [
  "proc-macro-error-attr",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
  "version_check",
 ]
@@ -6775,8 +7025,8 @@ version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "version_check",
 ]
 
@@ -6803,9 +7053,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.79"
+version = "1.0.85"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
+checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23"
 dependencies = [
  "unicode-ident",
 ]
@@ -6814,12 +7064,12 @@ dependencies = [
 name = "prometheus-parser"
 version = "0.1.0"
 dependencies = [
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "nom",
  "num_enum 0.7.2",
- "prost 0.12.3",
- "prost-build 0.12.3",
- "prost-types 0.12.3",
+ "prost 0.12.6",
+ "prost-build 0.12.6",
+ "prost-types 0.12.6",
  "snafu 0.7.5",
  "vector-common",
 ]
@@ -6850,8 +7100,8 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9cf16337405ca084e9c78985114633b6827711d22b9e6ef6c6c0d665eb3f0b6e"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
@@ -6861,18 +7111,18 @@ version = "0.11.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "prost-derive 0.11.9",
 ]
 
 [[package]]
 name = "prost"
-version = "0.12.3"
+version = "0.12.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a"
+checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29"
 dependencies = [
- "bytes 1.5.0",
- "prost-derive 0.12.3",
+ "bytes 1.6.0",
+ "prost-derive 0.12.6",
 ]
 
 [[package]]
@@ -6881,7 +7131,7 @@ version = "0.11.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "heck 0.4.1",
  "itertools 0.10.5",
  "lazy_static",
@@ -6899,24 +7149,23 @@ dependencies = [
 
 [[package]]
 name = "prost-build"
-version = "0.12.3"
+version = "0.12.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2"
+checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4"
 dependencies = [
- "bytes 1.5.0",
- "heck 0.4.1",
- "itertools 0.11.0",
+ "bytes 1.6.0",
+ "heck 0.5.0",
+ "itertools 0.12.1",
  "log",
  "multimap",
  "once_cell",
  "petgraph",
  "prettyplease 0.2.15",
- "prost 0.12.3",
- "prost-types 0.12.3",
+ "prost 0.12.6",
+ "prost-types 0.12.6",
  "regex",
- "syn 2.0.53",
+ "syn 2.0.66",
  "tempfile",
- "which 4.4.2",
 ]
 
 [[package]]
@@ -6927,34 +7176,34 @@ checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
 dependencies = [
  "anyhow",
  "itertools 0.10.5",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "prost-derive"
-version = "0.12.3"
+version = "0.12.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e"
+checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1"
 dependencies = [
  "anyhow",
- "itertools 0.11.0",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "itertools 0.12.1",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
 name = "prost-reflect"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ae9372e3227f3685376a0836e5c248611eafc95a0be900d44bc6cdf225b700f"
+checksum = "6f5eec97d5d34bdd17ad2db2219aabf46b054c6c41bd5529767c9ce55be5898f"
 dependencies = [
- "base64 0.21.7",
+ "base64 0.22.1",
  "once_cell",
- "prost 0.12.3",
- "prost-types 0.12.3",
+ "prost 0.12.6",
+ "prost-types 0.12.6",
  "serde",
  "serde-value",
 ]
@@ -6970,11 +7219,11 @@ dependencies = [
 
 [[package]]
 name = "prost-types"
-version = "0.12.3"
+version = "0.12.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e"
+checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0"
 dependencies = [
- "prost 0.12.3",
+ "prost 0.12.6",
 ]
 
 [[package]]
@@ -7007,20 +7256,30 @@ version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
 [[package]]
+name = "publicsuffix"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457"
+dependencies = [
+ "idna 0.3.0",
+ "psl-types",
+]
+
+[[package]]
 name = "pulsar"
-version = "6.1.0"
+version = "6.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d21c6a837986cf25d22ac5b951c267d95808f3c830ff009c2879fff259a0268"
+checksum = "d7f3541ff84e39da334979ac4bf171e0f277f4f782603aeae65bf5795dc7275a"
 dependencies = [
  "async-trait",
  "bit-vec",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
  "crc",
  "data-url",
@@ -7075,9 +7334,9 @@ dependencies = [
 
 [[package]]
 name = "quanta"
-version = "0.12.2"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ca0b7bac0b97248c40bb77288fc52029cf1459c0461ea1b05ee32ccf011de2c"
+checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5"
 dependencies = [
  "crossbeam-utils",
  "libc",
@@ -7121,8 +7380,8 @@ version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
@@ -7137,11 +7396,11 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.35"
+version = "1.0.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
 dependencies = [
- "proc-macro2 1.0.79",
+ "proc-macro2 1.0.85",
 ]
 
 [[package]]
@@ -7225,7 +7484,7 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
 ]
 
 [[package]]
@@ -7258,21 +7517,21 @@ dependencies = [
 
 [[package]]
 name = "ratatui"
-version = "0.26.1"
+version = "0.26.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcb12f8fbf6c62614b0d56eb352af54f6a22410c3b079eb53ee93c7b97dd31d8"
+checksum = "f44c9e68fd46eda15c646fbb85e1040b657a58cdc8c98db1d97a55930d991eef"
 dependencies = [
  "bitflags 2.4.1",
  "cassowary",
  "compact_str",
  "crossterm",
- "indoc",
  "itertools 0.12.1",
  "lru",
  "paste",
  "stability",
- "strum 0.26.1",
+ "strum 0.26.2",
  "unicode-segmentation",
+ "unicode-truncate",
  "unicode-width",
 ]
 
@@ -7379,7 +7638,7 @@ checksum = "c580d9cbbe1d1b479e8d67cf9daf6a62c957e6846048408b80b43ac3f6af84cd"
 dependencies = [
  "arc-swap",
  "async-trait",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "combine 4.6.6",
  "futures 0.3.30",
  "futures-util",
@@ -7428,16 +7687,16 @@ version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
 dependencies = [
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
  "redox_syscall 0.2.16",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.10.3"
+version = "1.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -7511,7 +7770,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "78bf93c4af7a8bb7d879d51cebe797356ff10ae8516ace542b5182d9dcac10b2"
 dependencies = [
  "base64 0.21.7",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "encoding_rs",
  "futures-core",
  "futures-util",
@@ -7529,7 +7788,7 @@ dependencies = [
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
- "rustls 0.21.8",
+ "rustls 0.21.11",
  "rustls-pemfile 1.0.3",
  "serde",
  "serde_json",
@@ -7546,8 +7805,52 @@ dependencies = [
  "wasm-bindgen-futures",
  "wasm-streams",
  "web-sys",
- "webpki-roots",
- "winreg",
+ "webpki-roots 0.25.2",
+ "winreg 0.50.0",
+]
+
+[[package]]
+name = "reqwest"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
+dependencies = [
+ "base64 0.22.1",
+ "bytes 1.6.0",
+ "futures-core",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "http-body-util",
+ "hyper 1.2.0",
+ "hyper-rustls 0.26.0",
+ "hyper-util",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "mime_guess",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustls 0.22.4",
+ "rustls-pemfile 2.1.0",
+ "rustls-pki-types",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "sync_wrapper",
+ "tokio",
+ "tokio-rustls 0.25.0",
+ "tokio-util",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wasm-streams",
+ "web-sys",
+ "webpki-roots 0.26.1",
+ "winreg 0.52.0",
 ]
 
 [[package]]
@@ -7556,7 +7859,7 @@ version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00"
 dependencies = [
- "hostname",
+ "hostname 0.3.1",
  "quick-error",
 ]
 
@@ -7583,7 +7886,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
 dependencies = [
  "cc",
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
  "libc",
  "spin 0.9.8",
  "untrusted",
@@ -7598,7 +7901,7 @@ checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0"
 dependencies = [
  "bitvec",
  "bytecheck",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "hashbrown 0.12.3",
  "ptr_meta",
  "rend",
@@ -7614,8 +7917,8 @@ version = "0.7.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
@@ -7627,9 +7930,9 @@ checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422"
 
 [[package]]
 name = "rmp"
-version = "0.8.12"
+version = "0.8.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20"
+checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4"
 dependencies = [
  "byteorder",
  "num-traits",
@@ -7638,9 +7941,9 @@ dependencies = [
 
 [[package]]
 name = "rmp-serde"
-version = "1.1.2"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bffea85eea980d8a74453e5d02a8d93028f3c34725de143085a844ebe953258a"
+checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db"
 dependencies = [
  "byteorder",
  "rmp",
@@ -7649,9 +7952,9 @@ dependencies = [
 
 [[package]]
 name = "rmpv"
-version = "1.0.1"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e0e0214a4a2b444ecce41a4025792fc31f77c7bb89c46d253953ea8c65701ec"
+checksum = "58450723cd9ee93273ce44a20b6ec4efe17f8ed2e3631474387bfdecf18bb2a9"
 dependencies = [
  "num-traits",
  "rmp",
@@ -7661,15 +7964,19 @@ dependencies = [
 
 [[package]]
 name = "roaring"
-version = "0.10.3"
+version = "0.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1c77081a55300e016cb86f2864415b7518741879db925b8d488a0ee0d2da6bf"
+checksum = "7699249cc2c7d71939f30868f47e9d7add0bdc030d90ee10bfd16887ff8bb1c8"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+]
 
 [[package]]
 name = "roxmltree"
-version = "0.19.0"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
+checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97"
 
 [[package]]
 name = "rsa"
@@ -7693,9 +8000,9 @@ dependencies = [
 
 [[package]]
 name = "rstest"
-version = "0.18.2"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199"
+checksum = "9afd55a67069d6e434a95161415f5beeada95a01c7b815508a82dcb0e1593682"
 dependencies = [
  "futures 0.3.30",
  "futures-timer",
@@ -7705,18 +8012,19 @@ dependencies = [
 
 [[package]]
 name = "rstest_macros"
-version = "0.18.2"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"
+checksum = "4165dfae59a39dd41d8dec720d3cbfbc71f69744efb480a3920f5d4e0cc6798d"
 dependencies = [
  "cfg-if",
  "glob",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro-crate 3.1.0",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "regex",
  "relative-path",
  "rustc_version 0.4.0",
- "syn 2.0.53",
+ "syn 2.0.66",
  "unicode-ident",
 ]
 
@@ -7726,7 +8034,7 @@ version = "0.24.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1568e15fab2d546f940ed3a21f48bbbd1c494c90c99c4481339364a497f94a9"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "flume 0.11.0",
  "futures-util",
  "log",
@@ -7746,7 +8054,7 @@ checksum = "06676aec5ccb8fc1da723cc8c0f9a46549f21ebb8753d3915c6c41db1e7f1dc4"
 dependencies = [
  "arrayvec",
  "borsh",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "num-traits",
  "rand 0.8.5",
  "rkyv",
@@ -7781,7 +8089,7 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
 dependencies = [
- "semver 1.0.22",
+ "semver 1.0.23",
 ]
 
 [[package]]
@@ -7823,9 +8131,9 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.21.8"
+version = "0.21.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c"
+checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4"
 dependencies = [
  "log",
  "ring",
@@ -7835,9 +8143,9 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.22.2"
+version = "0.22.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41"
+checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
 dependencies = [
  "log",
  "ring",
@@ -7957,9 +8265,9 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.17"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
 
 [[package]]
 name = "salsa20"
@@ -7981,9 +8289,9 @@ dependencies = [
 
 [[package]]
 name = "sasl2-sys"
-version = "0.1.20+2.1.28"
+version = "0.1.22+2.1.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e645bd98535fc8fd251c43ba7c7c1f9be1e0369c99b6a5ea719052a773e655c"
+checksum = "05f2a7f7efd9fc98b3a9033272df10709f5ee3fa0eabbd61a527a3a1ed6bd3c6"
 dependencies = [
  "cc",
  "duct",
@@ -8064,9 +8372,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework"
-version = "2.9.2"
+version = "2.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation",
@@ -8077,9 +8385,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.9.1"
+version = "2.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -8096,9 +8404,9 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.22"
+version = "1.0.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
 dependencies = [
  "serde",
 ]
@@ -8111,18 +8419,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 
 [[package]]
 name = "serde"
-version = "1.0.197"
+version = "1.0.203"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde-toml-merge"
-version = "0.3.6"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88075e75b01384301454b1c188243552c674263c0c0c3c7ed5dd82291b20798f"
+checksum = "93b4e415d6bff989e5e48649ca9b8b4d4997cb069a0c90a84bfd38c7df5e3968"
 dependencies = [
  "toml",
 ]
@@ -8159,33 +8467,33 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.197"
+version = "1.0.203"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
 name = "serde_derive_internals"
-version = "0.29.0"
+version = "0.29.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "330f01ce65a3a5fe59a60c82f3c9a024b573b8a6e875bd233fe5f934e71d54e3"
+checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.114"
+version = "1.0.117"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
+checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
 dependencies = [
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "itoa",
  "ryu",
  "serde",
@@ -8236,16 +8544,16 @@ version = "0.1.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.5"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
 dependencies = [
  "serde",
 ]
@@ -8274,19 +8582,19 @@ dependencies = [
 
 [[package]]
 name = "serde_with"
-version = "3.7.0"
+version = "3.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a"
+checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20"
 dependencies = [
- "base64 0.21.7",
+ "base64 0.22.1",
  "chrono",
  "hex",
  "indexmap 1.9.3",
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "serde",
  "serde_derive",
  "serde_json",
- "serde_with_macros 3.7.0",
+ "serde_with_macros 3.8.1",
  "time",
 ]
 
@@ -8297,21 +8605,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082"
 dependencies = [
  "darling 0.13.4",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "serde_with_macros"
-version = "3.7.0"
+version = "3.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655"
+checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2"
 dependencies = [
  "darling 0.20.8",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -8328,11 +8636,11 @@ dependencies = [
 
 [[package]]
 name = "serde_yaml"
-version = "0.9.33"
+version = "0.9.34+deprecated"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0623d197252096520c6f2a5e1171ee436e5af99a5d7caa2891e55e61950e6d9"
+checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
 dependencies = [
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "itoa",
  "ryu",
  "serde",
@@ -8576,8 +8884,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf"
 dependencies = [
  "heck 0.4.1",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
@@ -8588,9 +8896,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "080c44971436b1af15d6f61ddd8b543995cf63ab8e677d46b00cc06f4ef267a0"
 dependencies = [
  "heck 0.4.1",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -8611,9 +8919,9 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.5.6"
+version = "0.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
+checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
 dependencies = [
  "libc",
  "windows-sys 0.52.0",
@@ -8635,6 +8943,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "spinning_top"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300"
+dependencies = [
+ "lock_api",
+]
+
+[[package]]
 name = "spki"
 version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8646,15 +8963,21 @@ dependencies = [
 
 [[package]]
 name = "stability"
-version = "0.1.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebd1b177894da2a2d9120208c3386066af06a488255caabc5de8ddca22dbc3ce"
+checksum = "2ff9eaf853dec4c8802325d8b6d3dffa86cc707fd7a1a4cdbf416e13b061787a"
 dependencies = [
- "quote 1.0.35",
- "syn 1.0.109",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[package]]
 name = "static_assertions"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8712,12 +9035,6 @@ dependencies = [
 
 [[package]]
 name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
-[[package]]
-name = "strsim"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
@@ -8729,30 +9046,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
 
 [[package]]
-name = "structopt"
-version = "0.3.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10"
-dependencies = [
- "clap 2.34.0",
- "lazy_static",
- "structopt-derive",
-]
-
-[[package]]
-name = "structopt-derive"
-version = "0.4.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
-dependencies = [
- "heck 0.3.3",
- "proc-macro-error",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "strum"
 version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8760,9 +9053,9 @@ checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
 
 [[package]]
 name = "strum"
-version = "0.26.1"
+version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f"
+checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
 dependencies = [
  "strum_macros 0.26.1",
 ]
@@ -8774,10 +9067,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
 dependencies = [
  "heck 0.4.1",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "rustversion",
- "syn 2.0.53",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -8787,10 +9080,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18"
 dependencies = [
  "heck 0.4.1",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "rustversion",
- "syn 2.0.53",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -8826,19 +9119,19 @@ version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "unicode-ident",
 ]
 
 [[package]]
 name = "syn"
-version = "2.0.53"
+version = "2.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032"
+checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "unicode-ident",
 ]
 
@@ -8849,9 +9142,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b"
 dependencies = [
  "proc-macro-error",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -8861,13 +9154,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
 
 [[package]]
+name = "synstructure"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
+dependencies = [
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
+]
+
+[[package]]
 name = "syslog"
-version = "6.1.0"
+version = "6.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7434e95bcccce1215d30f4bf84fe8c00e8de1b9be4fb736d747ca53d36e7f96f"
+checksum = "dfc7e95b5b795122fafe6519e27629b5ab4232c73ebb2428f568e82b1a457ad3"
 dependencies = [
  "error-chain",
- "hostname",
+ "hostname 0.3.1",
  "libc",
  "log",
  "time",
@@ -8905,6 +9209,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "tagptr"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
+
+[[package]]
 name = "take_mut"
 version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8929,9 +9239,9 @@ dependencies = [
 
 [[package]]
 name = "temp-dir"
-version = "0.1.12"
+version = "0.1.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6"
+checksum = "1f227968ec00f0e5322f9b8173c7a0cbcff6181a0a5b28e9892491c286277231"
 
 [[package]]
 name = "tempfile"
@@ -8994,32 +9304,23 @@ dependencies = [
 ]
 
 [[package]]
-name = "textwrap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "unicode-width",
-]
-
-[[package]]
 name = "thiserror"
-version = "1.0.58"
+version = "1.0.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
+checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.58"
+version = "1.0.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
+checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -9094,6 +9395,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "tinystr"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
+dependencies = [
+ "displaydoc",
+ "zerovec",
+]
+
+[[package]]
 name = "tinytemplate"
 version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9120,19 +9431,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.36.0"
+version = "1.38.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
+checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a"
 dependencies = [
  "backtrace",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "libc",
  "mio",
  "num_cpus",
  "parking_lot",
  "pin-project-lite",
  "signal-hook-registry",
- "socket2 0.5.6",
+ "socket2 0.5.7",
  "tokio-macros",
  "tracing 0.1.40",
  "windows-sys 0.48.0",
@@ -9161,13 +9472,13 @@ dependencies = [
 
 [[package]]
 name = "tokio-macros"
-version = "2.2.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
+checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -9200,7 +9511,7 @@ checksum = "d340244b32d920260ae7448cb72b6e238bddc3d4f7603394e7dd46ed8e48f5b8"
 dependencies = [
  "async-trait",
  "byteorder",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "fallible-iterator",
  "futures-channel",
  "futures-util",
@@ -9212,7 +9523,7 @@ dependencies = [
  "postgres-protocol",
  "postgres-types",
  "rand 0.8.5",
- "socket2 0.5.6",
+ "socket2 0.5.7",
  "tokio",
  "tokio-util",
  "whoami",
@@ -9235,7 +9546,7 @@ version = "0.24.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
 dependencies = [
- "rustls 0.21.8",
+ "rustls 0.21.11",
  "tokio",
 ]
 
@@ -9245,7 +9556,7 @@ version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
 dependencies = [
- "rustls 0.22.2",
+ "rustls 0.22.4",
  "rustls-pki-types",
  "tokio",
 ]
@@ -9269,7 +9580,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2468baabc3311435b55dd935f702f42cd1b8abb7e754fb7dfb16bd36aa88f9f7"
 dependencies = [
  "async-stream",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures-core",
  "tokio",
  "tokio-stream",
@@ -9283,9 +9594,21 @@ checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c"
 dependencies = [
  "futures-util",
  "log",
- "rustls 0.21.8",
+ "rustls 0.21.11",
  "tokio",
- "tungstenite",
+ "tungstenite 0.20.1",
+]
+
+[[package]]
+name = "tokio-tungstenite"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38"
+dependencies = [
+ "futures-util",
+ "log",
+ "tokio",
+ "tungstenite 0.21.0",
 ]
 
 [[package]]
@@ -9293,7 +9616,7 @@ name = "tokio-util"
 version = "0.7.8"
 source = "git+https://github.com/vectordotdev/tokio?branch=tokio-util-0.7.8-framed-read-continue-on-error#3747655f8f0443e13fe20da3f613ea65c23347c2"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures-core",
  "futures-io",
  "futures-sink",
@@ -9305,21 +9628,21 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.8.12"
+version = "0.8.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
+checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.22.8",
+ "toml_edit 0.22.14",
 ]
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.5"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
 dependencies = [
  "serde",
 ]
@@ -9330,7 +9653,7 @@ version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "toml_datetime",
  "winnow 0.5.18",
 ]
@@ -9341,18 +9664,29 @@ version = "0.20.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
 dependencies = [
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
+ "toml_datetime",
+ "winnow 0.5.18",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+dependencies = [
+ "indexmap 2.2.6",
  "toml_datetime",
  "winnow 0.5.18",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.22.8"
+version = "0.22.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c12219811e0c1ba077867254e5ad62ee2c9c190b0d957110750ac0cda1ae96cd"
+checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38"
 dependencies = [
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "serde",
  "serde_spanned",
  "toml_datetime",
@@ -9369,7 +9703,7 @@ dependencies = [
  "async-trait",
  "axum",
  "base64 0.21.7",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "flate2",
  "h2 0.3.26",
  "http 0.2.9",
@@ -9378,8 +9712,8 @@ dependencies = [
  "hyper-timeout",
  "percent-encoding",
  "pin-project",
- "prost 0.12.3",
- "rustls 0.21.8",
+ "prost 0.12.6",
+ "rustls 0.21.11",
  "rustls-native-certs 0.6.3",
  "rustls-pemfile 1.0.3",
  "tokio",
@@ -9392,15 +9726,42 @@ dependencies = [
 ]
 
 [[package]]
+name = "tonic"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13"
+dependencies = [
+ "async-stream",
+ "async-trait",
+ "axum",
+ "base64 0.21.7",
+ "bytes 1.6.0",
+ "h2 0.3.26",
+ "http 0.2.9",
+ "http-body 0.4.5",
+ "hyper 0.14.28",
+ "hyper-timeout",
+ "percent-encoding",
+ "pin-project",
+ "prost 0.12.6",
+ "tokio",
+ "tokio-stream",
+ "tower",
+ "tower-layer",
+ "tower-service",
+ "tracing 0.1.40",
+]
+
+[[package]]
 name = "tonic-build"
 version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a6fdaae4c2c638bb70fe42803a26fbd6fc6ac8c72f5c59f67ecc2a2dcabf4b07"
 dependencies = [
  "prettyplease 0.1.25",
- "proc-macro2 1.0.79",
+ "proc-macro2 1.0.85",
  "prost-build 0.11.9",
- "quote 1.0.35",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
@@ -9411,10 +9772,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889"
 dependencies = [
  "prettyplease 0.2.15",
- "proc-macro2 1.0.79",
- "prost-build 0.12.3",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "prost-build 0.12.6",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -9446,7 +9807,7 @@ dependencies = [
  "async-compression",
  "base64 0.21.7",
  "bitflags 2.4.1",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures-core",
  "futures-util",
  "http 0.2.9",
@@ -9515,9 +9876,9 @@ version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -9644,6 +10005,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "triomphe"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b2cb4fbb9995eeb36ac86fadf24031ccd58f99d6b4b2d7b911db70bddb80d90"
+
+[[package]]
 name = "trust-dns-proto"
 version = "0.21.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9701,7 +10068,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9"
 dependencies = [
  "byteorder",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "data-encoding",
  "http 0.2.9",
  "httparse",
@@ -9714,6 +10081,25 @@ dependencies = [
 ]
 
 [[package]]
+name = "tungstenite"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1"
+dependencies = [
+ "byteorder",
+ "bytes 1.6.0",
+ "data-encoding",
+ "http 1.1.0",
+ "httparse",
+ "log",
+ "rand 0.8.5",
+ "sha1",
+ "thiserror",
+ "url",
+ "utf-8",
+]
+
+[[package]]
 name = "twox-hash"
 version = "1.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9729,8 +10115,8 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "89851716b67b937e393b3daa8423e67ddfc4bbbf1654bcf05488e95e0828db0c"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "syn 1.0.109",
 ]
 
@@ -9749,9 +10135,9 @@ version = "0.16.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f03ca4cb38206e2bef0700092660bb74d696f808514dae47fa1467cbfe26e96e"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -9779,9 +10165,9 @@ version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ac73887f47b9312552aa90ef477927ff014d63d1920ca8037c6c1951eab64bb1"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
 ]
 
 [[package]]
@@ -9856,6 +10242,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
+name = "unicode-truncate"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a5fbabedabe362c618c714dbefda9927b5afc8e2a8102f47f081089a9019226"
+dependencies = [
+ "itertools 0.12.1",
+ "unicode-width",
+]
+
+[[package]]
 name = "unicode-width"
 version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9917,12 +10313,12 @@ dependencies = [
 
 [[package]]
 name = "url"
-version = "2.5.0"
+version = "2.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56"
 dependencies = [
  "form_urlencoded",
- "idna 0.5.0",
+ "idna 1.0.0",
  "percent-encoding",
  "serde",
 ]
@@ -9940,12 +10336,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
 
 [[package]]
+name = "utf16_iter"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
+
+[[package]]
 name = "utf8-width"
 version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3"
 
 [[package]]
+name = "utf8_iter"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
+
+[[package]]
 name = "utf8parse"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9958,7 +10366,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
 dependencies = [
  "atomic",
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
  "rand 0.8.5",
  "serde",
  "wasm-bindgen",
@@ -9981,9 +10389,8 @@ name = "vdev"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "cached",
  "chrono",
- "clap 4.5.3",
+ "clap",
  "clap-verbosity-flag",
  "clap_complete",
  "confy",
@@ -9991,33 +10398,27 @@ dependencies = [
  "dunce",
  "glob",
  "hex",
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "indicatif",
- "itertools 0.12.1",
+ "itertools 0.13.0",
  "log",
  "once_cell",
  "os_info",
- "owo-colors",
+ "owo-colors 4.0.0",
  "paste",
  "regex",
- "reqwest",
+ "reqwest 0.11.26",
  "serde",
  "serde_json",
- "serde_yaml 0.9.33",
+ "serde_yaml 0.9.34+deprecated",
  "sha2",
  "tempfile",
  "toml",
 ]
 
 [[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
-[[package]]
 name = "vector"
-version = "0.37.1"
+version = "0.39.0"
 dependencies = [
  "apache-avro",
  "approx",
@@ -10038,6 +10439,7 @@ dependencies = [
  "aws-sdk-firehose",
  "aws-sdk-kinesis",
  "aws-sdk-s3",
+ "aws-sdk-secretsmanager",
  "aws-sdk-sns",
  "aws-sdk-sqs",
  "aws-sdk-sts",
@@ -10053,20 +10455,21 @@ dependencies = [
  "azure_identity",
  "azure_storage",
  "azure_storage_blobs",
- "base64 0.22.0",
+ "base64 0.22.1",
  "bloomy",
  "bollard",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "bytesize",
  "chrono",
  "chrono-tz",
  "cidr-utils 0.6.1",
- "clap 4.5.3",
+ "clap",
  "colored",
  "console-subscriber",
  "criterion",
  "crossterm",
  "csv",
+ "databend-client",
  "derivative",
  "dirs-next",
  "dnsmsg-parser",
@@ -10083,26 +10486,26 @@ dependencies = [
  "governor",
  "greptimedb-client",
  "grok",
- "h2 0.4.4",
+ "h2 0.4.5",
  "hash_hasher",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
  "headers",
  "heim",
  "hex",
  "hickory-proto",
- "hostname",
+ "hostname 0.4.0",
  "http 0.2.9",
  "http-body 0.4.5",
  "http-serde",
  "hyper 0.14.28",
  "hyper-openssl",
  "hyper-proxy",
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "indoc",
- "infer 0.15.0",
+ "infer 0.16.0",
  "inventory",
  "ipnet",
- "itertools 0.12.1",
+ "itertools 0.13.0",
  "k8s-openapi 0.18.0",
  "kube",
  "lapin",
@@ -10118,7 +10521,7 @@ dependencies = [
  "mlua",
  "mongodb",
  "nix 0.26.2",
- "nkeys 0.4.0",
+ "nkeys 0.4.1",
  "nom",
  "notify",
  "num-format",
@@ -10135,10 +10538,11 @@ dependencies = [
  "portpicker",
  "postgres-openssl",
  "proptest",
- "prost 0.12.3",
- "prost-build 0.12.3",
+ "proptest-derive",
+ "prost 0.12.6",
+ "prost-build 0.12.6",
  "prost-reflect",
- "prost-types 0.12.3",
+ "prost-types 0.12.6",
  "pulsar",
  "quickcheck",
  "rand 0.8.5",
@@ -10147,27 +10551,26 @@ dependencies = [
  "rdkafka",
  "redis",
  "regex",
- "reqwest",
+ "reqwest 0.11.26",
  "rmp-serde",
  "rmpv",
  "roaring",
  "rstest",
  "rumqttc",
  "seahash",
- "semver 1.0.22",
+ "semver 1.0.23",
  "serde",
  "serde-toml-merge",
  "serde_bytes",
  "serde_json",
- "serde_with 3.7.0",
- "serde_yaml 0.9.33",
- "sha2",
+ "serde_with 3.8.1",
+ "serde_yaml 0.9.34+deprecated",
  "similar-asserts",
  "smallvec",
  "smpl_jwt",
  "snafu 0.7.5",
  "snap",
- "socket2 0.5.6",
+ "socket2 0.5.7",
  "stream-cancel",
  "strip-ansi-escapes",
  "syslog",
@@ -10179,10 +10582,10 @@ dependencies = [
  "tokio-postgres",
  "tokio-stream",
  "tokio-test",
- "tokio-tungstenite",
+ "tokio-tungstenite 0.20.1",
  "tokio-util",
  "toml",
- "tonic",
+ "tonic 0.10.2",
  "tonic-build 0.10.2",
  "tower",
  "tower-http",
@@ -10210,18 +10613,17 @@ name = "vector-api-client"
 version = "0.1.2"
 dependencies = [
  "anyhow",
- "async-trait",
  "chrono",
- "clap 4.5.3",
+ "clap",
  "futures 0.3.30",
  "graphql_client",
  "indoc",
- "reqwest",
+ "reqwest 0.11.26",
  "serde",
  "serde_json",
  "tokio",
  "tokio-stream",
- "tokio-tungstenite",
+ "tokio-tungstenite 0.20.1",
  "url",
  "uuid",
 ]
@@ -10234,8 +10636,8 @@ dependencies = [
  "async-stream",
  "async-trait",
  "bytecheck",
- "bytes 1.5.0",
- "clap 4.5.3",
+ "bytes 1.6.0",
+ "clap",
  "crc32fast",
  "criterion",
  "crossbeam-queue",
@@ -10257,7 +10659,7 @@ dependencies = [
  "rand 0.8.5",
  "rkyv",
  "serde",
- "serde_yaml 0.9.33",
+ "serde_yaml 0.9.34+deprecated",
  "snafu 0.7.5",
  "temp-dir",
  "tokio",
@@ -10277,13 +10679,13 @@ name = "vector-common"
 version = "0.1.0"
 dependencies = [
  "async-stream",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
  "chrono-tz",
  "crossbeam-utils",
  "derivative",
  "futures 0.3.30",
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "metrics",
  "nom",
  "ordered-float 4.2.0",
@@ -10314,13 +10716,13 @@ dependencies = [
  "chrono-tz",
  "encoding_rs",
  "http 0.2.9",
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "inventory",
  "no-proxy",
  "num-traits",
  "serde",
  "serde_json",
- "serde_with 3.7.0",
+ "serde_with 3.8.1",
  "snafu 0.7.5",
  "toml",
  "tracing 0.1.40",
@@ -10338,11 +10740,11 @@ dependencies = [
  "convert_case 0.6.0",
  "darling 0.20.8",
  "once_cell",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "serde",
  "serde_json",
- "syn 2.0.53",
+ "syn 2.0.66",
  "tracing 0.1.40",
 ]
 
@@ -10351,11 +10753,11 @@ name = "vector-config-macros"
 version = "0.1.0"
 dependencies = [
  "darling 0.20.8",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
  "serde",
  "serde_derive_internals",
- "syn 2.0.53",
+ "syn 2.0.66",
  "vector-config",
  "vector-config-common",
 ]
@@ -10366,9 +10768,9 @@ version = "0.1.0"
 dependencies = [
  "async-graphql",
  "async-trait",
- "base64 0.22.0",
+ "base64 0.22.1",
  "bitmask-enum",
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "chrono",
  "chrono-tz",
  "criterion",
@@ -10384,7 +10786,7 @@ dependencies = [
  "headers",
  "http 0.2.9",
  "hyper-proxy",
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "ipnet",
  "metrics",
  "metrics-tracing-context",
@@ -10400,10 +10802,10 @@ dependencies = [
  "parking_lot",
  "pin-project",
  "proptest",
- "prost 0.12.3",
- "prost-build 0.12.3",
- "prost-types 0.12.3",
- "quanta 0.12.2",
+ "prost 0.12.6",
+ "prost-build 0.12.6",
+ "prost-types 0.12.6",
+ "quanta 0.12.3",
  "quickcheck",
  "quickcheck_macros",
  "rand 0.8.5",
@@ -10414,19 +10816,19 @@ dependencies = [
  "security-framework",
  "serde",
  "serde_json",
- "serde_with 3.7.0",
- "serde_yaml 0.9.33",
+ "serde_with 3.8.1",
+ "serde_yaml 0.9.34+deprecated",
  "similar-asserts",
  "smallvec",
  "snafu 0.7.5",
- "socket2 0.5.6",
+ "socket2 0.5.7",
  "tokio",
  "tokio-openssl",
  "tokio-stream",
  "tokio-test",
  "tokio-util",
  "toml",
- "tonic",
+ "tonic 0.10.2",
  "tracing 0.1.40",
  "tracing-core 0.1.32",
  "tracing-subscriber",
@@ -10495,7 +10897,7 @@ dependencies = [
 name = "vector-vrl-cli"
 version = "0.1.0"
 dependencies = [
- "clap 4.5.3",
+ "clap",
  "vector-vrl-functions",
  "vrl",
 ]
@@ -10514,7 +10916,7 @@ dependencies = [
  "ansi_term",
  "chrono",
  "chrono-tz",
- "clap 4.5.3",
+ "clap",
  "enrichment",
  "glob",
  "prettydiff",
@@ -10533,7 +10935,7 @@ version = "0.1.0"
 dependencies = [
  "cargo_toml",
  "enrichment",
- "getrandom 0.2.12",
+ "getrandom 0.2.15",
  "gloo-utils",
  "serde",
  "serde-wasm-bindgen",
@@ -10556,16 +10958,17 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
 
 [[package]]
 name = "vrl"
-version = "0.13.0"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81f1e48235e8db47d5010723fc32c38b09820a1a2a57eaea77b089493a375f52"
+checksum = "6a714e10e3f6bac2ef76935b9281cc7434cc6f85f6ddab644383454555b63346"
 dependencies = [
  "aes",
  "ansi_term",
  "arbitrary",
  "base16",
- "base64 0.22.0",
- "bytes 1.5.0",
+ "base62",
+ "base64 0.22.1",
+ "bytes 1.6.0",
  "cbc",
  "cfb-mode",
  "cfg-if",
@@ -10574,7 +10977,7 @@ dependencies = [
  "chrono",
  "chrono-tz",
  "cidr-utils 0.6.1",
- "clap 4.5.3",
+ "clap",
  "codespan-reporting",
  "community-id",
  "crypto_secretbox",
@@ -10583,18 +10986,19 @@ dependencies = [
  "data-encoding",
  "digest",
  "dns-lookup",
+ "domain",
  "dyn-clone",
  "exitcode",
  "flate2",
  "grok",
  "hex",
  "hmac",
- "hostname",
+ "hostname 0.4.0",
  "iana-time-zone",
  "idna 0.5.0",
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
  "indoc",
- "itertools 0.12.1",
+ "itertools 0.13.0",
  "lalrpop",
  "lalrpop-util",
  "md-5",
@@ -10611,9 +11015,11 @@ dependencies = [
  "pest_derive",
  "prettydiff",
  "prettytable-rs",
- "prost 0.12.3",
+ "prost 0.12.6",
  "prost-reflect",
  "psl",
+ "psl-types",
+ "publicsuffix",
  "quickcheck",
  "quoted_printable",
  "rand 0.8.5",
@@ -10665,8 +11071,8 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
 ]
 
 [[package]]
@@ -10705,11 +11111,11 @@ dependencies = [
 
 [[package]]
 name = "warp"
-version = "0.3.6"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1e92e22e03ff1230c03a1a8ee37d2f89cd489e2e541b7550d6afad96faed169"
+checksum = "4378d202ff965b011c64817db11d5829506d3404edeadb61f190d111da3f231c"
 dependencies = [
- "bytes 1.5.0",
+ "bytes 1.6.0",
  "futures-channel",
  "futures-util",
  "headers",
@@ -10720,14 +11126,12 @@ dependencies = [
  "mime_guess",
  "percent-encoding",
  "pin-project",
- "rustls-pemfile 1.0.3",
  "scoped-tls",
  "serde",
  "serde_json",
  "serde_urlencoded",
  "tokio",
- "tokio-stream",
- "tokio-tungstenite",
+ "tokio-tungstenite 0.21.0",
  "tokio-util",
  "tower-service",
  "tracing 0.1.40",
@@ -10770,9 +11174,9 @@ dependencies = [
  "bumpalo",
  "log",
  "once_cell",
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
  "wasm-bindgen-shared",
 ]
 
@@ -10794,7 +11198,7 @@ version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
- "quote 1.0.35",
+ "quote 1.0.36",
  "wasm-bindgen-macro-support",
 ]
 
@@ -10804,9 +11208,9 @@ version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -10842,9 +11246,9 @@ dependencies = [
 
 [[package]]
 name = "webbrowser"
-version = "0.8.12"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71"
+checksum = "60b6f804e41d0852e16d2eaee61c7e4f7d3e8ffdb7b8ed85886aeb0791fe9fcd"
 dependencies = [
  "core-foundation",
  "home",
@@ -10864,6 +11268,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
 
 [[package]]
+name = "webpki-roots"
+version = "0.26.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009"
+dependencies = [
+ "rustls-pki-types",
+]
+
+[[package]]
 name = "which"
 version = "4.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10943,23 +11356,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
+name = "windows"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
+dependencies = [
+ "windows-core",
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-core"
-version = "0.51.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.48.5",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
 name = "windows-service"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd9db37ecb5b13762d95468a2fc6009d4b2c62801243223aabd44fca13ad13c8"
+checksum = "d24d6bcc7f734a4091ecf8d7a64c5f7d7066f45585c1861eba06449909609c8a"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.1",
  "widestring 1.0.2",
- "windows-sys 0.45.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -11189,6 +11612,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "winreg"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "wiremock"
 version = "0.5.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -11221,6 +11654,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "write16"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
+
+[[package]]
+name = "writeable"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
+
+[[package]]
 name = "wyz"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -11245,6 +11690,30 @@ dependencies = [
 ]
 
 [[package]]
+name = "yoke"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
+dependencies = [
+ "serde",
+ "stable_deref_trait",
+ "yoke-derive",
+ "zerofrom",
+]
+
+[[package]]
+name = "yoke-derive"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
+dependencies = [
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
+ "synstructure",
+]
+
+[[package]]
 name = "zerocopy"
 version = "0.7.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -11259,9 +11728,30 @@ version = "0.7.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a"
 dependencies = [
- "proc-macro2 1.0.79",
- "quote 1.0.35",
- "syn 2.0.53",
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "zerofrom"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
+dependencies = [
+ "zerofrom-derive",
+]
+
+[[package]]
+name = "zerofrom-derive"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
+dependencies = [
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
+ "synstructure",
 ]
 
 [[package]]
@@ -11271,6 +11761,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
 
 [[package]]
+name = "zerovec"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c"
+dependencies = [
+ "yoke",
+ "zerofrom",
+ "zerovec-derive",
+]
+
+[[package]]
+name = "zerovec-derive"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7"
+dependencies = [
+ "proc-macro2 1.0.85",
+ "quote 1.0.36",
+ "syn 2.0.66",
+]
+
+[[package]]
 name = "zstd"
 version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix
index db6446ec26cfe..9ed2bc9c6e2ed 100644
--- a/pkgs/tools/misc/vector/default.nix
+++ b/pkgs/tools/misc/vector/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , rustPlatform
 , pkg-config
 , openssl
@@ -37,7 +36,7 @@
 
 let
   pname = "vector";
-  version = "0.37.1";
+  version = "0.39.0";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -46,15 +45,9 @@ rustPlatform.buildRustPackage {
     owner = "vectordotdev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-wRXwgy+UY2z5fIWpQbDxRti54GE357WMGWXM/xKjz18=";
+    hash = "sha256-S6yzh8ISIh6xzw5DwQaoZdpfmDHE9gfjlEtxIZerSak=";
   };
 
-  patches = [
-    # Enable LTO to bring down binary size
-    # Adapted from https://github.com/vectordotdev/vector/pull/20034
-    ./vector-lto.patch
-  ];
-
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
@@ -84,6 +77,9 @@ rustPlatform.buildRustPackage {
   # needed to dynamically link rdkafka
   CARGO_FEATURE_DYNAMIC_LINKING=1;
 
+  CARGO_PROFILE_RELEASE_LTO = "fat";
+  CARGO_PROFILE_RELEASE_CODEGEN_UNITS = "1";
+
   buildNoDefaultFeatures = true;
   buildFeatures = features;
 
@@ -129,7 +125,7 @@ rustPlatform.buildRustPackage {
   };
 
   meta = with lib; {
-    description = "A high-performance observability data pipeline";
+    description = "High-performance observability data pipeline";
     homepage = "https://github.com/vectordotdev/vector";
     license = licenses.mpl20;
     maintainers = with maintainers; [ thoughtpolice happysalada ];
diff --git a/pkgs/tools/misc/vector/vector-lto.patch b/pkgs/tools/misc/vector/vector-lto.patch
deleted file mode 100644
index a795c1f16d25e..0000000000000
--- a/pkgs/tools/misc/vector/vector-lto.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- ./Cargo.toml	2024-04-10 00:01:12.033806583 +0100
-+++ ./Cargo.toml	2024-04-10 00:01:48.324228125 +0100
-@@ -45,7 +45,8 @@ path = "tests/e2e/mod.rs"
- # This results in roughly a 5% reduction in performance when compiling locally vs when
- # compiled via the CI pipeline.
- [profile.release]
--debug = false # Do not include debug symbols in the executable.
-+lto = true
-+codegen-units = 1
- 
- [profile.bench]
- debug = true
diff --git a/pkgs/tools/misc/vial/default.nix b/pkgs/tools/misc/vial/default.nix
index d33a6053d5744..77cf03500207a 100644
--- a/pkgs/tools/misc/vial/default.nix
+++ b/pkgs/tools/misc/vial/default.nix
@@ -22,7 +22,7 @@ appimageTools.wrapType2 {
   '';
 
   meta = {
-    description = "An Open-source GUI and QMK fork for configuring your keyboard in real time";
+    description = "Open-source GUI and QMK fork for configuring your keyboard in real time";
     homepage = "https://get.vial.today";
     license = lib.licenses.gpl2Plus;
     mainProgram = "Vial";
diff --git a/pkgs/tools/misc/viddy/default.nix b/pkgs/tools/misc/viddy/default.nix
index 280cf82c4b414..2f23f77b166e3 100644
--- a/pkgs/tools/misc/viddy/default.nix
+++ b/pkgs/tools/misc/viddy/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
   ];
 
   meta = with lib; {
-    description = "A modern watch command";
+    description = "Modern watch command";
     homepage = "https://github.com/sachaos/viddy";
     license = licenses.mit;
     maintainers = with maintainers; [ j-hui ];
diff --git a/pkgs/tools/misc/vivid/default.nix b/pkgs/tools/misc/vivid/default.nix
index 3115735ed9be8..81c81e6d6f882 100644
--- a/pkgs/tools/misc/vivid/default.nix
+++ b/pkgs/tools/misc/vivid/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-gtqdQuf3Ybt0PDCQw3gGAzIROq39NJKPIat0lyIPGgg=";
 
   meta = with lib; {
-    description = "A generator for LS_COLORS with support for multiple color themes";
+    description = "Generator for LS_COLORS with support for multiple color themes";
     homepage = "https://github.com/sharkdp/vivid";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = [ maintainers.dtzWill ];
diff --git a/pkgs/tools/misc/vorbisgain/default.nix b/pkgs/tools/misc/vorbisgain/default.nix
index f5a2e2d1dad5d..80307144fd9ad 100644
--- a/pkgs/tools/misc/vorbisgain/default.nix
+++ b/pkgs/tools/misc/vorbisgain/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://sjeng.org/vorbisgain.html";
-    description = "A utility that corrects the volume of an Ogg Vorbis file to a predefined standardized loudness";
+    description = "Utility that corrects the volume of an Ogg Vorbis file to a predefined standardized loudness";
     license = licenses.gpl2Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/tools/misc/vrc-get/default.nix b/pkgs/tools/misc/vrc-get/default.nix
index 140fba5c11f30..dac2f34dbacae 100644
--- a/pkgs/tools/misc/vrc-get/default.nix
+++ b/pkgs/tools/misc/vrc-get/default.nix
@@ -1,19 +1,32 @@
-{ fetchCrate, lib, rustPlatform, pkg-config, stdenv, Security, SystemConfiguration }:
+{ fetchCrate, installShellFiles, lib, rustPlatform, pkg-config, stdenv, Security, SystemConfiguration, buildPackages }:
 
 rustPlatform.buildRustPackage rec {
   pname = "vrc-get";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-+xbHw1DpFmapjsFoUvxUqTok8TKMebMw3gYjO/rx/iU=";
+    hash = "sha256-j8B7g/w1Qtiuj099RlRLmrYTFiE7d2vVg/nTbaa8pRU=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ installShellFiles pkg-config ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
 
-  cargoHash = "sha256-iuLhDcii+wXDNUsUMo8lj4kfJve5RAz7FT5Pxs9yFPQ=";
+  cargoHash = "sha256-WFGY5osZIEYeHQchvuE3ddeqh2wzfZNV+SGqW08zYDI=";
+
+  # Execute the resulting binary to generate shell completions, using emulation if necessary when cross-compiling.
+  # If no emulator is available, then give up on generating shell completions
+  postInstall =
+    let
+      vrc-get = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/vrc-get";
+    in
+    lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) ''
+      installShellCompletion --cmd vrc-get \
+        --bash <(${vrc-get} completion bash) \
+        --fish <(${vrc-get} completion fish) \
+        --zsh <(${vrc-get} completion zsh)
+    '';
 
   meta = with lib; {
     description = "Command line client of VRChat Package Manager, the main feature of VRChat Creator Companion (VCC)";
diff --git a/pkgs/tools/misc/vsc-leetcode-cli/default.nix b/pkgs/tools/misc/vsc-leetcode-cli/default.nix
index cb70f9a80eed2..6cc544a4361eb 100644
--- a/pkgs/tools/misc/vsc-leetcode-cli/default.nix
+++ b/pkgs/tools/misc/vsc-leetcode-cli/default.nix
@@ -19,7 +19,7 @@ buildNpmPackage {
   dontNpmBuild = true;
 
   meta = with lib; {
-    description = "A CLI tool for leetcode.com";
+    description = "CLI tool for leetcode.com";
     homepage = "https://github.com/leetcode-tools/leetcode-cli";
     license = licenses.mit;
     maintainers = with maintainers; [ cpcloud ];
diff --git a/pkgs/tools/misc/vsh/default.nix b/pkgs/tools/misc/vsh/default.nix
index c061a14f2e30c..9cfd9af7fc68a 100644
--- a/pkgs/tools/misc/vsh/default.nix
+++ b/pkgs/tools/misc/vsh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vsh";
-  version = "0.12.2";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "fishi0x01";
     repo = "vsh";
     rev = "v${version}";
-    sha256 = "13qa9r7kij6aqhackzmsn38vyhmajgmhflnrd9rarfhhyg6ldv4z";
+    sha256 = "083rqca4gx9lmzkc9rl453zqmspbpn0h2vajkrjjcwk96km7064f";
   };
 
   # vendor directory is part of repository
diff --git a/pkgs/tools/misc/vtm/default.nix b/pkgs/tools/misc/vtm/default.nix
index 9cd8d5df90107..6c83a456948b6 100644
--- a/pkgs/tools/misc/vtm/default.nix
+++ b/pkgs/tools/misc/vtm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "vtm";
-  version = "0.9.81";
+  version = "0.9.82";
 
   src = fetchFromGitHub {
     owner = "netxs-group";
     repo = "vtm";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-/PVZr87w4Iu44355U9YH51jWF+mNPZvdyfYKJvOLDJU=";
+    hash = "sha256-FqsvU3qt5TwTD6J7WFOgDrHWiDYfU3Y51k8klRCV0kQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/wagyu/default.nix b/pkgs/tools/misc/wagyu/default.nix
index 39e1085d4c965..0eb71743f064a 100644
--- a/pkgs/tools/misc/wagyu/default.nix
+++ b/pkgs/tools/misc/wagyu/default.nix
@@ -2,16 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wagyu";
-  version = "0.6.1";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "AleoHQ";
     repo = pname;
-    rev = "refs/tags/v${version}";
-    hash = "sha256-ltWNKB3DHtwVVzJyvRWj2I8rjsl7ru2i/RCO9yiQhpg=";
+    rev = "v${version}";
+    hash = "sha256-5n8BmETv5jUvgu0rskAPYaBgYyNL2QU2t/iUb3hNMMw=";
   };
 
-  cargoHash = "sha256-8dbeSHN6+1jLdVA9QxNAy7Y6EX7wflpQI72kqZAEVIE=";
+  cargoPatches = [ ./fix-rustc-serialize-version.patch ];
+
+  cargoHash = "sha256-vseTtok0E0ddg9ALQ1ql3NPPxirfyMPHOSWsM2qu2jU=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/misc/wagyu/fix-rustc-serialize-version.patch b/pkgs/tools/misc/wagyu/fix-rustc-serialize-version.patch
new file mode 100644
index 0000000000000..2b990909c1b40
--- /dev/null
+++ b/pkgs/tools/misc/wagyu/fix-rustc-serialize-version.patch
@@ -0,0 +1,15 @@
+diff --git a/Cargo.lock b/Cargo.lock
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1286,9 +1286,9 @@ checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
+ 
+ [[package]]
+ name = "rustc-serialize"
+-version = "0.3.24"
++version = "0.3.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
++checksum = "fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401"
+ 
+ [[package]]
+ name = "rustc_version"
diff --git a/pkgs/tools/misc/wakapi/default.nix b/pkgs/tools/misc/wakapi/default.nix
index 372d20771f37d..8edcd7bef01fd 100644
--- a/pkgs/tools/misc/wakapi/default.nix
+++ b/pkgs/tools/misc/wakapi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "wakapi";
-  version = "2.11.1";
+  version = "2.11.2";
 
   src = fetchFromGitHub {
     owner = "muety";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ZdKPaHe4miMKb6qEKdRz/fRIkTWDXp2Veu7CP1gRuQw=";
+    sha256 = "sha256-lBjYtb64blFUH/iW/SmC4A7nX9asokvsNKu6QVYgmZ8=";
   };
 
-  vendorHash = "sha256-pRj7Y2xp+Z2StaXRIzI5b2WAkIhR9y8T8DMXWrxOiy4=";
+  vendorHash = "sha256-Kt7RzAGZeLFhwvq+V6AK88rivqkoTE1Zep7NMh3BXXQ=";
 
   # Not a go module required by the project, contains development utilities
   excludedPackages = [ "scripts" ];
@@ -27,7 +27,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://wakapi.dev/";
     changelog = "https://github.com/muety/wakapi/releases/tag/${version}";
-    description = "A minimalist self-hosted WakaTime-compatible backend for coding statistics";
+    description = "Minimalist self-hosted WakaTime-compatible backend for coding statistics";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ t4ccer ];
     mainProgram = "wakapi";
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
deleted file mode 100644
index 2ce8df19867e9..0000000000000
--- a/pkgs/tools/misc/wakatime/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub, testers, wakatime }:
-
-buildGoModule rec {
-  pname = "wakatime";
-  version = "1.73.0";
-
-  src = fetchFromGitHub {
-    owner = "wakatime";
-    repo = "wakatime-cli";
-    rev = "v${version}";
-    hash = "sha256-EUZgYRsQRqtp0yiqNYex+ILSZwGEdO4BhciEgUVdui4=";
-  };
-
-  vendorHash = "sha256-SlYYrlRDBvhNm2BxemK9HzzsqM/RGH/sDQXpoGEY8rw=";
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X github.com/wakatime/wakatime-cli/pkg/version.Version=${version}"
-  ];
-
-  preCheck =
-    let
-      skippedTests = [
-        # Tests requiring network
-        "TestFileExperts"
-        "TestSendHeartbeats"
-        "TestSendHeartbeats_ExtraHeartbeats"
-        "TestSendHeartbeats_IsUnsavedEntity"
-        "TestSendHeartbeats_NonExistingExtraHeartbeatsEntity"
-
-        # Flaky tests
-        "TestLoadParams_ApiKey_FromVault_Err_Darwin"
-      ];
-    in
-    ''
-      # Disable tests
-      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
-    '';
-
-  passthru.tests.version = testers.testVersion {
-    package = wakatime;
-    command = "HOME=$(mktemp -d) wakatime-cli --version";
-  };
-
-  meta = with lib; {
-    homepage = "https://wakatime.com/";
-    description = "WakaTime command line interface";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
-    mainProgram = "wakatime-cli";
-  };
-}
diff --git a/pkgs/tools/misc/wasm-tools/default.nix b/pkgs/tools/misc/wasm-tools/default.nix
index 529815b12ec45..e89628a117ff6 100644
--- a/pkgs/tools/misc/wasm-tools/default.nix
+++ b/pkgs/tools/misc/wasm-tools/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-tools";
-  version = "1.206.0";
+  version = "1.211.1";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-dRCPur2EmEF5GV4PWSWAKIE+A9KfW2FbnUJVdXct3aA=";
+    hash = "sha256-xd5/QB6/V8cyoygShmcIzUgXZNs+kBuPtKy56BSoxKo=";
     fetchSubmodules = true;
   };
 
   # Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
   auditable = false;
-  cargoHash = "sha256-M3wtgvZWWTlB1mmyLJNHBXwVMc5b61ie/RmSGn1ow9U=";
+  cargoHash = "sha256-H3eEwVZB6xzZwW5Bvgs7yPV58QUNvLSWSDigLzs2uG0=";
   cargoBuildFlags = [ "--package" "wasm-tools" ];
   cargoTestFlags = [ "--all" ];
 
diff --git a/pkgs/tools/misc/watchexec/default.nix b/pkgs/tools/misc/watchexec/default.nix
index 0841a6490cc4b..32ee78ff6cb05 100644
--- a/pkgs/tools/misc/watchexec/default.nix
+++ b/pkgs/tools/misc/watchexec/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "watchexec";
-  version = "2.0.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-wJt8247RKS6g+O2Ho75Fn4O4w6RoxotRm0yXBRM9d8g=";
+    hash = "sha256-S0c/UqdbEqhZRkxZonW1TPQLmGbZeiK14yPbW5dpI70=";
   };
 
-  cargoHash = "sha256-JLDNAuYE7Pu9E82TD2cz9lnCWEC9bNQxd3MP4lXjo3k=";
+  cargoHash = "sha256-IuubIEu2mY3h1i9gJgQlyVoGwUYWsdp8+hKYyz0j3is=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/wayback-machine-archiver/default.nix b/pkgs/tools/misc/wayback-machine-archiver/default.nix
index c3ebc937eb353..034cc303e6edd 100644
--- a/pkgs/tools/misc/wayback-machine-archiver/default.nix
+++ b/pkgs/tools/misc/wayback-machine-archiver/default.nix
@@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec {
   pythonImportsCheck = [ "wayback_machine_archiver" ];
 
   meta = with lib; {
-    description = "A Python script to submit web pages to the Wayback Machine for archiving";
+    description = "Python script to submit web pages to the Wayback Machine for archiving";
     homepage = "https://github.com/agude/wayback-machine-archiver";
     license = licenses.mit;
     maintainers = with maintainers; [ dandellion ];
diff --git a/pkgs/tools/misc/wayback/default.nix b/pkgs/tools/misc/wayback/default.nix
index 368d1bad63f96..3fb220c4001ec 100644
--- a/pkgs/tools/misc/wayback/default.nix
+++ b/pkgs/tools/misc/wayback/default.nix
@@ -24,7 +24,7 @@ buildGoModule rec {
   ];
 
   meta = with lib; {
-    description = "An archiving tool with an IM-style interface";
+    description = "Archiving tool with an IM-style interface";
     homepage = "https://docs.wabarc.eu.org";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ _2gn ];
diff --git a/pkgs/tools/misc/waylevel/default.nix b/pkgs/tools/misc/waylevel/default.nix
index b3b1ddfeeebfd..f0688ebf47eeb 100644
--- a/pkgs/tools/misc/waylevel/default.nix
+++ b/pkgs/tools/misc/waylevel/default.nix
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A tool to print wayland toplevels and other compositor info";
+    description = "Tool to print wayland toplevels and other compositor info";
     homepage = "https://git.sr.ht/~shinyzenith/waylevel";
     license = licenses.bsd2;
     maintainers = with maintainers; [ dit7ya ];
diff --git a/pkgs/tools/misc/wayshot/default.nix b/pkgs/tools/misc/wayshot/default.nix
index e8d5576af51e4..0f46dc85a1cf9 100644
--- a/pkgs/tools/misc/wayshot/default.nix
+++ b/pkgs/tools/misc/wayshot/default.nix
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A native, blazing-fast screenshot tool for wlroots based compositors such as sway and river";
+    description = "Native, blazing-fast screenshot tool for wlroots based compositors such as sway and river";
     homepage = "https://github.com/waycrate/wayshot";
     license = licenses.bsd2;
     maintainers = with maintainers; [ dit7ya id3v1669 ];
diff --git a/pkgs/tools/misc/webcat/default.nix b/pkgs/tools/misc/webcat/default.nix
index 7c8c56dc86c16..2fff1266eb9cd 100644
--- a/pkgs/tools/misc/webcat/default.nix
+++ b/pkgs/tools/misc/webcat/default.nix
@@ -22,7 +22,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://rumpelsepp.org/blog/ssh-through-websocket/";
-    description = "The lightweight swiss army knife for websockets";
+    description = "Lightweight swiss army knife for websockets";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ montag451 ];
     mainProgram = "webcat";
diff --git a/pkgs/tools/misc/whatsapp-chat-exporter/default.nix b/pkgs/tools/misc/whatsapp-chat-exporter/default.nix
index 9b2281d07a6f4..7542acbafa127 100644
--- a/pkgs/tools/misc/whatsapp-chat-exporter/default.nix
+++ b/pkgs/tools/misc/whatsapp-chat-exporter/default.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "whatsapp-chat-exporter";
-  version = "0.9.7";
+  version = "0.10.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "KnugiHK";
     repo = "Whatsapp-Chat-Exporter";
     rev = "refs/tags/${version}";
-    hash = "sha256-ySKZM7zmPKb+AHAK7IDpn07qinwz0YY8btb4KWGfy7w=";
+    hash = "sha256-W66qEQa7jlgd8v6dsIVAz6gmWsYr3SMqyhF2KIwC6hI=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/misc/wlc/default.nix b/pkgs/tools/misc/wlc/default.nix
index 648f05587d077..211bde7c240d8 100644
--- a/pkgs/tools/misc/wlc/default.nix
+++ b/pkgs/tools/misc/wlc/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "A Weblate commandline client using Weblate's REST API";
+    description = "Weblate commandline client using Weblate's REST API";
     homepage = "https://github.com/WeblateOrg/wlc";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ paperdigits ];
diff --git a/pkgs/tools/misc/woeusb-ng/default.nix b/pkgs/tools/misc/woeusb-ng/default.nix
index 1c3754bd95f3c..0858422be3a0c 100644
--- a/pkgs/tools/misc/woeusb-ng/default.nix
+++ b/pkgs/tools/misc/woeusb-ng/default.nix
@@ -47,7 +47,7 @@ buildPythonApplication rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A tool to create a Windows USB stick installer from a real Windows DVD or image";
+    description = "Tool to create a Windows USB stick installer from a real Windows DVD or image";
     homepage = "https://github.com/WoeUSB/WoeUSB-ng";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ stunkymonkey ];
diff --git a/pkgs/tools/misc/wootility/default.nix b/pkgs/tools/misc/wootility/default.nix
index 803ad53038e7a..0a376aaf782d7 100644
--- a/pkgs/tools/misc/wootility/default.nix
+++ b/pkgs/tools/misc/wootility/default.nix
@@ -8,11 +8,11 @@
 
 appimageTools.wrapType2 rec {
   pname = "wootility";
-  version = "4.6.15";
+  version = "4.6.20";
 
   src = fetchurl {
     url = "https://s3.eu-west-2.amazonaws.com/wooting-update/wootility-lekker-linux-latest/wootility-lekker-${version}.AppImage";
-    sha256 = "sha256-A/cjm9rhcgp68hbyjy7OfYPBKBcccl0OdD7MTdpEdPM=";
+    sha256 = "sha256-JodmF3TThPpXXx1eOnYmYAJ4x5Ylcf35bw3R++5/Buk=";
   };
 
   profile = ''
@@ -29,7 +29,7 @@ appimageTools.wrapType2 rec {
 
   meta = with lib; {
     homepage = "https://wooting.io/wootility";
-    description = "A customization and management software for Wooting keyboards";
+    description = "Customization and management software for Wooting keyboards";
     platforms = [ "x86_64-linux" ];
     license = "unknown";
     maintainers = with maintainers; [ davidtwco ];
diff --git a/pkgs/tools/misc/wyrd/default.nix b/pkgs/tools/misc/wyrd/default.nix
index cdce7a5e347f3..18647cae1a232 100644
--- a/pkgs/tools/misc/wyrd/default.nix
+++ b/pkgs/tools/misc/wyrd/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   preferLocalBuild = true;
 
   meta = with lib; {
-    description = "A text-based front-end to Remind";
+    description = "Text-based front-end to Remind";
     longDescription = ''
       Wyrd is a text-based front-end to Remind, a sophisticated
       calendar and alarm program. Remind's power lies in its
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     downloadPage = "http://pessimization.com/software/wyrd/";
     license = licenses.gpl2Only;
     maintainers = [ maintainers.prikhi ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     mainProgram = "wyrd";
   };
 }
diff --git a/pkgs/tools/misc/xcp/default.nix b/pkgs/tools/misc/xcp/default.nix
index bb310c3cce7ce..718027b1efd7f 100644
--- a/pkgs/tools/misc/xcp/default.nix
+++ b/pkgs/tools/misc/xcp/default.nix
@@ -2,22 +2,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xcp";
-  version = "0.20.4";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "tarka";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-0ucm8XBxYwXvpVJN8If8BIToQGiBisKLZJYKuvaORto=";
+    hash = "sha256-RxEEbyM7wXteYteA4GmvXEraHhm+Kkr2UbYR8G0gO8c=";
   };
 
   # no such file or directory errors
   doCheck = false;
 
-  cargoHash = "sha256-UdQUrIRos3TmebotdESvKH+90WVMJ0oTc43p+AT4xMI=";
+  cargoHash = "sha256-ruL1KP3a76DRg0RqpNYz0ZL0V2Ce4v3zt9B/tXyXQs0=";
 
   meta = with lib; {
-    description = "An extended cp(1)";
+    description = "Extended cp(1)";
     homepage = "https://github.com/tarka/xcp";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ lom ];
diff --git a/pkgs/tools/misc/xdaliclock/default.nix b/pkgs/tools/misc/xdaliclock/default.nix
index 333da375d5801..5bd2e719da72d 100644
--- a/pkgs/tools/misc/xdaliclock/default.nix
+++ b/pkgs/tools/misc/xdaliclock/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A clock application that morphs digits when they are changed";
+    description = "Clock application that morphs digits when they are changed";
     maintainers = with maintainers; [ raskin ];
     platforms = with platforms; linux ++ freebsd;
     license = licenses.free; #TODO BSD on Gentoo, looks like MIT
diff --git a/pkgs/tools/misc/xdg-ninja/default.nix b/pkgs/tools/misc/xdg-ninja/default.nix
index f3c4ca677051b..e30b7602d1c8c 100644
--- a/pkgs/tools/misc/xdg-ninja/default.nix
+++ b/pkgs/tools/misc/xdg-ninja/default.nix
@@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A shell script which checks your $HOME for unwanted files and directories";
+    description = "Shell script which checks your $HOME for unwanted files and directories";
     homepage = "https://github.com/b3nj5m1n/xdg-ninja";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/xjobs/default.nix b/pkgs/tools/misc/xjobs/default.nix
index 9dfa605fbc474..78e030c2e049f 100644
--- a/pkgs/tools/misc/xjobs/default.nix
+++ b/pkgs/tools/misc/xjobs/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A program which reads job descriptions line by line and executes them in parallel";
+    description = "Program which reads job descriptions line by line and executes them in parallel";
     homepage = "https://www.maier-komor.de/xjobs.html";
     license = licenses.gpl2Plus;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/xmonad-log/default.nix b/pkgs/tools/misc/xmonad-log/default.nix
deleted file mode 100644
index 9ba7941b45f79..0000000000000
--- a/pkgs/tools/misc/xmonad-log/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
-
-buildGoPackage rec {
-  pname = "xmonad-log";
-  version = "0.1.0";
-
-  goPackagePath = "github.com/xintron/xmonad-log";
-
-  src = fetchFromGitHub {
-    owner = "xintron";
-    repo = "xmonad-log";
-    rev = version;
-    sha256 = "1il6v0zcjw0pfb1hjj198y94jmlcx255h422ph0f1zr7afqkzmaw";
-  };
-
-  goDeps = ./deps.nix;
-
-  meta = with lib; {
-    description = "xmonad DBus monitoring solution";
-    homepage = "https://github.com/xintron/xmonad-log";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ joko ];
-    mainProgram = "xmonad-log";
-  };
-}
diff --git a/pkgs/tools/misc/xmonad-log/deps.nix b/pkgs/tools/misc/xmonad-log/deps.nix
deleted file mode 100644
index f5a7c7e5dd1dd..0000000000000
--- a/pkgs/tools/misc/xmonad-log/deps.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/godbus/dbus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/godbus/dbus";
-      rev = "a389bdde4dd695d414e47b755e95e72b7826432c";
-      sha256 = "1ckvg15zdsgmbn4mi36cazkb407ixc9mmyf7vwj8b8wi3d00rgn9";
-    };
-  }
-]
diff --git a/pkgs/tools/misc/xstow/default.nix b/pkgs/tools/misc/xstow/default.nix
index e40cffb516599..96e569fe26b0b 100644
--- a/pkgs/tools/misc/xstow/default.nix
+++ b/pkgs/tools/misc/xstow/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A replacement of GNU Stow written in C++";
+    description = "Replacement of GNU Stow written in C++";
     homepage = "https://github.com/majorkingleo/xstow";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ nzbr ];
diff --git a/pkgs/tools/misc/xvfb-run/default.nix b/pkgs/tools/misc/xvfb-run/default.nix
index 038cae8f39e6a..f168c28268983 100644
--- a/pkgs/tools/misc/xvfb-run/default.nix
+++ b/pkgs/tools/misc/xvfb-run/default.nix
@@ -2,7 +2,7 @@
 , stdenvNoCC
 , fetchFromGitHub
 , makeWrapper
-, xorgserver
+, xorg
 , getopt
 , xauth
 , util-linux
@@ -39,7 +39,7 @@ stdenvNoCC.mkDerivation rec {
     patchShebangs $out/bin/xvfb-run
     wrapProgram $out/bin/xvfb-run \
       --set-default FONTCONFIG_FILE "${fontsConf}" \
-      --prefix PATH : ${lib.makeBinPath [ getopt xorgserver xauth which util-linux gawk coreutils ]}
+      --prefix PATH : ${lib.makeBinPath [ getopt xorg.xvfb xauth which util-linux gawk coreutils ]}
   '';
 
   doInstallCheck = true;
diff --git a/pkgs/tools/misc/xxv/default.nix b/pkgs/tools/misc/xxv/default.nix
index 0068de3c92459..cd0208dd9ecf4 100644
--- a/pkgs/tools/misc/xxv/default.nix
+++ b/pkgs/tools/misc/xxv/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
   buildFeatures = lib.optional (!useNcurses) "pancurses-backend";
 
   meta = with lib; {
-    description = "A visual hex viewer for the terminal";
+    description = "Visual hex viewer for the terminal";
     longDescription = ''
       XXV is a terminal hex viewer with a text user interface, written in 100% safe Rust.
     '';
diff --git a/pkgs/tools/misc/you-get/default.nix b/pkgs/tools/misc/you-get/default.nix
index 225c37e4ba464..785c66db62f88 100644
--- a/pkgs/tools/misc/you-get/default.nix
+++ b/pkgs/tools/misc/you-get/default.nix
@@ -8,7 +8,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "you-get";
-  version = "0.4.1650";
+  version = "0.4.1700";
   format = "setuptools";
 
   # Tests aren't packaged, but they all hit the real network so
@@ -17,7 +17,7 @@ python3.pkgs.buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-s8lEz3pjzEaMzMiBbc5/wAjC5rW6Uq7+XOIIGBijrUc=";
+    sha256 = "sha256-XNIUkgEqRGrBtSxvfkSUSqxltZ6ZdkWoTc9kz4BD6Zw=";
   };
 
   patches = [
@@ -43,7 +43,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   meta = with lib; {
-    description = "A tiny command line utility to download media contents from the web";
+    description = "Tiny command line utility to download media contents from the web";
     homepage = "https://you-get.org";
     changelog = "https://github.com/soimort/you-get/raw/v${version}/CHANGELOG.rst";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index 87326c4531319..d4e1f6df6dc4f 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -25,13 +25,13 @@ buildPythonPackage rec {
   # The websites yt-dlp deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2024.4.9";
+  version = "2024.5.27";
   pyproject = true;
 
   src = fetchPypi {
     inherit version;
     pname = "yt_dlp";
-    hash = "sha256-fukFcrTTE7WCuZyJ5OzPd5tX/1TtwzGHPGs/unf6qLA=";
+    hash = "sha256-NWbA3iQNDNPRwihc5lX3LKON/GGNY01GgYsA2J1SiL4=";
   };
 
   build-system = [
diff --git a/pkgs/tools/misc/ytcast/default.nix b/pkgs/tools/misc/ytcast/default.nix
index 798508f2451e5..7466414576955 100644
--- a/pkgs/tools/misc/ytcast/default.nix
+++ b/pkgs/tools/misc/ytcast/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
   ldflags = [ "-X main.progVersion=${version}" ];
 
   meta = with lib; {
-    description = "A tool to cast YouTube videos from the command-line";
+    description = "Tool to cast YouTube videos from the command-line";
     homepage = "https://github.com/MarcoLucidi01/ytcast";
     license = licenses.mit;
     maintainers = with maintainers; [ waelwindows ];
diff --git a/pkgs/tools/misc/ytfzf/default.nix b/pkgs/tools/misc/ytfzf/default.nix
index 783ac793604fb..c3887972a4ca4 100644
--- a/pkgs/tools/misc/ytfzf/default.nix
+++ b/pkgs/tools/misc/ytfzf/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A posix script to find and watch youtube videos from the terminal";
+    description = "Posix script to find and watch youtube videos from the terminal";
     homepage = "https://github.com/pystardust/ytfzf";
     license = licenses.gpl3Only;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/yubico-piv-tool/default.nix b/pkgs/tools/misc/yubico-piv-tool/default.nix
index 2b8e50a7222e3..eb3a88d1faac4 100644
--- a/pkgs/tools/misc/yubico-piv-tool/default.nix
+++ b/pkgs/tools/misc/yubico-piv-tool/default.nix
@@ -10,14 +10,14 @@
 , help2man
 , cmake
 , zlib
-, withApplePCSC ? stdenv.isDarwin
 , nix-update-script
 , testers
+, withApplePCSC ? stdenv.isDarwin
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "yubico-piv-tool";
-  version = "2.5.1";
+  version = "2.5.2";
 
   outputs = [ "out" "dev" "man" ];
 
@@ -25,11 +25,11 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "Yubico";
     repo = "yubico-piv-tool";
     rev = "refs/tags/yubico-piv-tool-${finalAttrs.version}";
-    hash = "sha256-8W5c5JwEAhBAgoRC/pmQs3U3RekQMmkHAXVW36Y+J+U=";
+    hash = "sha256-SBVYr6OcWqT+WKOZgIeZ1TmqCbcGAjbq/HaWIwPduFw=";
   };
 
   postPatch = ''
-    substituteInPlace CMakeLists.txt --replace "-Werror" ""
+    substituteInPlace CMakeLists.txt --replace-fail "-Werror" ""
   '';
 
   nativeBuildInputs = [
@@ -41,32 +41,37 @@ stdenv.mkDerivation (finalAttrs: {
 
   buildInputs = [
     openssl
-    check
     zlib.dev
   ]
   ++ (if withApplePCSC then [ PCSC ] else [ pcsclite ]);
 
   cmakeFlags = [
-    "-DGENERATE_MAN_PAGES=ON"
-    "-DCMAKE_INSTALL_BINDIR=bin"
-    "-DCMAKE_INSTALL_INCLUDEDIR=include"
-    "-DCMAKE_INSTALL_MANDIR=share/man"
-    "-DCMAKE_INSTALL_LIBDIR=lib"
+    (lib.cmakeBool "GENERATE_MAN_PAGES" true)
+    (lib.cmakeFeature "BACKEND" (if withApplePCSC then "macscard" else "pcsc"))
+    (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "bin")
+    (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include")
+    (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib")
+    (lib.cmakeFeature "CMAKE_INSTALL_MANDIR" "share/man")
   ];
 
-  configureFlags = [ "--with-backend=${if withApplePCSC then "macscard" else "pcsc"}" ];
+  doCheck = true;
+
+  nativeCheckInputs = [ check ];
 
   passthru = {
     updateScript = nix-update-script {
       extraArgs = [ "--version-regex" "yubico-piv-tool-([0-9.]+)$" ];
     };
-    tests.version = testers.testVersion {
-      package = finalAttrs.finalPackage;
-      command = "yubico-piv-tool --version";
+    tests = {
+      pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+      version = testers.testVersion {
+        package = finalAttrs.finalPackage;
+        command = "yubico-piv-tool --version";
+      };
     };
   };
 
-  meta = with lib; {
+  meta = {
     homepage = "https://developers.yubico.com/yubico-piv-tool/";
     changelog = "https://developers.yubico.com/yubico-piv-tool/Release_Notes.html";
     description = ''
@@ -80,9 +85,10 @@ stdenv.mkDerivation (finalAttrs: {
       certificates, and create certificate requests, and other operations.
       A shared library and a command-line tool is included.
     '';
-    license = licenses.bsd2;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ viraptor anthonyroussel ];
+    license = lib.licenses.bsd2;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ viraptor anthonyroussel ];
     mainProgram = "yubico-piv-tool";
+    pkgConfigModules = [ "ykcs11" "ykpiv" ];
   };
 })
diff --git a/pkgs/tools/misc/yubikey-manager/default.nix b/pkgs/tools/misc/yubikey-manager/default.nix
index 0bad719e33625..170968a98c44f 100644
--- a/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/pkgs/tools/misc/yubikey-manager/default.nix
@@ -25,7 +25,6 @@ python3Packages.buildPythonPackage rec {
 
   nativeBuildInputs = with python3Packages; [
     poetry-core
-    pythonRelaxDepsHook
     installShellFiles
   ];
 
diff --git a/pkgs/tools/misc/yubikey-personalization-gui/default.nix b/pkgs/tools/misc/yubikey-personalization-gui/default.nix
index a63ab7a7ce193..347221ceedf8e 100644
--- a/pkgs/tools/misc/yubikey-personalization-gui/default.nix
+++ b/pkgs/tools/misc/yubikey-personalization-gui/default.nix
@@ -36,7 +36,7 @@ mkDerivation rec {
   meta = with lib; {
     broken = stdenv.isDarwin;
     homepage = "https://developers.yubico.com/yubikey-personalization-gui";
-    description = "A QT based cross-platform utility designed to facilitate reconfiguration of the Yubikey";
+    description = "QT based cross-platform utility designed to facilitate reconfiguration of the Yubikey";
     license = licenses.bsd2;
     platforms = platforms.unix;
     mainProgram = "yubikey-personalization-gui";
diff --git a/pkgs/tools/misc/yubikey-personalization/default.nix b/pkgs/tools/misc/yubikey-personalization/default.nix
index f8583f3614024..13a1cc3611973 100644
--- a/pkgs/tools/misc/yubikey-personalization/default.nix
+++ b/pkgs/tools/misc/yubikey-personalization/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://developers.yubico.com/yubikey-personalization";
-    description = "A library and command line tool to personalize YubiKeys";
+    description = "Library and command line tool to personalize YubiKeys";
     license = licenses.bsd2;
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/misc/z-lua/default.nix b/pkgs/tools/misc/z-lua/default.nix
index f9347ad41c453..f095a4260b89b 100644
--- a/pkgs/tools/misc/z-lua/default.nix
+++ b/pkgs/tools/misc/z-lua/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/skywind3000/z.lua";
-    description = "A new cd command that helps you navigate faster by learning your habits";
+    description = "New cd command that helps you navigate faster by learning your habits";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
     mainProgram = "z.lua";
diff --git a/pkgs/tools/misc/zellij/default.nix b/pkgs/tools/misc/zellij/default.nix
index dbb7f4ecc0542..ca2ababb464b3 100644
--- a/pkgs/tools/misc/zellij/default.nix
+++ b/pkgs/tools/misc/zellij/default.nix
@@ -59,7 +59,7 @@ rustPlatform.buildRustPackage rec {
   passthru.tests.version = testers.testVersion { package = zellij; };
 
   meta = with lib; {
-    description = "A terminal workspace with batteries included";
+    description = "Terminal workspace with batteries included";
     homepage = "https://zellij.dev/";
     changelog = "https://github.com/zellij-org/zellij/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
diff --git a/pkgs/tools/misc/zf/default.nix b/pkgs/tools/misc/zf/default.nix
index 402fbbb5f6979..2a5197245990e 100644
--- a/pkgs/tools/misc/zf/default.nix
+++ b/pkgs/tools/misc/zf/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = {
     homepage = "https://github.com/natecraddock/zf";
-    description = "A commandline fuzzy finder that prioritizes matches on filenames";
+    description = "Commandline fuzzy finder that prioritizes matches on filenames";
     changelog = "https://github.com/natecraddock/zf/releases/tag/${finalAttrs.version}";
     license = lib.licenses.mit;
     platforms = lib.platforms.unix;
diff --git a/pkgs/tools/misc/zotero-translation-server/default.nix b/pkgs/tools/misc/zotero-translation-server/default.nix
index 5150df1fbb8f5..923d9d4de8fb1 100644
--- a/pkgs/tools/misc/zotero-translation-server/default.nix
+++ b/pkgs/tools/misc/zotero-translation-server/default.nix
@@ -27,7 +27,7 @@ buildNpmPackage rec {
   '';
 
   meta = with lib; {
-    description = "A Node.js-based server to run Zotero translators";
+    description = "Node.js-based server to run Zotero translators";
     homepage = "https://github.com/zotero/translation-server";
     license = licenses.agpl3Only;
     maintainers = [ ];
diff --git a/pkgs/tools/misc/zoxide/default.nix b/pkgs/tools/misc/zoxide/default.nix
index 091730f7c1e69..5383e8d5376f3 100644
--- a/pkgs/tools/misc/zoxide/default.nix
+++ b/pkgs/tools/misc/zoxide/default.nix
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A fast cd command that learns your habits";
+    description = "Fast cd command that learns your habits";
     homepage = "https://github.com/ajeetdsouza/zoxide";
     changelog = "https://github.com/ajeetdsouza/zoxide/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
diff --git a/pkgs/tools/misc/zthrottle/default.nix b/pkgs/tools/misc/zthrottle/default.nix
index 1598215e0eb94..8789af2881460 100644
--- a/pkgs/tools/misc/zthrottle/default.nix
+++ b/pkgs/tools/misc/zthrottle/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A program that throttles a pipeline, only letting a line through at most every $1 seconds";
+    description = "Program that throttles a pipeline, only letting a line through at most every $1 seconds";
     homepage = "https://github.com/anko/zthrottle";
     license = licenses.unlicense;
     maintainers = [ maintainers.ckie ];