summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/X11/arandr/default.nix2
-rw-r--r--pkgs/tools/X11/go-sct/default.nix2
-rw-r--r--pkgs/tools/X11/grobi/default.nix2
-rw-r--r--pkgs/tools/X11/nx-libs/default.nix4
-rw-r--r--pkgs/tools/X11/opentabletdriver/default.nix6
-rw-r--r--pkgs/tools/X11/wmutils-core/default.nix8
-rw-r--r--pkgs/tools/X11/wpgtk/default.nix2
-rw-r--r--pkgs/tools/X11/xmagnify/default.nix2
-rw-r--r--pkgs/tools/X11/xpra/default.nix2
-rw-r--r--pkgs/tools/X11/xprintidle-ng/default.nix2
-rw-r--r--pkgs/tools/X11/xsettingsd/SConstruct.patch13
-rw-r--r--pkgs/tools/X11/xsettingsd/default.nix25
-rw-r--r--pkgs/tools/X11/xwallpaper/default.nix4
-rw-r--r--pkgs/tools/X11/xwinmosaic/default.nix2
-rw-r--r--pkgs/tools/admin/afterburn/default.nix2
-rw-r--r--pkgs/tools/admin/aws-mfa/default.nix35
-rw-r--r--pkgs/tools/admin/aws-nuke/default.nix2
-rw-r--r--pkgs/tools/admin/aws-rotate-key/default.nix2
-rw-r--r--pkgs/tools/admin/awscli/default.nix4
-rw-r--r--pkgs/tools/admin/awslogs/default.nix2
-rw-r--r--pkgs/tools/admin/azure-cli/default.nix5
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix20
-rw-r--r--pkgs/tools/admin/berglas/default.nix2
-rw-r--r--pkgs/tools/admin/certigo/default.nix2
-rw-r--r--pkgs/tools/admin/chkcrontab/default.nix2
-rw-r--r--pkgs/tools/admin/credhub-cli/default.nix2
-rw-r--r--pkgs/tools/admin/docker-credential-gcr/default.nix2
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix6
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix6
-rw-r--r--pkgs/tools/admin/iamy/default.nix2
-rw-r--r--pkgs/tools/admin/lego/default.nix6
-rw-r--r--pkgs/tools/admin/lxd/default.nix6
-rw-r--r--pkgs/tools/admin/nomachine-client/default.nix29
-rw-r--r--pkgs/tools/admin/procs/default.nix17
-rw-r--r--pkgs/tools/admin/pulumi/data.nix98
-rw-r--r--pkgs/tools/admin/pulumi/default.nix1
-rwxr-xr-xpkgs/tools/admin/pulumi/update.sh24
-rw-r--r--pkgs/tools/admin/s3bro/default.nix2
-rw-r--r--pkgs/tools/admin/scaleway-cli/default.nix2
-rw-r--r--pkgs/tools/admin/sewer/default.nix2
-rw-r--r--pkgs/tools/admin/simp_le/default.nix2
-rw-r--r--pkgs/tools/admin/ssh-import-id/default.nix2
-rw-r--r--pkgs/tools/admin/ssmsh/default.nix8
-rw-r--r--pkgs/tools/admin/stripe-cli/default.nix8
-rw-r--r--pkgs/tools/admin/trivy/default.nix6
-rw-r--r--pkgs/tools/archivers/unzip/default.nix2
-rw-r--r--pkgs/tools/archivers/zip/default.nix2
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/beets/default.nix8
-rw-r--r--pkgs/tools/audio/beets/plugins/alternatives.nix2
-rw-r--r--pkgs/tools/audio/beets/plugins/check.nix2
-rw-r--r--pkgs/tools/audio/beets/plugins/copyartifacts.nix2
-rw-r--r--pkgs/tools/audio/mididings/default.nix2
-rw-r--r--pkgs/tools/audio/mpd-mpris/default.nix2
-rw-r--r--pkgs/tools/audio/mpdas/default.nix10
-rw-r--r--pkgs/tools/audio/mpdcron/default.nix54
-rw-r--r--pkgs/tools/audio/mpdris2/default.nix2
-rw-r--r--pkgs/tools/audio/mpris-scrobbler/default.nix4
-rw-r--r--pkgs/tools/audio/opl3bankeditor/default.nix2
-rw-r--r--pkgs/tools/audio/pa-applet/default.nix3
-rw-r--r--pkgs/tools/audio/tts/default.nix77
-rw-r--r--pkgs/tools/audio/video2midi/default.nix2
-rw-r--r--pkgs/tools/audio/volctl/default.nix2
-rw-r--r--pkgs/tools/backup/bacula/default.nix4
-rw-r--r--pkgs/tools/backup/bupstash/default.nix2
-rw-r--r--pkgs/tools/backup/diskrsync/default.nix2
-rw-r--r--pkgs/tools/backup/dump/default.nix4
-rw-r--r--pkgs/tools/backup/duplicity/default.nix4
-rw-r--r--pkgs/tools/backup/duply/default.nix6
-rw-r--r--pkgs/tools/backup/grab-site/default.nix2
-rw-r--r--pkgs/tools/backup/httrack/qt.nix2
-rw-r--r--pkgs/tools/backup/iceshelf/default.nix2
-rw-r--r--pkgs/tools/backup/luckybackup/default.nix2
-rw-r--r--pkgs/tools/backup/mydumper/default.nix2
-rw-r--r--pkgs/tools/backup/rdiff-backup/default.nix2
-rw-r--r--pkgs/tools/backup/s3ql/default.nix2
-rw-r--r--pkgs/tools/backup/ugarit-manifest-maker/default.nix2
-rw-r--r--pkgs/tools/backup/ugarit/default.nix2
-rw-r--r--pkgs/tools/backup/wal-e/default.nix2
-rw-r--r--pkgs/tools/backup/zfs-replicate/default.nix2
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--pkgs/tools/cd-dvd/cue2pops/default.nix12
-rw-r--r--pkgs/tools/cd-dvd/isolyzer/default.nix2
-rw-r--r--pkgs/tools/compression/advancecomp/default.nix2
-rw-r--r--pkgs/tools/compression/bzip2/default.nix2
-rw-r--r--pkgs/tools/compression/dtrx/default.nix2
-rw-r--r--pkgs/tools/compression/lzip/default.nix4
-rw-r--r--pkgs/tools/compression/ncompress/default.nix4
-rw-r--r--pkgs/tools/compression/ncompress/makefile.patch19
-rw-r--r--pkgs/tools/compression/pigz/default.nix4
-rw-r--r--pkgs/tools/compression/pixz/default.nix2
-rw-r--r--pkgs/tools/filesystems/android-file-transfer/default.nix2
-rw-r--r--pkgs/tools/filesystems/bindfs/default.nix6
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--pkgs/tools/filesystems/catcli/default.nix4
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix9
-rw-r--r--pkgs/tools/filesystems/convoy/default.nix2
-rw-r--r--pkgs/tools/filesystems/disorderfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix2
-rw-r--r--pkgs/tools/filesystems/gitfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix6
-rw-r--r--pkgs/tools/filesystems/gocryptfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/irods/common.nix6
-rw-r--r--pkgs/tools/filesystems/irods/default.nix14
-rw-r--r--pkgs/tools/filesystems/nixpart/default.nix2
-rw-r--r--pkgs/tools/filesystems/rar2fs/default.nix4
-rw-r--r--pkgs/tools/filesystems/s3fs/default.nix4
-rw-r--r--pkgs/tools/filesystems/sandboxfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/squashfs-tools-ng/default.nix4
-rw-r--r--pkgs/tools/filesystems/tmsu/default.nix2
-rw-r--r--pkgs/tools/filesystems/ubidump/default.nix2
-rw-r--r--pkgs/tools/filesystems/zerofree/default.nix17
-rw-r--r--pkgs/tools/games/ajour/default.nix81
-rw-r--r--pkgs/tools/graphics/argyllcms/default.nix2
-rw-r--r--pkgs/tools/graphics/cfdg/src-info-for-default.nix2
-rw-r--r--pkgs/tools/graphics/convchain/default.nix2
-rw-r--r--pkgs/tools/graphics/feedgnuplot/default.nix2
-rw-r--r--pkgs/tools/graphics/gifski/default.nix8
-rw-r--r--pkgs/tools/graphics/gmic-qt/default.nix2
-rw-r--r--pkgs/tools/graphics/gmic/default.nix4
-rw-r--r--pkgs/tools/graphics/graph-easy/default.nix2
-rw-r--r--pkgs/tools/graphics/ldgallery/compiler/default.nix2
-rwxr-xr-xpkgs/tools/graphics/ldgallery/viewer/generate.sh8
-rw-r--r--pkgs/tools/graphics/ldgallery/viewer/node-composition.nix8
-rw-r--r--pkgs/tools/graphics/ldgallery/viewer/node-packages.nix18
-rw-r--r--pkgs/tools/graphics/luxcorerender/default.nix92
-rw-r--r--pkgs/tools/graphics/metapixel/default.nix4
-rw-r--r--pkgs/tools/graphics/pdfredacttools/default.nix2
-rw-r--r--pkgs/tools/graphics/pngcheck/default.nix4
-rw-r--r--pkgs/tools/graphics/puppeteer-cli/default.nix2
-rw-r--r--pkgs/tools/graphics/qrcode/default.nix6
-rw-r--r--pkgs/tools/graphics/quirc/default.nix2
-rw-r--r--pkgs/tools/graphics/resvg/default.nix6
-rw-r--r--pkgs/tools/graphics/rocket/default.nix2
-rw-r--r--pkgs/tools/graphics/scrot/default.nix4
-rw-r--r--pkgs/tools/graphics/shotgun/default.nix2
-rw-r--r--pkgs/tools/graphics/spirv-cross/default.nix4
-rw-r--r--pkgs/tools/graphics/svgcleaner/default.nix2
-rw-r--r--pkgs/tools/graphics/syntex/default.nix2
-rw-r--r--pkgs/tools/graphics/unpaper/default.nix4
-rw-r--r--pkgs/tools/graphics/vips/default.nix4
-rw-r--r--pkgs/tools/graphics/viu/default.nix9
-rw-r--r--pkgs/tools/graphics/vkBasalt/default.nix42
-rw-r--r--pkgs/tools/graphics/waifu2x-converter-cpp/default.nix4
-rw-r--r--pkgs/tools/graphics/wavefunctioncollapse/default.nix2
-rw-r--r--pkgs/tools/graphics/wdisplays/default.nix4
-rw-r--r--pkgs/tools/graphics/zxing/default.nix2
-rw-r--r--pkgs/tools/inputmethods/evdevremapkeys/default.nix2
-rw-r--r--pkgs/tools/inputmethods/evscript/default.nix2
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix2
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix2
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-mozc.nix117
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix2
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix6
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix8
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus/wrapper.nix2
-rw-r--r--pkgs/tools/inputmethods/skk/skk-dicts/default.nix22
-rw-r--r--pkgs/tools/misc/3mux/default.nix2
-rw-r--r--pkgs/tools/misc/adafruit-ampy/default.nix2
-rw-r--r--pkgs/tools/misc/apt-offline/default.nix2
-rw-r--r--pkgs/tools/misc/aptly/default.nix2
-rw-r--r--pkgs/tools/misc/arp-scan/default.nix4
-rw-r--r--pkgs/tools/misc/asciinema-scenario/default.nix2
-rw-r--r--pkgs/tools/misc/autorevision/default.nix4
-rw-r--r--pkgs/tools/misc/azure-vhd-utils/default.nix2
-rw-r--r--pkgs/tools/misc/bashplotlib/default.nix2
-rw-r--r--pkgs/tools/misc/bmap-tools/default.nix2
-rw-r--r--pkgs/tools/misc/bonfire/default.nix2
-rw-r--r--pkgs/tools/misc/broadlink-cli/default.nix2
-rw-r--r--pkgs/tools/misc/byobu/default.nix1
-rw-r--r--pkgs/tools/misc/calamares/default.nix4
-rw-r--r--pkgs/tools/misc/ccze/default.nix2
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix8
-rw-r--r--pkgs/tools/misc/cht.sh/default.nix10
-rw-r--r--pkgs/tools/misc/ckb-next/default.nix2
-rw-r--r--pkgs/tools/misc/claws/default.nix2
-rw-r--r--pkgs/tools/misc/cloud-sql-proxy/default.nix2
-rw-r--r--pkgs/tools/misc/cod/default.nix2
-rw-r--r--pkgs/tools/misc/code-minimap/default.nix8
-rw-r--r--pkgs/tools/misc/codebraid/default.nix2
-rw-r--r--pkgs/tools/misc/coreutils/default.nix5
-rw-r--r--pkgs/tools/misc/crudini/default.nix2
-rw-r--r--pkgs/tools/misc/dashing/default.nix2
-rw-r--r--pkgs/tools/misc/ddccontrol/default.nix52
-rw-r--r--pkgs/tools/misc/ddcutil/default.nix4
-rw-r--r--pkgs/tools/misc/debian-devscripts/default.nix2
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix28
-rw-r--r--pkgs/tools/misc/diffoscope/skip-failing-test.patch12
-rw-r--r--pkgs/tools/misc/dijo/default.nix6
-rw-r--r--pkgs/tools/misc/diskonaut/default.nix2
-rw-r--r--pkgs/tools/misc/disper/default.nix2
-rw-r--r--pkgs/tools/misc/docker-ls/default.nix6
-rw-r--r--pkgs/tools/misc/docui/default.nix2
-rw-r--r--pkgs/tools/misc/doitlive/default.nix2
-rw-r--r--pkgs/tools/misc/dua/default.nix6
-rw-r--r--pkgs/tools/misc/duf/default.nix12
-rw-r--r--pkgs/tools/misc/dust/default.nix8
-rw-r--r--pkgs/tools/misc/edir/default.nix19
-rw-r--r--pkgs/tools/misc/entr/default.nix4
-rw-r--r--pkgs/tools/misc/envdir-go/default.nix2
-rw-r--r--pkgs/tools/misc/esphome/default.nix8
-rw-r--r--pkgs/tools/misc/esptool/default.nix2
-rw-r--r--pkgs/tools/misc/eva/default.nix2
-rw-r--r--pkgs/tools/misc/exa/default.nix6
-rw-r--r--pkgs/tools/misc/expect/default.nix5
-rw-r--r--pkgs/tools/misc/fselect/default.nix2
-rw-r--r--pkgs/tools/misc/fsql/default.nix2
-rw-r--r--pkgs/tools/misc/fzf/default.nix14
-rw-r--r--pkgs/tools/misc/g933-utils/default.nix2
-rw-r--r--pkgs/tools/misc/gawp/default.nix2
-rw-r--r--pkgs/tools/misc/geekbench/default.nix4
-rw-r--r--pkgs/tools/misc/gh-ost/default.nix2
-rw-r--r--pkgs/tools/misc/gif-for-cli/default.nix2
-rw-r--r--pkgs/tools/misc/git-town/default.nix2
-rw-r--r--pkgs/tools/misc/go.rice/default.nix2
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix6
-rw-r--r--pkgs/tools/misc/gosu/default.nix2
-rw-r--r--pkgs/tools/misc/gparted/default.nix4
-rw-r--r--pkgs/tools/misc/grc/default.nix2
-rw-r--r--pkgs/tools/misc/grex/default.nix4
-rw-r--r--pkgs/tools/misc/hacksaw/default.nix2
-rw-r--r--pkgs/tools/misc/hddtemp/default.nix32
-rw-r--r--pkgs/tools/misc/hdf5/default.nix11
-rw-r--r--pkgs/tools/misc/hdl-dump/default.nix13
-rw-r--r--pkgs/tools/misc/heatseeker/default.nix2
-rw-r--r--pkgs/tools/misc/hexyl/default.nix2
-rw-r--r--pkgs/tools/misc/hpcg/default.nix4
-rw-r--r--pkgs/tools/misc/hyperledger-fabric/default.nix2
-rw-r--r--pkgs/tools/misc/i3cat/default.nix2
-rw-r--r--pkgs/tools/misc/i3minator/default.nix2
-rw-r--r--pkgs/tools/misc/ical2org/default.nix2
-rw-r--r--pkgs/tools/misc/ili2c/default.nix4
-rw-r--r--pkgs/tools/misc/iotools/default.nix35
-rw-r--r--pkgs/tools/misc/jdupes/default.nix4
-rw-r--r--pkgs/tools/misc/jstest-gtk/default.nix29
-rw-r--r--pkgs/tools/misc/kargo/default.nix2
-rw-r--r--pkgs/tools/misc/kt/default.nix2
-rw-r--r--pkgs/tools/misc/lazydocker/default.nix2
-rw-r--r--pkgs/tools/misc/lf/default.nix4
-rw-r--r--pkgs/tools/misc/lice/default.nix2
-rw-r--r--pkgs/tools/misc/licensor/default.nix15
-rw-r--r--pkgs/tools/misc/lnch/default.nix13
-rw-r--r--pkgs/tools/misc/loadlibrary/default.nix2
-rw-r--r--pkgs/tools/misc/lokalise2-cli/default.nix8
-rw-r--r--pkgs/tools/misc/loop/default.nix2
-rw-r--r--pkgs/tools/misc/lsd/default.nix2
-rw-r--r--pkgs/tools/misc/mc/default.nix6
-rw-r--r--pkgs/tools/misc/me_cleaner/default.nix2
-rw-r--r--pkgs/tools/misc/microplane/default.nix6
-rw-r--r--pkgs/tools/misc/microplane/deps.nix4
-rw-r--r--pkgs/tools/misc/mimeo/default.nix4
-rw-r--r--pkgs/tools/misc/mmake/default.nix2
-rw-r--r--pkgs/tools/misc/mongodb-tools/default.nix3
-rw-r--r--pkgs/tools/misc/moreutils/default.nix4
-rw-r--r--pkgs/tools/misc/mpdscribble/default.nix30
-rw-r--r--pkgs/tools/misc/mysqltuner/default.nix4
-rw-r--r--pkgs/tools/misc/nagstamon/default.nix2
-rw-r--r--pkgs/tools/misc/noteshrink/default.nix2
-rw-r--r--pkgs/tools/misc/ntfy/default.nix2
-rw-r--r--pkgs/tools/misc/onefetch/default.nix3
-rw-r--r--pkgs/tools/misc/opentsdb/default.nix3
-rw-r--r--pkgs/tools/misc/oppai-ng/default.nix4
-rw-r--r--pkgs/tools/misc/os-prober/default.nix4
-rw-r--r--pkgs/tools/misc/osinfo-db-tools/default.nix4
-rw-r--r--pkgs/tools/misc/osm2pgsql/default.nix4
-rw-r--r--pkgs/tools/misc/pcb2gcode/default.nix46
-rw-r--r--pkgs/tools/misc/pdd/default.nix2
-rw-r--r--pkgs/tools/misc/pdf-parser/default.nix2
-rw-r--r--pkgs/tools/misc/pgcenter/default.nix16
-rw-r--r--pkgs/tools/misc/pgmetrics/default.nix2
-rw-r--r--pkgs/tools/misc/phoronix-test-suite/default.nix4
-rw-r--r--pkgs/tools/misc/phraseapp-client/default.nix2
-rw-r--r--pkgs/tools/misc/pistol/default.nix2
-rw-r--r--pkgs/tools/misc/piston-cli/default.nix24
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/powerline-go/default.nix8
-rw-r--r--pkgs/tools/misc/pubs/default.nix2
-rw-r--r--pkgs/tools/misc/rargs/default.nix2
-rw-r--r--pkgs/tools/misc/rauc/default.nix4
-rw-r--r--pkgs/tools/misc/rename/default.nix2
-rw-r--r--pkgs/tools/misc/rpm-ostree/default.nix4
-rw-r--r--pkgs/tools/misc/sfeed/default.nix4
-rw-r--r--pkgs/tools/misc/shelldap/default.nix2
-rw-r--r--pkgs/tools/misc/smenu/default.nix21
-rw-r--r--pkgs/tools/misc/snapper/default.nix2
-rw-r--r--pkgs/tools/misc/starship/default.nix24
-rw-r--r--pkgs/tools/misc/staruml/default.nix1
-rw-r--r--pkgs/tools/misc/swaglyrics/default.nix2
-rw-r--r--pkgs/tools/misc/systrayhelper/default.nix2
-rw-r--r--pkgs/tools/misc/tagref/default.nix2
-rw-r--r--pkgs/tools/misc/tensorman/default.nix2
-rw-r--r--pkgs/tools/misc/tewisay/default.nix2
-rw-r--r--pkgs/tools/misc/thefuck/default.nix18
-rw-r--r--pkgs/tools/misc/tmux-mem-cpu-load/default.nix23
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix2
-rw-r--r--pkgs/tools/misc/togglesg-download/default.nix2
-rw-r--r--pkgs/tools/misc/topgrade/default.nix10
-rw-r--r--pkgs/tools/misc/trash-cli/default.nix2
-rw-r--r--pkgs/tools/misc/trillian/default.nix16
-rw-r--r--pkgs/tools/misc/ttwatch/default.nix6
-rw-r--r--pkgs/tools/misc/tydra/default.nix2
-rw-r--r--pkgs/tools/misc/uhubctl/default.nix10
-rw-r--r--pkgs/tools/misc/unicode/default.nix2
-rw-r--r--pkgs/tools/misc/upower-notify/default.nix2
-rw-r--r--pkgs/tools/misc/upterm/default.nix39
-rw-r--r--pkgs/tools/misc/uutils-coreutils/default.nix13
-rw-r--r--pkgs/tools/misc/venus/default.nix53
-rw-r--r--pkgs/tools/misc/vimwiki-markdown/default.nix2
-rw-r--r--pkgs/tools/misc/vivid/default.nix2
-rw-r--r--pkgs/tools/misc/void/default.nix2
-rw-r--r--pkgs/tools/misc/vsh/default.nix12
-rw-r--r--pkgs/tools/misc/wakatime/default.nix2
-rw-r--r--pkgs/tools/misc/wimboot/default.nix13
-rw-r--r--pkgs/tools/misc/wlr-randr/default.nix4
-rw-r--r--pkgs/tools/misc/wob/default.nix4
-rw-r--r--pkgs/tools/misc/xdxf2slob/default.nix2
-rw-r--r--pkgs/tools/misc/xflux/gui.nix2
-rw-r--r--pkgs/tools/misc/xmonad-log/default.nix2
-rw-r--r--pkgs/tools/misc/yle-dl/default.nix2
-rw-r--r--pkgs/tools/misc/you-get/default.nix2
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/misc/yubikey-manager-qt/default.nix5
-rw-r--r--pkgs/tools/misc/yubikey-manager/default.nix4
-rw-r--r--pkgs/tools/misc/yubikey-neo-manager/default.nix2
-rw-r--r--pkgs/tools/misc/yubikey-personalization-gui/default.nix2
-rw-r--r--pkgs/tools/misc/z-lua/default.nix4
-rw-r--r--pkgs/tools/misc/zabbixctl/default.nix2
-rw-r--r--pkgs/tools/misc/zoxide/default.nix11
-rw-r--r--pkgs/tools/networking/acme-client/default.nix4
-rw-r--r--pkgs/tools/networking/airfield/node-packages.nix174
-rw-r--r--pkgs/tools/networking/airfield/node.nix8
-rw-r--r--pkgs/tools/networking/amass/default.nix6
-rw-r--r--pkgs/tools/networking/assh/default.nix2
-rw-r--r--pkgs/tools/networking/atftp/default.nix4
-rw-r--r--pkgs/tools/networking/autossh/default.nix9
-rw-r--r--pkgs/tools/networking/badvpn/default.nix2
-rw-r--r--pkgs/tools/networking/bgpdump/default.nix2
-rw-r--r--pkgs/tools/networking/boundary/default.nix54
-rwxr-xr-xpkgs/tools/networking/boundary/update.sh39
-rw-r--r--pkgs/tools/networking/brook/default.nix2
-rw-r--r--pkgs/tools/networking/bsd-finger/default.nix2
-rw-r--r--pkgs/tools/networking/bukubrow/default.nix2
-rw-r--r--pkgs/tools/networking/cassowary/default.nix4
-rw-r--r--pkgs/tools/networking/chisel/default.nix37
-rw-r--r--pkgs/tools/networking/circus/default.nix2
-rw-r--r--pkgs/tools/networking/clash/default.nix2
-rw-r--r--pkgs/tools/networking/connman/connman-notify/default.nix2
-rw-r--r--pkgs/tools/networking/connman/connman.nix4
-rw-r--r--pkgs/tools/networking/corerad/default.nix2
-rw-r--r--pkgs/tools/networking/croc/default.nix2
-rw-r--r--pkgs/tools/networking/curl-unix-socket/default.nix2
-rw-r--r--pkgs/tools/networking/dd-agent/datadog-agent.nix2
-rw-r--r--pkgs/tools/networking/dd-agent/datadog-process-agent.nix2
-rw-r--r--pkgs/tools/networking/ddclient/default.nix2
-rw-r--r--pkgs/tools/networking/dnscrypt-proxy2/default.nix2
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix7
-rw-r--r--pkgs/tools/networking/dnsproxy/default.nix6
-rw-r--r--pkgs/tools/networking/driftnet/default.nix67
-rw-r--r--pkgs/tools/networking/driftnet/fix-darwin-build.patch61
-rw-r--r--pkgs/tools/networking/ferm/default.nix4
-rw-r--r--pkgs/tools/networking/filegive/default.nix2
-rw-r--r--pkgs/tools/networking/findomain/default.nix6
-rw-r--r--pkgs/tools/networking/frp/default.nix4
-rw-r--r--pkgs/tools/networking/getmail/default.nix2
-rw-r--r--pkgs/tools/networking/getmail6/default.nix31
-rw-r--r--pkgs/tools/networking/gobgp/default.nix33
-rw-r--r--pkgs/tools/networking/goimapnotify/default.nix6
-rw-r--r--pkgs/tools/networking/goklp/default.nix2
-rw-r--r--pkgs/tools/networking/goreplay/default.nix2
-rw-r--r--pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--pkgs/tools/networking/http-prompt/default.nix2
-rw-r--r--pkgs/tools/networking/httpie/default.nix42
-rw-r--r--pkgs/tools/networking/httpie/strip-venv.patch13
-rw-r--r--pkgs/tools/networking/httplab/default.nix2
-rw-r--r--pkgs/tools/networking/httpstat/default.nix2
-rw-r--r--pkgs/tools/networking/i2pd/default.nix5
-rw-r--r--pkgs/tools/networking/ipgrep/default.nix2
-rw-r--r--pkgs/tools/networking/isync/default.nix10
-rw-r--r--pkgs/tools/networking/jnettop/default.nix2
-rw-r--r--pkgs/tools/networking/kail/default.nix2
-rw-r--r--pkgs/tools/networking/linkchecker/default.nix6
-rw-r--r--pkgs/tools/networking/lxi-tools/default.nix4
-rw-r--r--pkgs/tools/networking/mailsend/default.nix2
-rw-r--r--pkgs/tools/networking/mailutils/default.nix12
-rw-r--r--pkgs/tools/networking/minio-client/default.nix8
-rw-r--r--pkgs/tools/networking/modem-manager/default.nix4
-rw-r--r--pkgs/tools/networking/mosh/default.nix10
-rw-r--r--pkgs/tools/networking/mtr/default.nix16
-rw-r--r--pkgs/tools/networking/nebula/default.nix2
-rw-r--r--pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch26
-rw-r--r--pkgs/tools/networking/nikto/default.nix64
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix2
-rw-r--r--pkgs/tools/networking/openresolv/default.nix4
-rw-r--r--pkgs/tools/networking/persepolis/default.nix4
-rw-r--r--pkgs/tools/networking/photon/default.nix2
-rw-r--r--pkgs/tools/networking/pirate-get/default.nix2
-rw-r--r--pkgs/tools/networking/pixiecore/default.nix2
-rw-r--r--pkgs/tools/networking/polysh/default.nix2
-rw-r--r--pkgs/tools/networking/privoxy/default.nix4
-rw-r--r--pkgs/tools/networking/proxify/default.nix2
-rw-r--r--pkgs/tools/networking/proxychains/default.nix24
-rw-r--r--pkgs/tools/networking/pssh/default.nix2
-rw-r--r--pkgs/tools/networking/pykms/default.nix55
-rw-r--r--pkgs/tools/networking/pykms/log-to-current-directory-by-default.patch20
-rw-r--r--pkgs/tools/networking/radvd/default.nix4
-rw-r--r--pkgs/tools/networking/rcon/default.nix4
-rw-r--r--pkgs/tools/networking/s3cmd/default.nix2
-rw-r--r--pkgs/tools/networking/s3gof3r/default.nix2
-rw-r--r--pkgs/tools/networking/s4cmd/default.nix2
-rw-r--r--pkgs/tools/networking/s6-networking/default.nix3
-rw-r--r--pkgs/tools/networking/shadowfox/default.nix2
-rw-r--r--pkgs/tools/networking/subfinder/default.nix2
-rw-r--r--pkgs/tools/networking/swaks/default.nix6
-rw-r--r--pkgs/tools/networking/tcpreplay/default.nix4
-rw-r--r--pkgs/tools/networking/tdns-cli/default.nix2
-rw-r--r--pkgs/tools/networking/tendermint/default.nix8
-rw-r--r--pkgs/tools/networking/termshark/default.nix8
-rw-r--r--pkgs/tools/networking/tox-node/default.nix8
-rw-r--r--pkgs/tools/networking/tridactyl-native/default.nix4
-rw-r--r--pkgs/tools/networking/ua/default.nix2
-rw-r--r--pkgs/tools/networking/urlwatch/default.nix2
-rw-r--r--pkgs/tools/networking/waitron/default.nix2
-rw-r--r--pkgs/tools/networking/wakeonlan/default.nix29
-rw-r--r--pkgs/tools/networking/weighttp/default.nix9
-rw-r--r--pkgs/tools/networking/wifite2/default.nix2
-rw-r--r--pkgs/tools/networking/wireguard-go/default.nix2
-rw-r--r--pkgs/tools/networking/wormhole-william/default.nix2
-rw-r--r--pkgs/tools/networking/wstunnel/default.nix2
-rw-r--r--pkgs/tools/networking/wuzz/default.nix2
-rw-r--r--pkgs/tools/networking/xh/default.nix31
-rw-r--r--pkgs/tools/networking/yrd/default.nix2
-rw-r--r--pkgs/tools/networking/zerotierone/default.nix4
-rw-r--r--pkgs/tools/nix/cached-nix-shell/default.nix2
-rw-r--r--pkgs/tools/nix/nar-serve/default.nix2
-rw-r--r--pkgs/tools/nix/nix-output-monitor/default.nix2
-rw-r--r--pkgs/tools/nix/nix-query-tree-viewer/default.nix2
-rw-r--r--pkgs/tools/package-management/apk-tools/default.nix25
-rw-r--r--pkgs/tools/package-management/appimage-run/default.nix4
-rw-r--r--pkgs/tools/package-management/appimage-run/test.nix24
-rw-r--r--pkgs/tools/package-management/cargo-kcov/default.nix3
-rw-r--r--pkgs/tools/package-management/cargo-outdated/default.nix6
-rw-r--r--pkgs/tools/package-management/checkinstall/default.nix3
-rw-r--r--pkgs/tools/package-management/disnix/DisnixWebService/default.nix28
-rw-r--r--pkgs/tools/package-management/disnix/default.nix20
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix20
-rw-r--r--pkgs/tools/package-management/disnix/dydisnix/default.nix27
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix71
-rw-r--r--pkgs/tools/package-management/emplace/default.nix8
-rw-r--r--pkgs/tools/package-management/gx/default.nix2
-rw-r--r--pkgs/tools/package-management/gx/go/default.nix2
-rw-r--r--pkgs/tools/package-management/holo-build/default.nix59
-rw-r--r--pkgs/tools/package-management/libdnf/darwin.patch30
-rw-r--r--pkgs/tools/package-management/libdnf/default.nix6
-rw-r--r--pkgs/tools/package-management/librepo/default.nix4
-rw-r--r--pkgs/tools/package-management/microdnf/default.nix4
-rw-r--r--pkgs/tools/package-management/mynewt-newt/default.nix2
-rw-r--r--pkgs/tools/package-management/nfpm/default.nix6
-rw-r--r--pkgs/tools/package-management/nix-doc/default.nix2
-rw-r--r--pkgs/tools/package-management/nix-simple-deploy/default.nix2
-rw-r--r--pkgs/tools/package-management/nix/default.nix12
-rw-r--r--pkgs/tools/package-management/nixops/default.nix62
-rw-r--r--pkgs/tools/package-management/nixops/generic.nix56
-rw-r--r--pkgs/tools/package-management/nixops/nixops-v1_6_1.nix32
-rw-r--r--pkgs/tools/package-management/nixops/optional-virtd.patch24
-rw-r--r--pkgs/tools/package-management/nixops/unstable.nix13
-rw-r--r--pkgs/tools/package-management/nixpkgs-review/default.nix3
-rw-r--r--pkgs/tools/package-management/nixui/nixui.nix8
-rw-r--r--pkgs/tools/package-management/nixui/node-packages.nix22
-rw-r--r--pkgs/tools/package-management/protontricks/default.nix4
-rw-r--r--pkgs/tools/package-management/protontricks/steam-run.patch76
-rw-r--r--pkgs/tools/package-management/python2nix/default.nix2
-rw-r--r--pkgs/tools/package-management/rpm/default.nix5
-rw-r--r--pkgs/tools/package-management/smlpkg/default.nix42
-rw-r--r--pkgs/tools/security/1password-gui/default.nix4
-rw-r--r--pkgs/tools/security/2fa/default.nix2
-rw-r--r--pkgs/tools/security/aide/default.nix4
-rw-r--r--pkgs/tools/security/aws-iam-authenticator/default.nix16
-rw-r--r--pkgs/tools/security/aws-okta/default.nix2
-rw-r--r--pkgs/tools/security/bash-supergenpass/default.nix10
-rw-r--r--pkgs/tools/security/bitwarden/default.nix4
-rw-r--r--pkgs/tools/security/bitwarden_rs/default.nix8
-rw-r--r--pkgs/tools/security/bitwarden_rs/vault.nix8
-rw-r--r--pkgs/tools/security/ccid/default.nix4
-rw-r--r--pkgs/tools/security/certmgr/default.nix2
-rw-r--r--pkgs/tools/security/certstrap/default.nix2
-rw-r--r--pkgs/tools/security/cfssl/default.nix2
-rw-r--r--pkgs/tools/security/chrome-token-signing/default.nix2
-rw-r--r--pkgs/tools/security/clamav/default.nix4
-rw-r--r--pkgs/tools/security/cloudbrute/default.nix2
-rw-r--r--pkgs/tools/security/creddump/default.nix2
-rw-r--r--pkgs/tools/security/crlfuzz/default.nix2
-rw-r--r--pkgs/tools/security/crowbar/default.nix2
-rw-r--r--pkgs/tools/security/crunch/default.nix3
-rw-r--r--pkgs/tools/security/deepsea/default.nix2
-rw-r--r--pkgs/tools/security/dnsrecon/default.nix2
-rw-r--r--pkgs/tools/security/dnsx/default.nix2
-rw-r--r--pkgs/tools/security/doas/default.nix8
-rw-r--r--pkgs/tools/security/doppler/default.nix4
-rw-r--r--pkgs/tools/security/enpass/default.nix4
-rw-r--r--pkgs/tools/security/ffuf/default.nix8
-rw-r--r--pkgs/tools/security/fido2luks/default.nix8
-rw-r--r--pkgs/tools/security/fierce/default.nix2
-rw-r--r--pkgs/tools/security/gau/default.nix2
-rw-r--r--pkgs/tools/security/gencfsm/default.nix2
-rw-r--r--pkgs/tools/security/gnome-keysign/default.nix2
-rw-r--r--pkgs/tools/security/gnupg/22.nix2
-rw-r--r--pkgs/tools/security/go-cve-search/default.nix32
-rw-r--r--pkgs/tools/security/gopass/default.nix16
-rw-r--r--pkgs/tools/security/gospider/default.nix2
-rw-r--r--pkgs/tools/security/grype/default.nix8
-rw-r--r--pkgs/tools/security/hcxtools/default.nix7
-rw-r--r--pkgs/tools/security/hologram/default.nix2
-rw-r--r--pkgs/tools/security/httpdump/default.nix29
-rw-r--r--pkgs/tools/security/httpx/default.nix2
-rw-r--r--pkgs/tools/security/ike-scan/default.nix54
-rw-r--r--pkgs/tools/security/keybase/default.nix4
-rw-r--r--pkgs/tools/security/keybase/gui.nix6
-rw-r--r--pkgs/tools/security/keybase/kbfs.nix2
-rw-r--r--pkgs/tools/security/keycard-cli/default.nix4
-rw-r--r--pkgs/tools/security/knockknock/default.nix2
-rw-r--r--pkgs/tools/security/lesspass-cli/default.nix2
-rw-r--r--pkgs/tools/security/masscan/default.nix31
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock66
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix104
-rw-r--r--pkgs/tools/security/notary/default.nix2
-rw-r--r--pkgs/tools/security/nuclei/default.nix2
-rw-r--r--pkgs/tools/security/onioncircuits/default.nix2
-rw-r--r--pkgs/tools/security/pbis/default.nix2
-rw-r--r--pkgs/tools/security/pcsc-safenet/default.nix96
-rw-r--r--pkgs/tools/security/pinentry/mac.nix3
-rw-r--r--pkgs/tools/security/pius/default.nix2
-rw-r--r--pkgs/tools/security/proxmark3/proxmark3-rrg.nix38
-rw-r--r--pkgs/tools/security/pyrit/default.nix2
-rw-r--r--pkgs/tools/security/qdigidoc/default.nix2
-rw-r--r--pkgs/tools/security/rage/default.nix3
-rw-r--r--pkgs/tools/security/rng-tools/default.nix4
-rw-r--r--pkgs/tools/security/safe/default.nix2
-rw-r--r--pkgs/tools/security/saml2aws/default.nix2
-rw-r--r--pkgs/tools/security/sequoia/default.nix10
-rw-r--r--pkgs/tools/security/sops/default.nix2
-rw-r--r--pkgs/tools/security/ssh-to-pgp/default.nix29
-rw-r--r--pkgs/tools/security/subjs/default.nix2
-rw-r--r--pkgs/tools/security/sudo/default.nix4
-rw-r--r--pkgs/tools/security/sudolikeaboss/default.nix2
-rw-r--r--pkgs/tools/security/tcpcrypt/default.nix2
-rw-r--r--pkgs/tools/security/teler/default.nix8
-rw-r--r--pkgs/tools/security/terrascan/default.nix6
-rw-r--r--pkgs/tools/security/tor/default.nix6
-rw-r--r--pkgs/tools/security/tpm-luks/default.nix1
-rw-r--r--pkgs/tools/security/urlhunter/default.nix2
-rw-r--r--pkgs/tools/security/vault/default.nix6
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix10
-rw-r--r--pkgs/tools/security/volatility/default.nix2
-rw-r--r--pkgs/tools/security/vulnix/default.nix2
-rw-r--r--pkgs/tools/security/xortool/default.nix35
-rw-r--r--pkgs/tools/system/at/default.nix2
-rw-r--r--pkgs/tools/system/auto-cpufreq/default.nix (renamed from pkgs/tools/system/autocpu-freq/default.nix)15
-rw-r--r--pkgs/tools/system/auto-cpufreq/prevent-install-and-copy.patch (renamed from pkgs/tools/system/autocpu-freq/prevent-install-and-copy.patch)160
-rw-r--r--pkgs/tools/system/awstats/default.nix2
-rw-r--r--pkgs/tools/system/bottom/default.nix6
-rw-r--r--pkgs/tools/system/bpytop/default.nix4
-rw-r--r--pkgs/tools/system/cm-rgb/default.nix2
-rw-r--r--pkgs/tools/system/consul-template/default.nix2
-rw-r--r--pkgs/tools/system/di/default.nix4
-rw-r--r--pkgs/tools/system/envconsul/default.nix2
-rw-r--r--pkgs/tools/system/facter/default.nix4
-rw-r--r--pkgs/tools/system/freeipmi/default.nix4
-rw-r--r--pkgs/tools/system/gdu/default.nix7
-rw-r--r--pkgs/tools/system/go-audit/default.nix29
-rw-r--r--pkgs/tools/system/gotop/default.nix13
-rw-r--r--pkgs/tools/system/honcho/default.nix2
-rw-r--r--pkgs/tools/system/hwinfo/default.nix4
-rw-r--r--pkgs/tools/system/inxi/default.nix4
-rw-r--r--pkgs/tools/system/ior/default.nix4
-rw-r--r--pkgs/tools/system/ipmitool/default.nix2
-rw-r--r--pkgs/tools/system/journalwatch/default.nix2
-rw-r--r--pkgs/tools/system/jump/default.nix6
-rw-r--r--pkgs/tools/system/localtime/default.nix2
-rw-r--r--pkgs/tools/system/logcheck/default.nix4
-rw-r--r--pkgs/tools/system/netdata/default.nix4
-rw-r--r--pkgs/tools/system/nq/default.nix2
-rw-r--r--pkgs/tools/system/pcstat/default.nix2
-rw-r--r--pkgs/tools/system/ps_mem/default.nix2
-rw-r--r--pkgs/tools/system/s-tui/default.nix2
-rw-r--r--pkgs/tools/system/s6-rc/default.nix2
-rw-r--r--pkgs/tools/system/sleuthkit/default.nix6
-rw-r--r--pkgs/tools/system/smartmontools/default.nix5
-rw-r--r--pkgs/tools/system/socklog/default.nix4
-rw-r--r--pkgs/tools/system/systemd-journal2gelf/default.nix2
-rw-r--r--pkgs/tools/system/thinkfan/default.nix58
-rw-r--r--pkgs/tools/system/throttled/default.nix2
-rw-r--r--pkgs/tools/system/tre-command/default.nix2
-rw-r--r--pkgs/tools/system/tuptime/default.nix4
-rw-r--r--pkgs/tools/system/vbetool/default.nix2
-rw-r--r--pkgs/tools/text/angle-grinder/default.nix2
-rw-r--r--pkgs/tools/text/ansifilter/default.nix4
-rw-r--r--pkgs/tools/text/choose/default.nix2
-rw-r--r--pkgs/tools/text/codesearch/default.nix2
-rw-r--r--pkgs/tools/text/colordiff/default.nix36
-rw-r--r--pkgs/tools/text/each/default.nix25
-rw-r--r--pkgs/tools/text/fanficfare/default.nix2
-rw-r--r--pkgs/tools/text/gjo/default.nix2
-rw-r--r--pkgs/tools/text/gnused/default.nix2
-rw-r--r--pkgs/tools/text/grin/default.nix2
-rw-r--r--pkgs/tools/text/gucci/default.nix2
-rw-r--r--pkgs/tools/text/highlight/default.nix4
-rw-r--r--pkgs/tools/text/icdiff/default.nix2
-rw-r--r--pkgs/tools/text/invoice2data/default.nix2
-rw-r--r--pkgs/tools/text/kdiff3/default.nix4
-rw-r--r--pkgs/tools/text/mark/default.nix24
-rw-r--r--pkgs/tools/text/markdown-pp/default.nix2
-rw-r--r--pkgs/tools/text/ocrmypdf/0001-Make-compatible-with-pdfminer.six-version-20200720.patch52
-rw-r--r--pkgs/tools/text/ocrmypdf/default.nix13
-rw-r--r--pkgs/tools/text/pbgopy/default.nix2
-rw-r--r--pkgs/tools/text/platinum-searcher/default.nix2
-rw-r--r--pkgs/tools/text/proselint/default.nix2
-rw-r--r--pkgs/tools/text/reckon/Gemfile.lock4
-rw-r--r--pkgs/tools/text/reckon/default.nix2
-rw-r--r--pkgs/tools/text/reckon/gemset.nix10
-rw-r--r--pkgs/tools/text/ripgrep/default.nix6
-rw-r--r--pkgs/tools/text/robodoc/default.nix48
-rw-r--r--pkgs/tools/text/rpl/default.nix2
-rw-r--r--pkgs/tools/text/schema2ldif/default.nix4
-rw-r--r--pkgs/tools/text/shfmt/default.nix4
-rw-r--r--pkgs/tools/text/source-highlight/default.nix27
-rw-r--r--pkgs/tools/text/transifex-client/default.nix2
-rw-r--r--pkgs/tools/text/vale/default.nix4
-rw-r--r--pkgs/tools/text/wdiff/default.nix13
-rw-r--r--pkgs/tools/text/xurls/default.nix2
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix34
-rw-r--r--pkgs/tools/typesetting/hevea/default.nix4
-rw-r--r--pkgs/tools/typesetting/lout/CVE-2019-19917-and-CVE-2019-19918.patch95
-rw-r--r--pkgs/tools/typesetting/lout/default.nix5
-rw-r--r--pkgs/tools/typesetting/lowdown/default.nix23
-rw-r--r--pkgs/tools/typesetting/lowdown/shared.patch41
-rw-r--r--pkgs/tools/typesetting/mmark/default.nix2
-rw-r--r--pkgs/tools/typesetting/odpdown/default.nix2
-rw-r--r--pkgs/tools/typesetting/satysfi/default.nix9
-rw-r--r--pkgs/tools/typesetting/sile/default.nix5
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix6
-rw-r--r--pkgs/tools/typesetting/tex/texlive/combine.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix4
-rw-r--r--pkgs/tools/typesetting/tikzit/default.nix2
-rw-r--r--pkgs/tools/video/atomicparsley/default.nix4
-rw-r--r--pkgs/tools/video/rav1e/default.nix10
-rw-r--r--pkgs/tools/video/rtmpdump/default.nix2
-rw-r--r--pkgs/tools/video/untrunc/default.nix39
-rw-r--r--pkgs/tools/video/vnc2flv/default.nix2
-rw-r--r--pkgs/tools/virtualization/awless/default.nix2
-rw-r--r--pkgs/tools/virtualization/awsebcli/default.nix2
-rw-r--r--pkgs/tools/virtualization/distrobuilder/default.nix2
-rw-r--r--pkgs/tools/virtualization/ec2instanceconnectcli/default.nix25
-rw-r--r--pkgs/tools/virtualization/euca2ools/default.nix2
-rw-r--r--pkgs/tools/virtualization/marathonctl/default.nix2
-rw-r--r--pkgs/tools/virtualization/shipyard/default.nix6
-rw-r--r--pkgs/tools/virtualization/udocker/default.nix2
663 files changed, 3758 insertions, 2327 deletions
diff --git a/pkgs/tools/X11/arandr/default.nix b/pkgs/tools/X11/arandr/default.nix
index 00296bc54af..e6f4b5f6ff1 100644
--- a/pkgs/tools/X11/arandr/default.nix
+++ b/pkgs/tools/X11/arandr/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, python3Packages
+{ lib, fetchurl, python3Packages
 , gobject-introspection, gsettings-desktop-schemas, gtk3
 , wrapGAppsHook, xrandr
 }:
diff --git a/pkgs/tools/X11/go-sct/default.nix b/pkgs/tools/X11/go-sct/default.nix
index 2d6965567b7..8744c493b71 100644
--- a/pkgs/tools/X11/go-sct/default.nix
+++ b/pkgs/tools/X11/go-sct/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, xorg, buildGoPackage, fetchFromGitHub }:
+{ lib, xorg, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "go-sct";
diff --git a/pkgs/tools/X11/grobi/default.nix b/pkgs/tools/X11/grobi/default.nix
index 1ebd8ccc4e4..3071ef31781 100644
--- a/pkgs/tools/X11/grobi/default.nix
+++ b/pkgs/tools/X11/grobi/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoModule, fetchpatch }:
+{ lib, fetchFromGitHub, buildGoModule, fetchpatch }:
 
 buildGoModule rec {
   version = "0.6.0";
diff --git a/pkgs/tools/X11/nx-libs/default.nix b/pkgs/tools/X11/nx-libs/default.nix
index bb763962ceb..b92344bf9c4 100644
--- a/pkgs/tools/X11/nx-libs/default.nix
+++ b/pkgs/tools/X11/nx-libs/default.nix
@@ -4,12 +4,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nx-libs";
-  version = "3.5.99.25";
+  version = "3.5.99.26";
   src = fetchFromGitHub {
     owner = "ArcticaProject";
     repo = "nx-libs";
     rev = version;
-    sha256 = "01aqdwy0i4nxdyfa24bwnrqjz93q0idihdaqals2yjqpg160nwfc";
+    sha256 = "sha256-qVOdD85sBMxKYx1cSLAGKeODsKKAm9UPBmYzPBbBOzQ=";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkg-config which
diff --git a/pkgs/tools/X11/opentabletdriver/default.nix b/pkgs/tools/X11/opentabletdriver/default.nix
index 6955f36b8f1..0ab7be8374c 100644
--- a/pkgs/tools/X11/opentabletdriver/default.nix
+++ b/pkgs/tools/X11/opentabletdriver/default.nix
@@ -23,18 +23,18 @@
 
 stdenv.mkDerivation rec {
   pname = "OpenTabletDriver";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "InfinityGhost";
     repo = "OpenTabletDriver";
     rev = "v${version}";
-    sha256 = "1xi97nn5zb4fs3pyyqznvxnz07j30j3p967s7jigjmlm9321vkqp";
+    sha256 = "1if2mkj193yzf5si9pwaynrm6wkhqy7ihk4k1lklzcryk5675w36";
   };
 
   debPkg = fetchurl {
     url = "https://github.com/InfinityGhost/OpenTabletDriver/releases/download/v${version}/OpenTabletDriver.deb";
-    sha256 = "06m2g5qvc02ga9f98f2ssa7wr2b7b2qm90qwaf17fz5z8rr0qmp0";
+    sha256 = "16a1rr0yxra1dhwysbbfgsxpigh2jhjlsl7r28dgp8qcxncck7wg";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/X11/wmutils-core/default.nix b/pkgs/tools/X11/wmutils-core/default.nix
index c8f3bd52c3e..9250a10064f 100644
--- a/pkgs/tools/X11/wmutils-core/default.nix
+++ b/pkgs/tools/X11/wmutils-core/default.nix
@@ -1,15 +1,15 @@
-{ lib, stdenv, fetchurl, libxcb }:
+{ lib, stdenv, fetchurl, libxcb, xcbutil, xcb-util-cursor }:
 
 stdenv.mkDerivation rec {
   pname = "wmutils-core";
-  version = "1.1";
+  version = "1.5";
 
   src = fetchurl {
     url = "https://github.com/wmutils/core/archive/v${version}.tar.gz";
-    sha256 = "0aq95khs154j004b79w9rgm80vpggxfqynha5rckm2cx20d1fa5s";
+    sha256 = "0wk39aq2lrnc0wjs8pv3cigw3lwy2qzaw0v61bwknd5wabm25bvj";
   };
 
-  buildInputs = [ libxcb ];
+  buildInputs = [ libxcb xcbutil xcb-util-cursor ];
 
   installFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/tools/X11/wpgtk/default.nix b/pkgs/tools/X11/wpgtk/default.nix
index f2864ca2eb5..cf9bbd9bb98 100644
--- a/pkgs/tools/X11/wpgtk/default.nix
+++ b/pkgs/tools/X11/wpgtk/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages, fetchFromGitHub, libxslt,
+{ lib, python3Packages, fetchFromGitHub, libxslt,
   gobject-introspection, gtk3, wrapGAppsHook, gnome3 }:
 
 python3Packages.buildPythonApplication rec {
diff --git a/pkgs/tools/X11/xmagnify/default.nix b/pkgs/tools/X11/xmagnify/default.nix
index 797d624323b..b4df0f00342 100644
--- a/pkgs/tools/X11/xmagnify/default.nix
+++ b/pkgs/tools/X11/xmagnify/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "1ngnp5f5zl3v35vhbdyjpymy6mwrs0476fm5nd7dzkba7n841jdh";
   };
 
-  prePatch = ''substituteInPlace ./Makefile --replace /usr $out'';
+  prePatch = "substituteInPlace ./Makefile --replace /usr $out";
 
   buildInputs = [ libX11 xorgproto ];
 
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 0c1accd36fb..0dffdf7bbf7 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, callPackage, substituteAll, python3, pkg-config, writeText
+{ lib, fetchurl, callPackage, substituteAll, python3, pkg-config, writeText
 , xorg, gtk3, glib, pango, cairo, gdk-pixbuf, atk
 , wrapGAppsHook, xorgserver, getopt, xauth, util-linux, which
 , ffmpeg, x264, libvpx, libwebp, x265
diff --git a/pkgs/tools/X11/xprintidle-ng/default.nix b/pkgs/tools/X11/xprintidle-ng/default.nix
index 9e7b85f6ef9..758450d3654 100644
--- a/pkgs/tools/X11/xprintidle-ng/default.nix
+++ b/pkgs/tools/X11/xprintidle-ng/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     inherit  version;
-    description = ''A command-line tool to print idle time from libXss'';
+    description = "A command-line tool to print idle time from libXss";
     homepage = "http://taktoa.me/xprintidle-ng/";
     license = lib.licenses.gpl2;
     maintainers = [lib.maintainers.raskin];
diff --git a/pkgs/tools/X11/xsettingsd/SConstruct.patch b/pkgs/tools/X11/xsettingsd/SConstruct.patch
deleted file mode 100644
index bae8d1efc14..00000000000
--- a/pkgs/tools/X11/xsettingsd/SConstruct.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/SConstruct b/SConstruct
-index bebc82e..3e0127b 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -59,6 +59,8 @@ srcs = Split('''\
- ''')
- libxsettingsd = env.Library('xsettingsd', srcs)
- env['LIBS'] = libxsettingsd
-+env['ENV']['PATH'] = os.environ.get('PATH', '')
-+env['ENV']['PKG_CONFIG_PATH'] = os.environ.get('PKG_CONFIG_PATH', '')
- env.ParseConfig('pkg-config --cflags --libs x11')
- 
- xsettingsd     = env.Program('xsettingsd', 'xsettingsd.cc')
diff --git a/pkgs/tools/X11/xsettingsd/default.nix b/pkgs/tools/X11/xsettingsd/default.nix
index 7572e19fbf9..0fe260e3db1 100644
--- a/pkgs/tools/X11/xsettingsd/default.nix
+++ b/pkgs/tools/X11/xsettingsd/default.nix
@@ -1,38 +1,31 @@
-{ lib, stdenv, fetchFromGitHub, scons, pkg-config, libX11 }:
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libX11 }:
 
 stdenv.mkDerivation rec {
   pname = "xsettingsd";
-  version = "1.0.0";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "derat";
     repo = "xsettingsd";
     rev = "v${version}";
-    sha256 = "05m4jlw0mgwp24cvyklncpziq1prr2lg0cq9c055sh4n9d93d07v";
+    sha256 = "sha256-CIYshZqJICuL8adKHIN4R6nudaqWOCK2UPrGhsKf9pE=";
   };
 
-  patches = [
-    ./SConstruct.patch
-  ];
-
-  nativeBuildInputs = [ scons pkg-config ];
+  nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [ libX11 ];
 
-  buildPhase = ''
-    scons -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES
-  '';
-
-  installPhase = ''
-    install -D -t "$out"/bin xsettingsd dump_xsettings
-    install -D -t "$out"/usr/share/man/man1 xsettingsd.1 dump_xsettings.1
+  # we end up with symlinked unit files if we don't move them around ourselves
+  postFixup = ''
+    rm -r $out/lib/systemd
+    mv $out/share/systemd $out/lib
   '';
 
   meta = with lib; {
     description = "Provides settings to X11 applications via the XSETTINGS specification";
     homepage = "https://github.com/derat/xsettingsd";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ romildo ];
     platforms = platforms.linux;
-    maintainers = [ maintainers.romildo ];
   };
 }
diff --git a/pkgs/tools/X11/xwallpaper/default.nix b/pkgs/tools/X11/xwallpaper/default.nix
index 55c5f863615..234b89f94cd 100644
--- a/pkgs/tools/X11/xwallpaper/default.nix
+++ b/pkgs/tools/X11/xwallpaper/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xwallpaper";
-  version = "0.6.5";
+  version = "0.6.6";
 
   src = fetchFromGitHub {
     owner = "stoeckmann";
     repo = "xwallpaper";
     rev = "v${version}";
-    sha256 = "121ai4dc0v65qk12gn9w62ixly8hc8a5qrygkbb82vy8ck4jqxj7";
+    sha256 = "sha256-WYtbwMFzvJ0Xr84gGoKSofSSnmb7Qn6ioGMOnQOqdII=";
   };
 
   preConfigure = "./autogen.sh";
diff --git a/pkgs/tools/X11/xwinmosaic/default.nix b/pkgs/tools/X11/xwinmosaic/default.nix
index 81cefb01c7f..311f1e42901 100644
--- a/pkgs/tools/X11/xwinmosaic/default.nix
+++ b/pkgs/tools/X11/xwinmosaic/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     inherit version;
-    description = ''X window switcher drawing a colourful grid'';
+    description = "X window switcher drawing a colourful grid";
     license = lib.licenses.bsd2 ;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/admin/afterburn/default.nix b/pkgs/tools/admin/afterburn/default.nix
index 0d3cd957324..8a42a011da9 100644
--- a/pkgs/tools/admin/afterburn/default.nix
+++ b/pkgs/tools/admin/afterburn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, openssl, pkg-config, fetchFromGitHub, rustPlatform }:
+{ lib, openssl, pkg-config, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
   pname = "afterburn";
diff --git a/pkgs/tools/admin/aws-mfa/default.nix b/pkgs/tools/admin/aws-mfa/default.nix
new file mode 100644
index 00000000000..12f63e627e6
--- /dev/null
+++ b/pkgs/tools/admin/aws-mfa/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, pkgs
+, boto3
+}:
+
+buildPythonApplication rec {
+  pname = "aws-mfa";
+  version = "0.0.12";
+
+  src = fetchFromGitHub {
+    owner = "broamski";
+    repo = "aws-mfa";
+    rev = version;
+    sha256 = "1blcpa13zgyac3v8inc7fh9szxq2avdllx6w5ancfmyh5spc66ay";
+  };
+
+  propagatedBuildInputs = [
+    boto3
+  ];
+
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "awsmfa"
+  ];
+
+  meta = with lib; {
+    description = "Manage AWS MFA Security Credentials";
+    homepage = "https://github.com/broamski/aws-mfa";
+    license = [ licenses.mit ];
+    maintainers = [ maintainers.srapenne ];
+  };
+}
diff --git a/pkgs/tools/admin/aws-nuke/default.nix b/pkgs/tools/admin/aws-nuke/default.nix
index 32c006d7a5f..070a9b6430c 100644
--- a/pkgs/tools/admin/aws-nuke/default.nix
+++ b/pkgs/tools/admin/aws-nuke/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , buildGoModule
 , fetchFromGitHub
 }:
diff --git a/pkgs/tools/admin/aws-rotate-key/default.nix b/pkgs/tools/admin/aws-rotate-key/default.nix
index 4b26e3a7434..82b57739120 100644
--- a/pkgs/tools/admin/aws-rotate-key/default.nix
+++ b/pkgs/tools/admin/aws-rotate-key/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "aws-rotate-key";
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 0cf02b2540e..2360ef20e1f 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -28,11 +28,11 @@ let
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "awscli";
-  version = "1.18.217"; # N.B: if you change this, change botocore to a matching version too
+  version = "1.19.5"; # N.B: if you change this, change botocore to a matching version too
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bRrEFDRccklM3f6K/HAptKYrPnnCPM3Jo4vNsDt3Fuo=";
+    sha256 = "sha256-SwYL2ViwazP2MDZbW9cRThvg6jVOMlkfsbpY6QDsjQY=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/admin/awslogs/default.nix b/pkgs/tools/admin/awslogs/default.nix
index f71422f77a2..3e2cf150557 100644
--- a/pkgs/tools/admin/awslogs/default.nix
+++ b/pkgs/tools/admin/awslogs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "awslogs";
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
index a4c34662ef3..6379fa94bd7 100644
--- a/pkgs/tools/admin/azure-cli/default.nix
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -1,14 +1,15 @@
 { stdenv, lib, python3, fetchFromGitHub, installShellFiles }:
 
 let
-  version = "2.17.1";
+  version = "2.18.0";
   srcName = "azure-cli-${version}-src";
+
   src = fetchFromGitHub {
     name = srcName;
     owner = "Azure";
     repo = "azure-cli";
     rev = "azure-cli-${version}";
-    sha256 = "sha256-RTYCsdoZx1YQa9a8ZyvwQ9yTLEB6r7/mMgfecc/vGvM=";
+    sha256 = "sha256-3qQKQePyLYwIS3yO3exHNd0uoPr7y4iZ12+GaiHfqz8=";
   };
 
   # put packages that needs to be overriden in the py package scope
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index 743c9e197d7..8decd2f80f1 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -6,7 +6,6 @@ let
     prePatch = (attrs.prePatch or "") + ''
       rm -f azure_bdist_wheel.py tox.ini
       substituteInPlace setup.py \
-        --replace "wheel==0.30.0" "wheel" \
         --replace "cryptography>=2.3.1,<3.0.0" "cryptography"
       sed -i "/azure-namespace-package/c\ " setup.cfg
     '';
@@ -137,6 +136,9 @@ let
       azure-mgmt-billing = overrideAzureMgmtPackage super.azure-mgmt-billing "1.0.0" "zip"
         "8b55064546c8e94839d9f8c98e9ea4b021004b3804e192bf39fa65b603536ad0";
 
+      azure-mgmt-botservice = overrideAzureMgmtPackage super.azure-mgmt-botservice "0.2.0" "zip"
+        "sha256-sh2IWOaaoW0luQjEARah93PBJ+xN1gLLuFQuvzmlXYM=";
+
       azure-mgmt-policyinsights = overrideAzureMgmtPackage super.azure-mgmt-policyinsights "0.5.0" "zip"
         "1wxh7mgrknnhqyafdd7sbwx8plx0zga2af21vs6yhxy48lw9w8pd";
 
@@ -149,11 +151,11 @@ let
       azure-mgmt-recoveryservicesbackup = overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "0.6.0" "zip"
         "13s2k4jl8570bj6jkqzm0w29z29rl7h5i7czd3kr6vqar5wj9xjd";
 
-      azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "10.3.0" "zip"
-        "1bb95rlwfikfl3pgyga0v5lfgr1xyaybm1nq2498rncfcvdpkjhz";
+      azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "12.0.0" "zip"
+        "sha256-h3nif64OgekSh4mjOSTbom8qDXVrIVNksbQ3LwILnx8=";
 
-      azure-mgmt-appconfiguration = overrideAzureMgmtPackage super.azure-mgmt-appconfiguration "0.6.0" "zip"
-        "0pvc8f3g12q7als0pgy26kqi2i9grykwrjyiv2vijci9wxn22vpy";
+      azure-mgmt-appconfiguration = overrideAzureMgmtPackage super.azure-mgmt-appconfiguration "1.0.1" "zip"
+        "b58bbe82a7429ba589292024896b58d96fe9fa732c578569cac349928dc2ca5f";
 
       azure-mgmt-cognitiveservices = overrideAzureMgmtPackage super.azure-mgmt-cognitiveservices "6.3.0" "zip"
         "059lhbxqx1r1717s8xz5ahpxwphq5fgy0h7k6b63cahm818rs0hx";
@@ -248,8 +250,8 @@ let
       azure-mgmt-synapse = overrideAzureMgmtPackage super.azure-mgmt-synapse "0.5.0" "zip"
         "0dr8xml9zlsnag761zx7ifvdkhsv4syzxpmdn4gbf9c5qcq65dsf";
 
-      azure-mgmt-datamigration = overrideAzureMgmtPackage super.azure-mgmt-datamigration "0.1.0" "zip"
-        "1pq5rn32yvrf5kqjafnj0kc92gpfg435w2l0k7cm8gvlja4r4m77";
+      azure-mgmt-datamigration = overrideAzureMgmtPackage super.azure-mgmt-datamigration "4.1.0" "zip"
+        "c33d1deb0ee173a15c8ec21a1e714ba544fe5f4895d3b1d8b0581f3c1b2e8ce4";
 
       azure-mgmt-relay = overrideAzureMgmtPackage super.azure-mgmt-relay "0.1.0" "zip"
         "1jss6qhvif8l5s0lblqw3qzijjf0h88agciiydaa7f4q577qgyfr";
@@ -414,12 +416,12 @@ let
       });
 
       knack = super.knack.overridePythonAttrs(oldAttrs: rec {
-        version = "0.7.2";
+        version = "0.8.0rc2";
 
         src = super.fetchPypi {
           inherit (oldAttrs) pname;
           inherit version;
-          sha256 = "1jh81xyri7wb7vqa049imf6dfy3nc501bq3p0miaka8ffvvaxinz";
+          sha256 = "sha256-4pzgVwOVcT5UsjbyGkE30xashMASUzoQe2OGHSnK5do=";
         };
       });
 
diff --git a/pkgs/tools/admin/berglas/default.nix b/pkgs/tools/admin/berglas/default.nix
index ca588db01a5..8a6bb559041 100644
--- a/pkgs/tools/admin/berglas/default.nix
+++ b/pkgs/tools/admin/berglas/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "berglas";
diff --git a/pkgs/tools/admin/certigo/default.nix b/pkgs/tools/admin/certigo/default.nix
index ff66e926d4b..422c6da82d2 100644
--- a/pkgs/tools/admin/certigo/default.nix
+++ b/pkgs/tools/admin/certigo/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "certigo";
diff --git a/pkgs/tools/admin/chkcrontab/default.nix b/pkgs/tools/admin/chkcrontab/default.nix
index 6404eb92a26..bbf8d7eaeb1 100644
--- a/pkgs/tools/admin/chkcrontab/default.nix
+++ b/pkgs/tools/admin/chkcrontab/default.nix
@@ -1,4 +1,4 @@
-{ python, lib, stdenv }:
+{ python, lib }:
 
 with python.pkgs;
 
diff --git a/pkgs/tools/admin/credhub-cli/default.nix b/pkgs/tools/admin/credhub-cli/default.nix
index 2a1ceb531a5..55af1679d7a 100644
--- a/pkgs/tools/admin/credhub-cli/default.nix
+++ b/pkgs/tools/admin/credhub-cli/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "credhub-cli";
diff --git a/pkgs/tools/admin/docker-credential-gcr/default.nix b/pkgs/tools/admin/docker-credential-gcr/default.nix
index 2ca0f2c4d08..7fb128caa19 100644
--- a/pkgs/tools/admin/docker-credential-gcr/default.nix
+++ b/pkgs/tools/admin/docker-credential-gcr/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "docker-credential-gcr";
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index 2c5dca4a2fa..0db88659575 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.36.0";
+  version = "0.37.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wjYO/tu+QrztGPvtz3YBZJ7/e+9TDEwJ542xIBuNaQo=";
+    sha256 = "sha256-1IhCBDMfGW9hDvQoGSJKJ1ZlShzVeIGjVOfiUspHRBw=";
   };
 
-  vendorSha256 = "sha256-woEa/h6TKQD32BslmPBuILvBAObhWjT8XqnQmuweUx0=";
+  vendorSha256 = "sha256-fa8IrJhsy5cBzBs4tGIx7ykJcXjdvLqms3Dk97P4Vik=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index 3fe3856d9c5..89b96824607 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.23.0";
+  version = "1.24.0";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-LVWUfaACdDp9xsuXHysPO/8QMdaDqS+yhP2U9cc4jh4=";
+    sha256 = "sha256-uriXZ4fEUswSBh9hv122wkAPHOnmt6+AodKkCHAMSh8=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 8830b0d7e04..36af063c448 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -21,18 +21,18 @@ let
   sources = name: system: {
     x86_64-darwin = {
       url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
-      sha256 = "0ziz7cipi3m4aiba6ljz8419w2rps20rii6nwv0pyq5j7qvlvnqp";
+      sha256 = "09pv1xvycgfai151z6kbsggyldcd3cx6x1p04dcim2xrawqvng6s";
     };
 
     x86_64-linux = {
       url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
-      sha256 = "1a9mqhqzmn0zfc1ab6jmac15yn192cmqkijw34di3ld6syqvaziw";
+      sha256 = "1iybbvxjny33mw3h2f81fdvsvp65xa62c2qrzjv8hkrqkw69ckrp";
     };
   }.${system};
 
 in stdenv.mkDerivation rec {
   pname = "google-cloud-sdk";
-  version = "323.0.0";
+  version = "325.0.0";
 
   src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system);
 
diff --git a/pkgs/tools/admin/iamy/default.nix b/pkgs/tools/admin/iamy/default.nix
index e7481e16948..dd35da451ad 100644
--- a/pkgs/tools/admin/iamy/default.nix
+++ b/pkgs/tools/admin/iamy/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "iamy";
diff --git a/pkgs/tools/admin/lego/default.nix b/pkgs/tools/admin/lego/default.nix
index e270e7a4c43..a825908484c 100644
--- a/pkgs/tools/admin/lego/default.nix
+++ b/pkgs/tools/admin/lego/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lego";
-  version = "4.1.3";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "05fy6826n449adlglwi8s31km4yhd8hbd9yml8k204cb81w00zyk";
+    sha256 = "sha256-S9I6b9+FngX0/W5t3EHG+H1ULsZKoQw1/S4HnSITYG0=";
   };
 
-  vendorSha256 = "0p2pibid2d761whfk7zgq230lyqi2f0wmfvxqkjzrd1sba40r9bp";
+  vendorSha256 = "sha256-dVGSMPhAvN/kWgv3XHS+lOZdcbDNL44ELkv7fHAJWlI=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index aeff0d931f0..ba6f9d074b2 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, hwdata, pkg-config, lxc, buildGoPackage, fetchurl
+{ lib, hwdata, pkg-config, lxc, buildGoPackage, fetchurl
 , makeWrapper, acl, rsync, gnutar, xz, btrfs-progs, gzip, dnsmasq
 , squashfsTools, iproute, iptables, ebtables, iptables-nftables-compat, libcap
 , libco-canonical, dqlite, raft-canonical, sqlite-replication, udev
@@ -18,13 +18,13 @@ let
 in
 buildGoPackage rec {
   pname = "lxd";
-  version = "4.10";
+  version = "4.11";
 
   goPackagePath = "github.com/lxc/lxd";
 
   src = fetchurl {
     url = "https://github.com/lxc/lxd/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "0s8lbvh2vsqphvspyjyxp5s589gf2wrjpka8v496lf6fv1nsi5s8";
+    sha256 = "1pcgxpmiiskq770sn25861dj0z8l24nzc1jbzyql7cxn0w5bnw1x";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/admin/nomachine-client/default.nix b/pkgs/tools/admin/nomachine-client/default.nix
index 6727a897878..c419c7e834a 100644
--- a/pkgs/tools/admin/nomachine-client/default.nix
+++ b/pkgs/tools/admin/nomachine-client/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, file, fetchurl, makeWrapper,
   autoPatchelfHook, jsoncpp, libpulseaudio }:
 let
-  versionMajor = "6.12";
-  versionMinor = "3";
-  versionBuild_x86_64 = "7";
-  versionBuild_i686 = "8";
+  versionMajor = "7.0";
+  versionMinor = "211";
+  versionBuild_x86_64 = "4";
+  versionBuild_i686 = "4";
 in
   stdenv.mkDerivation rec {
     pname = "nomachine-client";
@@ -13,23 +13,18 @@ in
     src =
       if stdenv.hostPlatform.system == "x86_64-linux" then
         fetchurl {
-          urls = [
-            "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz"
-            "https://web.archive.org/web/https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz"
-          ];
-          sha256 = "1dqsqwxbd77g6gc0hvjmmg4flm3vwwv5y98m8d9wxyybp37vkmgd";
+          url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz";
+          sha256 = "06habqsl5gp13sym519r3qp188qwqqfw8p48wcs4zj3kcri6fjz0";
         }
       else if stdenv.hostPlatform.system == "i686-linux" then
         fetchurl {
-          urls = [
-            "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz"
-            "https://web.archive.org/web/https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz"
-          ];
-          sha256 = "1q14hxjy66s5cpq19rshscsm679csb6p16c5p2agh5zd64cr4am6";
+          url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz";
+          sha256 = "1y4lr95mwilwr7gqsxqvygq4w3dcp4cjh8m06wdi3avwdzrjkgj9";
         }
       else
         throw "NoMachine client is not supported on ${stdenv.hostPlatform.system}";
 
+    # nxusb-legacy is only needed for kernel versions < 3
     postUnpack = ''
       mv $(find . -type f -name nxclient.tar.gz) .
       mv $(find . -type f -name nxplayer.tar.gz) .
@@ -37,6 +32,8 @@ in
       tar xf nxclient.tar.gz
       tar xf nxplayer.tar.gz
       rm $(find . -maxdepth 1 -type f)
+      rm -r NX/share/src/nxusb-legacy
+      rm NX/bin/nxusbd-legacy NX/lib/libnxusb-legacy.so
     '';
 
     nativeBuildInputs = [ file makeWrapper autoPatchelfHook ];
@@ -85,8 +82,8 @@ in
       description = "NoMachine remote desktop client (nxplayer)";
       homepage = "https://www.nomachine.com/";
       license = {
-        fullName = "NoMachine 6 End-User License Agreement";
-        url = "https://www.nomachine.com/licensing-6";
+        fullName = "NoMachine 7 End-User License Agreement";
+        url = "https://www.nomachine.com/licensing-7";
         free = false;
       };
       maintainers = with maintainers; [ talyz ];
diff --git a/pkgs/tools/admin/procs/default.nix b/pkgs/tools/admin/procs/default.nix
index 269e0e1df1f..afdbbbe9450 100644
--- a/pkgs/tools/admin/procs/default.nix
+++ b/pkgs/tools/admin/procs/default.nix
@@ -1,17 +1,26 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, installShellFiles, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "procs";
-  version = "0.10.10";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "12p95nybsisqpji01qgkp5wfg7fwk814xdsz338q9wac8nvqw9w3";
+    sha256 = "sha256-OaHsNxrOrPlAwtFDY3Tnx+nOabax98xcGQeNds32iOA=";
   };
 
-  cargoSha256 = "13wfz0ig9dsl0h085rzlrx0dg9la957c50xyzjfxq1ybw2qr266b";
+  cargoSha256 = "sha256-miOfm1Sw6tIICkT9T2V82cdGG2STo9vuLPWsAN/8wuM=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    for shell in bash fish zsh; do
+      $out/bin/procs --completion $shell > procs.$shell
+      installShellCompletion procs.$shell
+    done
+  '';
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/admin/pulumi/data.nix b/pkgs/tools/admin/pulumi/data.nix
index 12e8845e011..0498b56dcf5 100644
--- a/pkgs/tools/admin/pulumi/data.nix
+++ b/pkgs/tools/admin/pulumi/data.nix
@@ -1,60 +1,60 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "2.17.2";
+  version = "2.19.0";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.17.2-linux-x64.tar.gz";
-        sha256 = "0hz4m0h9k1ma8zig5mhmianvrw0bwsv9qsz7q80bsjj7m1vy59jq";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.19.0-linux-x64.tar.gz";
+        sha256 = "0641inzkbgrjarc7jdmi0iryx4swjh1ayf0j15ais3yij7jq4da2";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.5.2-linux-amd64.tar.gz";
         sha256 = "1jrv87r55m1kzl48zs5vh83v2kh011gm4dha80ijqjhryx0a94jy";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.23.0-linux-amd64.tar.gz";
-        sha256 = "125jqdjn9iipnjj3xgwvcfhcq0xi8xvn8mgs17g79xwbbxpvrjiv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.25.1-linux-amd64.tar.gz";
+        sha256 = "0yfrpih5q2hfj2555y26l1pqs22idh4hqn20gy310kg12r303hwk";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.11.1-linux-amd64.tar.gz";
         sha256 = "18gyan0dszfvx8fhvi8r2msbf8n9lbh10pnvcaqvdk8cr79lnzl9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.6.3-linux-amd64.tar.gz";
-        sha256 = "064003d7frnj16njp7pdgbvq42hv7xwwbrnnxm3pk85h1xkpa1x8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.7.0-linux-amd64.tar.gz";
+        sha256 = "05nmdjgwhm1pi5zljq33812wgkz1rpisjrvdn8lcsapwz3fchbjd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.14.1-linux-amd64.tar.gz";
-        sha256 = "0cpvxqm6bv2085ndn4b39v53s2050rhbnk3g0d6a2s32b70m4hay";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.15.0-linux-amd64.tar.gz";
+        sha256 = "12wjh0w7i1f6rd5r4pqc98ix4mkrkqwnvpv7hkcsn90rsxrlfysk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.2.1-linux-amd64.tar.gz";
-        sha256 = "0ish124033nagqrb60kc0ybwkmijfq2y7x4kdcrxhkhn2n5wzqzh";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.3.0-linux-amd64.tar.gz";
+        sha256 = "19cpq6hwj862wmfcfx732j66wjkfjnxjrqj4bgxpgah62hrl5lh2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.6.1-linux-amd64.tar.gz";
-        sha256 = "1582h37z0971pd7xp6ss7r7742068pkbh2k5q8jj6ii3d7rwbbp1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.7.0-linux-amd64.tar.gz";
+        sha256 = "0mb6ddidyk3g1ayk8y0ypb262fyv584w5cicvjc5r9670a1d2rcv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.7.0-linux-amd64.tar.gz";
-        sha256 = "0a9xz13h905r8m9h3v7zl04sjyic031zra9bsz3n3lr3x8ihhz6z";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.9.0-linux-amd64.tar.gz";
+        sha256 = "1b5m2620s4bqq6zlagki3w4fzph3lc5192falv8ick4rgbv714nb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v2.4.2-linux-amd64.tar.gz";
-        sha256 = "0i7mbvf5azxxlxj0b3divqxvsq3q1346d4bbwx983zbn66j13iml";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v2.5.1-linux-amd64.tar.gz";
+        sha256 = "10cmnsxpiy7bfxyrpwfqn5kgpijlkxrhfah40wd82j3j2b7wy33j";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.4.1-linux-amd64.tar.gz";
-        sha256 = "01m6gpyrvirr1b447g47zrnwf03z3x7msyhd0waf4knm22d9ym0l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.5.0-linux-amd64.tar.gz";
+        sha256 = "10d5gmhax02906jpr9nmb80xfxvy2ym8vjyj31sz2mcl9jnadk4z";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v0.5.1-linux-amd64.tar.gz";
         sha256 = "0fi8qxv6ladpapb6j0w7zqk0hxj56iy1131dsipzkkx4p1jfg27r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.7.6-linux-amd64.tar.gz";
-        sha256 = "1w1ygmh8w1cyfc1cca9zpfix2bakdlhms4clp5xcwrlr9hc33w5d";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.7.8-linux-amd64.tar.gz";
+        sha256 = "0ah0yhwf79dgk7biifnapz0366mm5a54rlqf8hffn13czqnc3qbq";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v2.3.2-linux-amd64.tar.gz";
@@ -65,8 +65,8 @@
         sha256 = "0c2aypx8y6s892y2gygc8116rlarlcw1s2m39gkcdjjbfkmf8za0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.10.2-linux-amd64.tar.gz";
-        sha256 = "0hhj4y96c9nwbvzpaq7ilyal0s3vsf2ks0y6pqbiyh6ji0ch6xlb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.11.0-linux-amd64.tar.gz";
+        sha256 = "0iqimhqh853jx6zd53z1r98ky0qhxfby9w519xpdlvxxq5aqb6kb";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-linux-amd64.tar.gz";
@@ -81,8 +81,8 @@
         sha256 = "0jpv94kzsa794ds5bjj6j3pj1wxqicavpxjnycfa5cm8w71kmlsh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v3.2.1-linux-amd64.tar.gz";
-        sha256 = "0saavajpnn5rx70n7rzfymrx8v17jf99n1zz20zgrhww67s3p2l6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v3.3.0-linux-amd64.tar.gz";
+        sha256 = "069sq8lkw4n7ykh2b2fsaggxxr4731riyy9i15idffa52d1kkiq6";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v2.11.4-linux-amd64.tar.gz";
@@ -91,56 +91,56 @@
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.17.2-darwin-x64.tar.gz";
-        sha256 = "1a9gy1767aizajkgl0qds9q4fkapyf9xip0hz67sj6861w6r6p6i";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.19.0-darwin-x64.tar.gz";
+        sha256 = "02wd0h5aq53zjy18xzbkv7nnl097ja0m783gsgrs1wdlqblwpqyw";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.5.2-darwin-amd64.tar.gz";
         sha256 = "1rqx2dyx3anmlv74whs587rs1bgyssqxfjzrx1cfpfnnnj5rkmry";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.23.0-darwin-amd64.tar.gz";
-        sha256 = "0h4g49zr6gxvyavd9pzvlmnzxjqnnzh27dhz6007c10rgn894yba";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.25.1-darwin-amd64.tar.gz";
+        sha256 = "1j4czx1iqfm95y14isl1sqwvsw690h9y0xf2jpynp2ygmc3szrkr";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.11.1-darwin-amd64.tar.gz";
         sha256 = "0dqyd8aywmxrsvipndwrwq5pxv7avzf8kpk6rdyip4j8hp156lbz";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.6.3-darwin-amd64.tar.gz";
-        sha256 = "18q6f3qlw7yk6ri1mq6fvl69ss7rxnivzv2aag8rxds06xrl6klq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.7.0-darwin-amd64.tar.gz";
+        sha256 = "0xbbaphd0lypyzq262rapr42lmyz3wr14xab09qc156rjasr8w64";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.14.1-darwin-amd64.tar.gz";
-        sha256 = "0jbz0d551347vp1b4chjkv03rq9l7061ijwyi2mx0spx7q847zs4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.15.0-darwin-amd64.tar.gz";
+        sha256 = "10izly9m7847rsb533ch3n8rkhbfb3q6lcx80dk5ia8bfdlvc3cn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.2.1-darwin-amd64.tar.gz";
-        sha256 = "0blrl421zwn7ga0skr49lqc1c1z98qy03p2ivyjygwz2pppdv9p9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.3.0-darwin-amd64.tar.gz";
+        sha256 = "0kyw1csyzvkbzqxrgpf4d2zgydysd4mfb07igjv19m3f7gs8jhr9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.6.1-darwin-amd64.tar.gz";
-        sha256 = "06q9pysql611p24padz6cz2fhf14bqkw7li504479sbnsxqk3g0s";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.7.0-darwin-amd64.tar.gz";
+        sha256 = "122cf7v12vzv1szi9adcccakbs3hs23qsjbykjrhwmk8hw21g4kb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.7.0-darwin-amd64.tar.gz";
-        sha256 = "1ys5s3asmwwsy3hv4mrcdsqyc579wqaihlhdc6bqvnyfn5wbbwk8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.9.0-darwin-amd64.tar.gz";
+        sha256 = "11w4ykh846byg05jxnddm6ln901pms8n5g0q5gj3ldfjrfl1cn2q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v2.4.2-darwin-amd64.tar.gz";
-        sha256 = "1azgic0mgzqmdcq61is2fny9q9w2aslrpbp2zsclc60prqsi47nd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v2.5.1-darwin-amd64.tar.gz";
+        sha256 = "1apaaa76dq53ppnmh4xi55zsrx1mwbnnsby63ymjw9xhdkc1sah6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.4.1-darwin-amd64.tar.gz";
-        sha256 = "0nziryb7d66l0pca77g7w6z92jsfhvqgi53bw5hkkr2ca1k9mkxl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.5.0-darwin-amd64.tar.gz";
+        sha256 = "0xfkdmnax10zkgpipxaxfi0lgfgijnvssbwmfsaxxisdxscw2ig9";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v0.5.1-darwin-amd64.tar.gz";
         sha256 = "05h8adn3q7nnhn75vircrnr9nxf15pf82n9gvz5rbq0hsdivh3l2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.7.6-darwin-amd64.tar.gz";
-        sha256 = "15dvr92v490i7b415x80rxyjp2r0hp51xwha87yjpxp1knwfbbg4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.7.8-darwin-amd64.tar.gz";
+        sha256 = "01xspqk3hzvrhka9nsxal8pwji3hm5qgkn49jjnk1cy01hy7s78q";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v2.3.2-darwin-amd64.tar.gz";
@@ -151,8 +151,8 @@
         sha256 = "15w72087frbx6wyngi20bsssnr7si1bk1h94jav3d4cgm6nhpnwk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.10.2-darwin-amd64.tar.gz";
-        sha256 = "0x6rjn3kg935chcwd90qj1knlrc5xz5any7s4sc3a8fh2n78f0vd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.11.0-darwin-amd64.tar.gz";
+        sha256 = "05hap76yzss5bsgr20rm8sxb6r3iiwvq75lhf11laaxq2hnb7qdp";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-darwin-amd64.tar.gz";
@@ -167,8 +167,8 @@
         sha256 = "0d578hqkhwlhx50k9qpw7ixjyy1p2fd6cywj86s870jzgl8zh4fv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v3.2.1-darwin-amd64.tar.gz";
-        sha256 = "12nfk2pc380gnkblrviwyijr9ff5h1xv2ybv6frdczfd1kdjf9ar";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v3.3.0-darwin-amd64.tar.gz";
+        sha256 = "1qkh8hg7nplv0slq2xark57l547z63fy1l6zvrcblrqsqfw5zybv";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v2.11.4-darwin-amd64.tar.gz";
diff --git a/pkgs/tools/admin/pulumi/default.nix b/pkgs/tools/admin/pulumi/default.nix
index 231bdc09965..89fee3e6160 100644
--- a/pkgs/tools/admin/pulumi/default.nix
+++ b/pkgs/tools/admin/pulumi/default.nix
@@ -32,6 +32,7 @@ in stdenv.mkDerivation {
       ghuntley
       peterromfeldhk
       jlesquembre
+      cpcloud
     ];
   };
 }
diff --git a/pkgs/tools/admin/pulumi/update.sh b/pkgs/tools/admin/pulumi/update.sh
index 1cc62745cc4..c1a0e631016 100755
--- a/pkgs/tools/admin/pulumi/update.sh
+++ b/pkgs/tools/admin/pulumi/update.sh
@@ -3,30 +3,30 @@
 
 # Version of Pulumi from
 # https://www.pulumi.com/docs/get-started/install/versions/
-VERSION="2.17.2"
+VERSION="2.19.0"
 
 # Grab latest release ${VERSION} from
 # https://github.com/pulumi/pulumi-${NAME}/releases
 plugins=(
     "auth0=1.5.2"
-    "aws=3.23.0"
+    "aws=3.25.1"
     "cloudflare=2.11.1"
-    "consul=2.6.3"
-    "datadog=2.14.1"
-    "digitalocean=3.2.1"
-    "docker=2.6.1"
-    "gcp=4.7.0"
-    "github=2.4.2"
-    "gitlab=3.4.1"
+    "consul=2.7.0"
+    "datadog=2.15.0"
+    "digitalocean=3.3.0"
+    "docker=2.7.0"
+    "gcp=4.9.0"
+    "github=2.5.1"
+    "gitlab=3.5.0"
     "hcloud=0.5.1"
-    "kubernetes=2.7.6"
+    "kubernetes=2.7.8"
     "mailgun=2.3.2"
     "mysql=2.3.3"
-    "openstack=2.10.2"
+    "openstack=2.11.0"
     "packet=3.2.2"
     "postgresql=2.5.3"
     "random=3.0.1"
-    "vault=3.2.1"
+    "vault=3.3.0"
     "vsphere=2.11.4"
 )
 
diff --git a/pkgs/tools/admin/s3bro/default.nix b/pkgs/tools/admin/s3bro/default.nix
index bf807d14997..35cf7b11e64 100644
--- a/pkgs/tools/admin/s3bro/default.nix
+++ b/pkgs/tools/admin/s3bro/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages }:
+{ lib, python3Packages }:
 
 python3Packages.buildPythonPackage rec {
   pname = "s3bro";
diff --git a/pkgs/tools/admin/scaleway-cli/default.nix b/pkgs/tools/admin/scaleway-cli/default.nix
index 0aeccb755a1..2a8f0d1f114 100644
--- a/pkgs/tools/admin/scaleway-cli/default.nix
+++ b/pkgs/tools/admin/scaleway-cli/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoPackage }:
 
 buildGoPackage rec {
   pname = "scaleway-cli";
diff --git a/pkgs/tools/admin/sewer/default.nix b/pkgs/tools/admin/sewer/default.nix
index 42288bafe01..a6f511fe115 100644
--- a/pkgs/tools/admin/sewer/default.nix
+++ b/pkgs/tools/admin/sewer/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages }:
+{ lib, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "sewer";
diff --git a/pkgs/tools/admin/simp_le/default.nix b/pkgs/tools/admin/simp_le/default.nix
index fc064641943..5bfc00ac000 100644
--- a/pkgs/tools/admin/simp_le/default.nix
+++ b/pkgs/tools/admin/simp_le/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages, bash }:
+{ lib, python3Packages, bash }:
 
 python3Packages.buildPythonApplication rec {
   pname = "simp_le-client";
diff --git a/pkgs/tools/admin/ssh-import-id/default.nix b/pkgs/tools/admin/ssh-import-id/default.nix
index 6c8520648ec..b6ca3135f56 100644
--- a/pkgs/tools/admin/ssh-import-id/default.nix
+++ b/pkgs/tools/admin/ssh-import-id/default.nix
@@ -1,5 +1,5 @@
 { buildPythonPackage
-, lib, stdenv
+, lib
 , fetchgit
 , requests
 , makeWrapper
diff --git a/pkgs/tools/admin/ssmsh/default.nix b/pkgs/tools/admin/ssmsh/default.nix
index 6b0d0380901..3ed29af25fd 100644
--- a/pkgs/tools/admin/ssmsh/default.nix
+++ b/pkgs/tools/admin/ssmsh/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "ssmsh";
-  version = "1.4.4";
+  version = "1.4.5";
 
   src = fetchFromGitHub {
     owner = "bwhaley";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0mgx4q21f6rxih79l0hwgzwafxviz5a33dpvc5k0z172sfw0dmj1";
+    sha256 = "sha256-WZ2glv/f4LwTK/G8QdaVRIAHvgGLPLPL8xjAg/kUokQ=";
   };
 
-  vendorSha256 = "147f02bl3sf073dy2ximbavdcbphdn7djgisla1cyyy4ng6dhf7f";
+  vendorSha256 = "sha256-17fmdsfOrOaySPsXofLzz0+vmiemg9MbnWhRoZ67EuQ=";
 
   doCheck = true;
 
diff --git a/pkgs/tools/admin/stripe-cli/default.nix b/pkgs/tools/admin/stripe-cli/default.nix
index c410bd81e89..3d91847a9a6 100644
--- a/pkgs/tools/admin/stripe-cli/default.nix
+++ b/pkgs/tools/admin/stripe-cli/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "stripe-cli";
-  version = "1.5.5";
+  version = "1.5.9";
 
   src = fetchFromGitHub {
     owner = "stripe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0r0szzw3xl9cn5vcqgn6sc4wbk2j17r1rhg14qgix835lzp9wpdv";
+    sha256 = "sha256-fR4MFEytYZA4zt4WFGnEp9YDCtX6peQoI+NynqyReT8=";
   };
 
-  vendorSha256 = "05cyn9cgmijj6dl075slwm5qc6fj6m5sm414wqm50xz2fjs0400r";
+  vendorSha256 = "sha256-GQACtHTid1Aq5iSQqks10hmGS+VUlwNoM1LG+liynhU=";
 
   subPackages = [
     "cmd/stripe"
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index 0a4bf934d80..d2d2a138d65 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11fd32qb69g23lxrynsnfy8a783sl60rzknvq4shdg41p2ikigdk";
+    sha256 = "sha256-E/tPjVc+XLDCFYzloAipwWjB4I86kAe/6NVoJSCrY2M=";
   };
 
-  vendorSha256 = "09birwc8x90l2y0znf4fwny3phnmq0cz0l2z3xzwg0j3msrdl2np";
+  vendorSha256 = "sha256-YoQF0Eug747LhsR3V0IplwXgm0ndDqK1pUVjguOhjOU=";
 
   subPackages = [ "cmd/trivy" ];
 
diff --git a/pkgs/tools/archivers/unzip/default.nix b/pkgs/tools/archivers/unzip/default.nix
index cfd764aa11e..e74637ca25e 100644
--- a/pkgs/tools/archivers/unzip/default.nix
+++ b/pkgs/tools/archivers/unzip/default.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation {
   '';
 
   installFlags = [
-    "prefix=${placeholder ''out''}"
+    "prefix=${placeholder "out"}"
   ];
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/tools/archivers/zip/default.nix b/pkgs/tools/archivers/zip/default.nix
index f8131046df1..58c748fe4e8 100644
--- a/pkgs/tools/archivers/zip/default.nix
+++ b/pkgs/tools/archivers/zip/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   makefile = "unix/Makefile";
   buildFlags = if stdenv.isCygwin then [ "cygwin" ] else [ "generic" ];
   installFlags = [
-    "prefix=${placeholder ''out''}"
+    "prefix=${placeholder "out"}"
     "INSTALL=cp"
   ];
 
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index cb856ab72d0..1478aa8c1e3 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2021.01.21";
+  version = "2021.01.25";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    sha256 = "184d59pc60dax60j3nzcsr5kflaygbjpbrwg6r4bky0q0sg17z5i";
+    sha256 = "1c2jx03ssm9yyv6rgr5wfv88ivfgdgq3889yaghjyvllm3nv9380";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index f72692c845c..d531b22738b 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -2,6 +2,7 @@
 , pythonPackages, imagemagick, gobject-introspection, gst_all_1
 , runtimeShell
 , fetchpatch
+, unstableGitUpdater
 
 # Attributes needed for tests of the external plugins
 , callPackage, beets
@@ -132,13 +133,13 @@ in pythonPackages.buildPythonApplication rec {
   # unstable does not require bs1770gain[2].
   # [1]: https://discourse.beets.io/t/forming-a-beets-core-team/639
   # [2]: https://github.com/NixOS/nixpkgs/pull/90504
-  version = "unstable-2020-12-22";
+  version = "unstable-2021-01-29";
 
   src = fetchFromGitHub {
     owner = "beetbox";
     repo = "beets";
-    rev = "53dcb24d10788897f20c341774b474808ec2c0b6";
-    sha256 = "sha256-P++NA13T2TRHW3Se10np8BSe/WRBYAKRte5xKoHKW50=";
+    rev = "04ea754d00e2873ae9aa2d9e07c5cefd790eaee2";
+    sha256 = "sha256-BIa3hnOsBxThbA2WCE4q9eaFNtObr3erZBBqobVOSiQ=";
   };
 
   propagatedBuildInputs = [
@@ -290,6 +291,7 @@ in pythonPackages.buildPythonApplication rec {
 
   passthru = {
     externalPlugins = plugins;
+    updateScript = unstableGitUpdater { url = "https://github.com/beetbox/beets"; };
   };
 
   meta = {
diff --git a/pkgs/tools/audio/beets/plugins/alternatives.nix b/pkgs/tools/audio/beets/plugins/alternatives.nix
index a64cc5ebcad..793611699ec 100644
--- a/pkgs/tools/audio/beets/plugins/alternatives.nix
+++ b/pkgs/tools/audio/beets/plugins/alternatives.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, beets, pythonPackages }:
+{ fetchFromGitHub, beets, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
   pname = "beets-alternatives";
diff --git a/pkgs/tools/audio/beets/plugins/check.nix b/pkgs/tools/audio/beets/plugins/check.nix
index 545e6d7cf2c..441dcfe579f 100644
--- a/pkgs/tools/audio/beets/plugins/check.nix
+++ b/pkgs/tools/audio/beets/plugins/check.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, beets, pythonPackages, flac, liboggz, mp3val }:
+{ lib, fetchFromGitHub, beets, pythonPackages, flac, liboggz, mp3val }:
 
 pythonPackages.buildPythonApplication rec {
   name = "beets-check";
diff --git a/pkgs/tools/audio/beets/plugins/copyartifacts.nix b/pkgs/tools/audio/beets/plugins/copyartifacts.nix
index b339bc34ad2..5af52066caa 100644
--- a/pkgs/tools/audio/beets/plugins/copyartifacts.nix
+++ b/pkgs/tools/audio/beets/plugins/copyartifacts.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, beets, pythonPackages, glibcLocales }:
+{ fetchFromGitHub, beets, pythonPackages, glibcLocales }:
 
 pythonPackages.buildPythonApplication {
   name = "beets-copyartifacts";
diff --git a/pkgs/tools/audio/mididings/default.nix b/pkgs/tools/audio/mididings/default.nix
index eedfd2f3dbb..d5f78ada91c 100644
--- a/pkgs/tools/audio/mididings/default.nix
+++ b/pkgs/tools/audio/mididings/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, pythonPackages, fetchFromGitHub, pkg-config, glib, alsaLib, libjack2  }:
+{ lib, pythonPackages, fetchFromGitHub, pkg-config, glib, alsaLib, libjack2  }:
 
 pythonPackages.buildPythonApplication {
   version = "2015-11-17";
diff --git a/pkgs/tools/audio/mpd-mpris/default.nix b/pkgs/tools/audio/mpd-mpris/default.nix
index 801058e0496..af4000dfa44 100644
--- a/pkgs/tools/audio/mpd-mpris/default.nix
+++ b/pkgs/tools/audio/mpd-mpris/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "mpd-mpris";
diff --git a/pkgs/tools/audio/mpdas/default.nix b/pkgs/tools/audio/mpdas/default.nix
index 255d28b62b1..8b12b6fc16d 100644
--- a/pkgs/tools/audio/mpdas/default.nix
+++ b/pkgs/tools/audio/mpdas/default.nix
@@ -1,4 +1,10 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, mpd_clientlib, curl }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, libmpdclient
+, curl
+}:
 
 stdenv.mkDerivation rec {
   pname = "mpdas";
@@ -13,7 +19,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ mpd_clientlib curl ];
+  buildInputs = [ libmpdclient curl ];
 
   makeFlags = [ "CONFIG=/etc" "DESTDIR=" "PREFIX=$(out)" ];
 
diff --git a/pkgs/tools/audio/mpdcron/default.nix b/pkgs/tools/audio/mpdcron/default.nix
index 1fa0d155a3d..afb1c9a3dcd 100644
--- a/pkgs/tools/audio/mpdcron/default.nix
+++ b/pkgs/tools/audio/mpdcron/default.nix
@@ -1,5 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, glib, libdaemon
-, mpd_clientlib, curl, sqlite, bundlerEnv, libnotify, pandoc }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoconf
+, automake
+, libtool
+, pkg-config
+, glib
+, libdaemon
+, libmpdclient
+, curl
+, sqlite
+, bundlerEnv
+, libnotify
+, pandoc
+}:
 
 let
   gemEnv = bundlerEnv {
@@ -7,8 +21,8 @@ let
     gemdir = ./.;
   };
 in stdenv.mkDerivation {
-  version = "20161228";
   pname = "mpdcron";
+  version = "20161228";
 
   src = fetchFromGitHub {
     owner = "alip";
@@ -17,21 +31,33 @@ in stdenv.mkDerivation {
     sha256 = "0vdksf6lcgmizqr5mqp0bbci259k0dj7gpmhx32md41jlmw5skaw";
   };
 
-  meta = with lib; {
-    description = "A cron like daemon for mpd";
-    homepage    = "http://alip.github.io/mpdcron/";
-    license     = licenses.gpl2;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ lovek323 manveru ];
-  };
-
-  buildInputs =
-    [ autoconf automake libtool pkg-config glib libdaemon pandoc
-      mpd_clientlib curl sqlite gemEnv.wrappedRuby libnotify ];
+  buildInputs = [
+    autoconf
+    automake
+    libtool
+    pkg-config
+    glib
+    libdaemon
+    pandoc
+    libmpdclient
+    curl
+    sqlite
+    gemEnv.wrappedRuby
+    libnotify
+  ];
 
   preConfigure = ''
     ./autogen.sh
   '';
 
   configureFlags = [ "--enable-gmodule" "--with-standard-modules=all" ];
+
+  meta = with lib; {
+    description = "A cron like daemon for mpd";
+    homepage    = "http://alip.github.io/mpdcron/";
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ lovek323 manveru ];
+  };
 }
+# TODO: autoreconfHook this
diff --git a/pkgs/tools/audio/mpdris2/default.nix b/pkgs/tools/audio/mpdris2/default.nix
index 30b0d90f562..4cd3921fb55 100644
--- a/pkgs/tools/audio/mpdris2/default.nix
+++ b/pkgs/tools/audio/mpdris2/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , autoreconfHook
 , fetchFromGitHub
 , glib
diff --git a/pkgs/tools/audio/mpris-scrobbler/default.nix b/pkgs/tools/audio/mpris-scrobbler/default.nix
index 911dbf75202..07248213213 100644
--- a/pkgs/tools/audio/mpris-scrobbler/default.nix
+++ b/pkgs/tools/audio/mpris-scrobbler/default.nix
@@ -10,7 +10,7 @@
 , pkg-config
 , scdoc
 , json_c
-, xdg_utils
+, xdg-utils
 }:
 
 stdenv.mkDerivation rec {
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace src/signon.c \
-      --replace "/usr/bin/xdg-open" "${xdg_utils}/bin/xdg-open"
+      --replace "/usr/bin/xdg-open" "${xdg-utils}/bin/xdg-open"
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/audio/opl3bankeditor/default.nix b/pkgs/tools/audio/opl3bankeditor/default.nix
index c79204cffa2..48f553d960d 100644
--- a/pkgs/tools/audio/opl3bankeditor/default.nix
+++ b/pkgs/tools/audio/opl3bankeditor/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, mkDerivation, fetchFromGitHub, cmake, qttools, alsaLib }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, qttools, alsaLib }:
 
 mkDerivation rec {
   version = "1.5.1";
diff --git a/pkgs/tools/audio/pa-applet/default.nix b/pkgs/tools/audio/pa-applet/default.nix
index c5083bbb05a..358e662ca1e 100644
--- a/pkgs/tools/audio/pa-applet/default.nix
+++ b/pkgs/tools/audio/pa-applet/default.nix
@@ -21,8 +21,7 @@ stdenv.mkDerivation {
   # work around a problem related to gtk3 updates
   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
 
-  postInstall = ''
-  '';
+  postInstall = "";
 
   meta = with lib; {
     description = "";
diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix
index 770e898f2ee..325039d6865 100644
--- a/pkgs/tools/audio/tts/default.nix
+++ b/pkgs/tools/audio/tts/default.nix
@@ -1,42 +1,13 @@
 { lib
 , python3Packages
 , fetchFromGitHub
-, fetchpatch
 , python3
 }:
 
-#
-# Tested in the following setup:
-#
-# TTS model:
-#   Tacotron2 DDC
-#   https://drive.google.com/drive/folders/1Y_0PcB7W6apQChXtbt6v3fAiNwVf4ER5
-# Vocoder model:
-#   Multi-Band MelGAN
-#   https://drive.google.com/drive/folders/1XeRT0q4zm5gjERJqwmX5w84pMrD00cKD
-#
-# Arrange /tmp/tts like this:
-#   scale_stats.npy
-#   tts
-#   tts/checkpoint_130000.pth.tar
-#   tts/checkpoint_130000_tf.pkl
-#   tts/checkpoint_130000_tf_2.3rc0.tflite
-#   tts/config.json
-#   tts/scale_stats.npy
-#   vocoder
-#   vocoder/checkpoint_1450000.pth.tar
-#   vocoder/checkpoint_2750000_tf.pkl
-#   vocoder/checkpoint_2750000_tf_v2.3rc.tflite
-#   vocoder/config.json
-#   vocoder/scale_stats.npy
-#
-# Start like this:
-#   cd /tmp/tts
-#   tts-server \
-#     --vocoder_config ./tts/vocoder/config.json \
-#     --vocoder_checkpoint ./tts/vocoder/checkpoint_1450000.pth.tar \
-#     --tts_config ./tts/config.json \
-#     --tts_checkpoint ./tts/checkpoint_130000.pth.tar
+# USAGE:
+# $ tts-server --list_models
+# # pick your favorite vocoder/tts model
+# $ tts-server --model_name tts_models/en/ljspeech/glow-tts --vocoder_name vocoder_models/universal/libri-tts/fullband-melgan
 #
 # For now, for deployment check the systemd unit in the pull request:
 #   https://github.com/NixOS/nixpkgs/pull/103851#issue-521121136
@@ -47,35 +18,31 @@ python3Packages.buildPythonApplication rec {
   # until https://github.com/mozilla/TTS/issues/424 is resolved
   # we treat released models as released versions:
   # https://github.com/mozilla/TTS/wiki/Released-Models
-  version = "unstable-2020-06-17";
+  version = "0.0.9";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "TTS";
-    rev = "72a6ac54c8cfaa407fc64b660248c6a788bdd381";
-    sha256 = "1wvs264if9n5xzwi7ryxvwj1j513szp6sfj6n587xk1fphi0921f";
+    rev = "df5899daf4ba4ec89544edf94f9c2e105c544461";
+    sha256 = "sha256-lklG8DqG04LKJY93z2axeYhW8gtpbRG41o9ow2gJjuA=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/mozilla/TTS/commit/36fee428b9f3f4ec1914b090a2ec9d785314d9aa.patch";
-      sha256 = "sha256-pP0NxiyrsvQ0A7GEleTdT87XO08o7WxPEpb6Bmj66dc=";
-    })
-  ];
-
   preBuild = ''
     # numba jit tries to write to its cache directory
     export HOME=$TMPDIR
-    sed -i -e 's!tensorflow==.*!tensorflow!' requirements.txt
+    # we only support pytorch models right now
+    sed -i -e '/tensorflow/d' requirements.txt
+
     sed -i -e 's!librosa==[^"]*!librosa!' requirements.txt setup.py
     sed -i -e 's!unidecode==[^"]*!unidecode!' requirements.txt setup.py
     sed -i -e 's!bokeh==[^"]*!bokeh!' requirements.txt setup.py
     sed -i -e 's!numba==[^"]*!numba!' requirements.txt setup.py
     # Not required for building/installation but for their development/ci workflow
-    sed -i -e '/pylint/d' requirements.txt setup.py
+    sed -i -e '/pylint/d' requirements.txt
     sed -i -e '/cardboardlint/d' requirements.txt setup.py
   '';
 
+  nativeBuildInputs = [ python3Packages.cython ];
 
   propagatedBuildInputs = with python3Packages; [
     matplotlib
@@ -88,17 +55,23 @@ python3Packages.buildPythonApplication rec {
     tqdm
     librosa
     unidecode
+    umap-learn
     phonemizer
     tensorboardx
     fuzzywuzzy
-    tensorflow_2
     inflect
     gdown
     pysbd
+    pyworld
   ];
 
   postInstall = ''
     cp -r TTS/server/templates/ $out/${python3.sitePackages}/TTS/server
+    # cython modules are not installed for some reasons
+    (
+      cd TTS/tts/layers/glow_tts/monotonic_align
+      ${python3Packages.python.interpreter} setup.py install --prefix=$out
+    )
   '';
 
   checkInputs = with python3Packages; [ pytestCheckHook ];
@@ -114,6 +87,18 @@ python3Packages.buildPythonApplication rec {
     "test_parametrized_gan_dataset"
   ];
 
+  preCheck = ''
+    # use the installed TTS in $PYTHONPATH instead of the one from source to also have cython modules.
+    mv TTS{,.old}
+  '';
+
+  pytestFlagsArray = [
+    # requires tensorflow
+    "--ignore=tests/test_tacotron2_tf_model.py"
+    "--ignore=tests/test_vocoder_tf_melgan_generator.py"
+    "--ignore=tests/test_vocoder_tf_pqmf.py"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/mozilla/TTS";
     description = "Deep learning for Text to Speech";
diff --git a/pkgs/tools/audio/video2midi/default.nix b/pkgs/tools/audio/video2midi/default.nix
index 3ce76fb61fa..4eafd7f52e1 100644
--- a/pkgs/tools/audio/video2midi/default.nix
+++ b/pkgs/tools/audio/video2midi/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pythonPackages, opencv3 }:
+{ lib, fetchFromGitHub, pythonPackages, opencv3 }:
 
 let
   opencv3_ = pythonPackages.toPythonModule (opencv3.override {
diff --git a/pkgs/tools/audio/volctl/default.nix b/pkgs/tools/audio/volctl/default.nix
index 06b6079bde2..d05257f1d08 100644
--- a/pkgs/tools/audio/volctl/default.nix
+++ b/pkgs/tools/audio/volctl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages, fetchFromGitHub, wrapGAppsHook, gobject-introspection, libpulseaudio, glib, gtk3, pango, xorg }:
+{ lib, python3Packages, fetchFromGitHub, wrapGAppsHook, gobject-introspection, libpulseaudio, glib, gtk3, pango, xorg }:
 
 python3Packages.buildPythonApplication rec {
   pname = "volctl";
diff --git a/pkgs/tools/backup/bacula/default.nix b/pkgs/tools/backup/bacula/default.nix
index 3d9772de404..f35c7a44b58 100644
--- a/pkgs/tools/backup/bacula/default.nix
+++ b/pkgs/tools/backup/bacula/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bacula";
-  version = "11.0.0";
+  version = "11.0.1";
 
   src = fetchurl {
     url    = "mirror://sourceforge/bacula/${pname}-${version}.tar.gz";
-    sha256 = "JmBTwI/wUEytkhu0SYbTX6/dDQG6xvN2odEYTVpztok=";
+    sha256 = "sha256-Lr2c24hZU8A/Cd8xGA7rfqga67ghz0XJ/cs/z/hSlPU=";
   };
 
   buildInputs = [ postgresql sqlite zlib ncurses openssl readline ]
diff --git a/pkgs/tools/backup/bupstash/default.nix b/pkgs/tools/backup/bupstash/default.nix
index 76a3d674ecb..9ed70491fb3 100644
--- a/pkgs/tools/backup/bupstash/default.nix
+++ b/pkgs/tools/backup/bupstash/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, installShellFiles, rustPlatform, ronn, pkg-config, libsodium }:
+{ lib, fetchFromGitHub, installShellFiles, rustPlatform, ronn, pkg-config, libsodium }:
 rustPlatform.buildRustPackage rec {
   pname = "bupstash";
   version = "0.6.4";
diff --git a/pkgs/tools/backup/diskrsync/default.nix b/pkgs/tools/backup/diskrsync/default.nix
index d70efa1d224..3b5d901daf0 100644
--- a/pkgs/tools/backup/diskrsync/default.nix
+++ b/pkgs/tools/backup/diskrsync/default.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, fetchFromGitHub, lib, stdenv, openssh, makeWrapper }:
+{ buildGoPackage, fetchFromGitHub, lib, openssh, makeWrapper }:
 
 buildGoPackage rec {
   pname = "diskrsync";
diff --git a/pkgs/tools/backup/dump/default.nix b/pkgs/tools/backup/dump/default.nix
index a709d84a610..75a449a1276 100644
--- a/pkgs/tools/backup/dump/default.nix
+++ b/pkgs/tools/backup/dump/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dump";
-  version = "0.4b46";
+  version = "0.4b47";
 
   src = fetchurl {
     url = "mirror://sourceforge/dump/dump-${version}.tar.gz";
-    sha256 = "15rg5y15ak0ppqlhcih78layvg7cwp6hc16p3c58xs8svlkxjqc0";
+    sha256 = "sha256-0CGs3k+77T2T662YFCL2cfSNZrKeyI196DZC7Pv/T9A=";
   };
 
   buildInputs = [ e2fsprogs pkg-config ncurses readline ];
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index 5b213db6385..399d6b9ada3 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -19,11 +19,11 @@ let
 in
 pythonPackages.buildPythonApplication rec {
   pname = "duplicity";
-  version = "0.8.15";
+  version = "0.8.17";
 
   src = fetchurl {
     url = "https://code.launchpad.net/duplicity/${majorMinor version}-series/${majorMinorPatch version}/+download/duplicity-${version}.tar.gz";
-    sha256 = "1kg467mxg5a97v1rlv4shk32krgv8ys4nczq4b11av4bp1lgysdc";
+    sha256 = "114rwkf9b3h4fcagrx013sb7krc4hafbwl9gawjph2wd9pkv2wx2";
   };
 
   patches = [
diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix
index d23198f6f0c..15ac5acbe84 100644
--- a/pkgs/tools/backup/duply/default.nix
+++ b/pkgs/tools/backup/duply/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "duply";
-  version = "2.2";
+  version = "2.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/2.2.x/duply_${version}.tgz";
-    sha256 = "1bd7ivswxmxg64n0fnwgz6bkgckhdhz2qnnlkqqx4ccdxx15krbr";
+    url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/2.3.x/duply_${version}.tgz";
+    sha256 = "sha256-I1KkblFnZVOCvcWEarGsSXnzlod2+yZ4okaTpckLFbE=";
   };
 
   buildInputs = [ txt2man makeWrapper ];
diff --git a/pkgs/tools/backup/grab-site/default.nix b/pkgs/tools/backup/grab-site/default.nix
index 2ef3b5f5420..2f2f01356b4 100644
--- a/pkgs/tools/backup/grab-site/default.nix
+++ b/pkgs/tools/backup/grab-site/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python37, fetchFromGitHub }:
+{ lib, python37, fetchFromGitHub }:
 let
   python = python37.override {
     self = python;
diff --git a/pkgs/tools/backup/httrack/qt.nix b/pkgs/tools/backup/httrack/qt.nix
index 736dfdb557d..2a7c4ff5176 100644
--- a/pkgs/tools/backup/httrack/qt.nix
+++ b/pkgs/tools/backup/httrack/qt.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, stdenv, fetchurl, cmake, pkg-config, makeWrapper
+{ mkDerivation, lib, fetchurl, cmake, pkg-config, makeWrapper
 , httrack, qtbase, qtmultimedia }:
 
 mkDerivation rec {
diff --git a/pkgs/tools/backup/iceshelf/default.nix b/pkgs/tools/backup/iceshelf/default.nix
index eb5e883bdac..c066cb76695 100644
--- a/pkgs/tools/backup/iceshelf/default.nix
+++ b/pkgs/tools/backup/iceshelf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, git, awscli, python3 }:
+{ lib, fetchFromGitHub, git, awscli, python3 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "iceshelf";
diff --git a/pkgs/tools/backup/luckybackup/default.nix b/pkgs/tools/backup/luckybackup/default.nix
index 5a67bea41ea..a8f88e88b0e 100644
--- a/pkgs/tools/backup/luckybackup/default.nix
+++ b/pkgs/tools/backup/luckybackup/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, stdenv, fetchurl
+{ mkDerivation, lib, fetchurl
 , pkg-config, libtool, qmake
 , rsync, ssh
 }:
diff --git a/pkgs/tools/backup/mydumper/default.nix b/pkgs/tools/backup/mydumper/default.nix
index 0804b5132c5..a923724419d 100644
--- a/pkgs/tools/backup/mydumper/default.nix
+++ b/pkgs/tools/backup/mydumper/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [ "-DMYSQL_INCLUDE_DIR=${getDev libmysqlclient}/include/mysql" ];
 
   meta = with lib; {
-    description = ''High-perfomance MySQL backup tool'';
+    description = "High-perfomance MySQL backup tool";
     homepage = "https://github.com/maxbube/mydumper";
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/tools/backup/rdiff-backup/default.nix b/pkgs/tools/backup/rdiff-backup/default.nix
index f55f163dafb..0d24e3df720 100644
--- a/pkgs/tools/backup/rdiff-backup/default.nix
+++ b/pkgs/tools/backup/rdiff-backup/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, python2Packages, librsync, gnused }:
+{lib, fetchurl, python2Packages, librsync, gnused }:
 
 python2Packages.buildPythonApplication {
   name = "rdiff-backup-1.3.3";
diff --git a/pkgs/tools/backup/s3ql/default.nix b/pkgs/tools/backup/s3ql/default.nix
index 74b90236c4e..70394afb50e 100644
--- a/pkgs/tools/backup/s3ql/default.nix
+++ b/pkgs/tools/backup/s3ql/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages, sqlite, which }:
+{ lib, fetchFromGitHub, python3Packages, sqlite, which }:
 
 python3Packages.buildPythonApplication rec {
   pname = "s3ql";
diff --git a/pkgs/tools/backup/ugarit-manifest-maker/default.nix b/pkgs/tools/backup/ugarit-manifest-maker/default.nix
index 99ddd62e6ae..8c37a7b72ac 100644
--- a/pkgs/tools/backup/ugarit-manifest-maker/default.nix
+++ b/pkgs/tools/backup/ugarit-manifest-maker/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, stdenv, eggDerivation, fetchegg }:
+{ pkgs, lib, eggDerivation, fetchegg }:
 let
   eggs = import ./eggs.nix { inherit eggDerivation fetchegg; };
 in with pkgs; eggDerivation rec {
diff --git a/pkgs/tools/backup/ugarit/default.nix b/pkgs/tools/backup/ugarit/default.nix
index 938c24f38ce..39c11cc0c91 100644
--- a/pkgs/tools/backup/ugarit/default.nix
+++ b/pkgs/tools/backup/ugarit/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, stdenv, eggDerivation, fetchegg }:
+{ pkgs, lib, eggDerivation, fetchegg }:
 let
   eggs = import ./eggs.nix { inherit eggDerivation fetchegg; };
 in with pkgs; eggDerivation rec {
diff --git a/pkgs/tools/backup/wal-e/default.nix b/pkgs/tools/backup/wal-e/default.nix
index 0ed2bf1bf8b..8e54b58e201 100644
--- a/pkgs/tools/backup/wal-e/default.nix
+++ b/pkgs/tools/backup/wal-e/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, python3Packages, lzop, postgresql, pv }:
+{ lib, fetchurl, python3Packages, lzop, postgresql, pv }:
 
 python3Packages.buildPythonApplication rec {
   pname = "wal-e";
diff --git a/pkgs/tools/backup/zfs-replicate/default.nix b/pkgs/tools/backup/zfs-replicate/default.nix
index 02e3c19f004..c167ad1fa01 100644
--- a/pkgs/tools/backup/zfs-replicate/default.nix
+++ b/pkgs/tools/backup/zfs-replicate/default.nix
@@ -1,5 +1,5 @@
 { buildPythonApplication, click, fetchPypi, hypothesis, mypy, pytest
-, pytestcov, pytestrunner, lib, stdenv, stringcase
+, pytestcov, pytestrunner, lib, stringcase
 }:
 
 buildPythonApplication rec {
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index da1c4bfa969..69eeb3db711 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -1,11 +1,11 @@
 { config, stdenv, lib, fetchurl, intltool, pkg-config, python3Packages, bluez, gtk3
-, obex_data_server, xdg_utils, dnsmasq, dhcp, libappindicator, iproute
+, obex_data_server, xdg-utils, dnsmasq, dhcp, libappindicator, iproute
 , gnome3, librsvg, wrapGAppsHook, gobject-introspection, autoreconfHook
 , networkmanager, withPulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio, fetchpatch }:
 
 let
   pythonPackages = python3Packages;
-  binPath = lib.makeBinPath [ xdg_utils dnsmasq dhcp iproute ];
+  binPath = lib.makeBinPath [ xdg-utils dnsmasq dhcp iproute ];
 
 in stdenv.mkDerivation rec {
   pname = "blueman";
diff --git a/pkgs/tools/cd-dvd/cue2pops/default.nix b/pkgs/tools/cd-dvd/cue2pops/default.nix
index e5d95e96fbc..70ab6db07c2 100644
--- a/pkgs/tools/cd-dvd/cue2pops/default.nix
+++ b/pkgs/tools/cd-dvd/cue2pops/default.nix
@@ -1,9 +1,11 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
 
-with lib;
 stdenv.mkDerivation {
   pname = "cue2pops";
-  version = "git-2018-01-04";
+  version = "unstable-2018-01-04";
 
   src = fetchFromGitHub {
     owner = "makefu";
@@ -14,14 +16,14 @@ stdenv.mkDerivation {
 
   dontConfigure = true;
 
-  makeFlags = ["CC=cc"];
+  makeFlags = [ "CC=cc" ];
 
   installPhase = ''
     install --directory --mode=755 $out/bin
     install --mode=755 cue2pops $out/bin
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Convert CUE to ISO suitable to POPStarter";
     homepage = "https://github.com/makefu/cue2pops-linux";
     maintainers = with maintainers; [ AndersonTorres ];
diff --git a/pkgs/tools/cd-dvd/isolyzer/default.nix b/pkgs/tools/cd-dvd/isolyzer/default.nix
index 477fa337da8..c175eb45aa0 100644
--- a/pkgs/tools/cd-dvd/isolyzer/default.nix
+++ b/pkgs/tools/cd-dvd/isolyzer/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , python3
 , fetchFromGitHub
 }:
diff --git a/pkgs/tools/compression/advancecomp/default.nix b/pkgs/tools/compression/advancecomp/default.nix
index b0e7f9e8f6b..7f8733b9b4e 100644
--- a/pkgs/tools/compression/advancecomp/default.nix
+++ b/pkgs/tools/compression/advancecomp/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = ''A set of tools to optimize deflate-compressed files'';
+    description = "A set of tools to optimize deflate-compressed files";
     license = licenses.gpl3 ;
     maintainers = [ maintainers.raskin ];
     platforms = platforms.linux ++ platforms.darwin;
diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix
index ad680a69f85..bfaf359522f 100644
--- a/pkgs/tools/compression/bzip2/default.nix
+++ b/pkgs/tools/compression/bzip2/default.nix
@@ -48,6 +48,6 @@ stdenv.mkDerivation rec {
     description = "High-quality data compression program";
     license = licenses.bsdOriginal;
     platforms = platforms.all;
-    maintainers = [];
+    maintainers = with maintainers; [ mic92 ];
   };
 }
diff --git a/pkgs/tools/compression/dtrx/default.nix b/pkgs/tools/compression/dtrx/default.nix
index 0abea9b1285..91d59a4de0f 100644
--- a/pkgs/tools/compression/dtrx/default.nix
+++ b/pkgs/tools/compression/dtrx/default.nix
@@ -1,4 +1,4 @@
-{stdenv, lib, fetchurl, pythonPackages
+{ lib, fetchurl, pythonPackages
 , gnutar, unzip, lhasa, rpm, binutils, cpio, gzip, p7zip, cabextract, unrar, unshield
 , bzip2, xz, lzip
 # unzip is handled by p7zip
diff --git a/pkgs/tools/compression/lzip/default.nix b/pkgs/tools/compression/lzip/default.nix
index 9826347cfbb..aa6b6d31a89 100644
--- a/pkgs/tools/compression/lzip/default.nix
+++ b/pkgs/tools/compression/lzip/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lzip";
-  version = "1.21";
+  version = "1.22";
 
   nativeBuildInputs = [ texinfo ];
 
   src = fetchurl {
     url = "mirror://savannah/lzip/${pname}-${version}.tar.gz";
-    sha256 = "12qdcw5k1cx77brv9yxi1h4dzwibhfmdpigrj43nfk8nscwm12z4";
+    sha256 = "sha256-wzQtQuZxOcFluLEo0DO1yWiToTrF8lkzGQMVIU6HqUg=";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/compression/ncompress/default.nix b/pkgs/tools/compression/ncompress/default.nix
index 0f79811f966..438e169d23c 100644
--- a/pkgs/tools/compression/ncompress/default.nix
+++ b/pkgs/tools/compression/ncompress/default.nix
@@ -1,7 +1,7 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "ncompress-4.2.4.5";
+  name = "ncompress-4.2.4.6";
 
   builder = ./builder.sh;
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/project/ncompress/${name}.tar.gz";
-    sha256 = "0fwhfijnzggqpbmln82zq7zp6sra7p9arfakswicwi7qsp6vnxgm";
+    sha256 = "0sw3c7h80v9pagfqfx16ws9w2y3yrajrdk54bgiwdm0b0q06lyzv";
   };
 
   meta = {
diff --git a/pkgs/tools/compression/ncompress/makefile.patch b/pkgs/tools/compression/ncompress/makefile.patch
index 49aa4e65c76..b61b1272f8b 100644
--- a/pkgs/tools/compression/ncompress/makefile.patch
+++ b/pkgs/tools/compression/ncompress/makefile.patch
@@ -1,25 +1,6 @@
 diff -Naur ncompress-4.2.4.2.orig/Makefile.def ncompress-4.2.4.2/Makefile.def
 --- ncompress-4.2.4.2.orig/Makefile.def	2007-09-06 22:28:42.000000000 -0500
 +++ ncompress-4.2.4.2/Makefile.def	2009-08-18 12:30:53.000000000 -0500
-@@ -3,14 +3,16 @@
- # C complier
- #CC=cc
- 
-+PREFIX=/usr/local
-+
- # Install prefix
- DESTDIR=
- 
- # Install directory for binarys
--BINDIR=/usr/local/bin
-+BINDIR=$(PREFIX)/bin
- 
- # Install directory for manual
--MANDIR=/usr/local/man/man1
-+MANDIR=$(PREFIX)/man/man1
- 
- # compiler options:
- # options is a collection of:
 @@ -31,7 +33,7 @@
  #	-DDEF_ERRNO=1				Define error (not defined in errno.h).
  #	-DMAXSEG_64K=1 -BITS=16		Support segment processsor like 80286.
diff --git a/pkgs/tools/compression/pigz/default.nix b/pkgs/tools/compression/pigz/default.nix
index 7517e599e73..a4cdcc08549 100644
--- a/pkgs/tools/compression/pigz/default.nix
+++ b/pkgs/tools/compression/pigz/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchurl, zlib, util-linux }:
 
 let name = "pigz";
-    version = "2.4";
+    version = "2.6";
 in
 stdenv.mkDerivation {
   name = name + "-" + version;
 
   src = fetchurl {
     url = "https://www.zlib.net/${name}/${name}-${version}.tar.gz";
-    sha256 = "0wsgw5vwl23jrnpsvd8v3xcp5k4waw5mk0164fynjhkv58i1dy54";
+    sha256 = "sha256-Lu17DXRJ0dcJA/KmLNYAXSYus6jJ6YaHvIy7WAnbKn0=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/compression/pixz/default.nix b/pkgs/tools/compression/pixz/default.nix
index b55c1a887ff..833dcae8850 100644
--- a/pkgs/tools/compression/pixz/default.nix
+++ b/pkgs/tools/compression/pixz/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     inherit version;
-    description = ''A parallel compressor/decompressor for xz format'';
+    description = "A parallel compressor/decompressor for xz format";
     license = lib.licenses.bsd2;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.unix;
diff --git a/pkgs/tools/filesystems/android-file-transfer/default.nix b/pkgs/tools/filesystems/android-file-transfer/default.nix
index 68199a0938e..f0efaaa3231 100644
--- a/pkgs/tools/filesystems/android-file-transfer/default.nix
+++ b/pkgs/tools/filesystems/android-file-transfer/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, mkDerivation, fetchFromGitHub, cmake, fuse, readline, pkg-config, qtbase, qttools }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, fuse, readline, pkg-config, qtbase, qttools }:
 
 mkDerivation rec {
   pname = "android-file-transfer";
diff --git a/pkgs/tools/filesystems/bindfs/default.nix b/pkgs/tools/filesystems/bindfs/default.nix
index a8baeaf3ef5..cc6916869b6 100644
--- a/pkgs/tools/filesystems/bindfs/default.nix
+++ b/pkgs/tools/filesystems/bindfs/default.nix
@@ -1,16 +1,14 @@
 { lib, stdenv, fetchurl, fuse, pkg-config }:
 
 stdenv.mkDerivation rec {
-  version = "1.14.8";
+  version = "1.14.9";
   pname = "bindfs";
 
   src = fetchurl {
     url    = "https://bindfs.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "15y4brlcrqhxl6z73785m0dr1vp2q3wc6xss08x9jjr0apzmmjp5";
+    sha256 = "0fnij365dn4ihkpfc92x63inxxwpminzffyj55krp1w02canpl5n";
   };
 
-  dontStrip = true;
-
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ fuse ];
   postFixup = ''
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index 84ceea384c3..ec9cd7ca61a 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.9";
+  version = "5.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "14d7hz07kfczfgmy1ixkgccjn393gpkjn7givz5kwxddcnk5i4xq";
+    sha256 = "sha256-5xoNbdUE86XZV/zpowKB62Hs+ZHIrzFf4AYaG5eh0CE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/filesystems/catcli/default.nix b/pkgs/tools/filesystems/catcli/default.nix
index f5dbabaf583..2f179a151d1 100644
--- a/pkgs/tools/filesystems/catcli/default.nix
+++ b/pkgs/tools/filesystems/catcli/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , fetchFromGitHub
 , buildPythonApplication
 , docopt, anytree
@@ -18,7 +18,7 @@ buildPythonApplication rec {
 
   propagatedBuildInputs = [ docopt anytree ];
 
-  postPatch = '' patchShebangs . '';
+  postPatch = "patchShebangs . ";
 
   meta = with lib; {
     description = "The command line catalog tool for your offline data";
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index c11828e24ca..61cc4573693 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, runCommand, fetchurl
+{ lib, stdenv, runCommand, fetchurl
 , fetchpatch
 , ensureNewerSourcesHook
 , cmake, pkg-config
@@ -36,7 +36,6 @@
 # We must have one crypto library
 assert cryptopp != null || (nss != null && nspr != null);
 
-with stdenv; with lib;
 let
   shouldUsePkg = pkg: if pkg != null && pkg.meta.available then pkg else null;
 
@@ -76,7 +75,7 @@ let
     none = [ ];
   };
 
-  getMeta = description: {
+  getMeta = description: with lib; {
      homepage = "https://ceph.com/";
      inherit description;
      license = with licenses; [ lgpl21 gpl2 bsd3 mit publicDomain ];
@@ -148,11 +147,11 @@ in rec {
       boost ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3
       malloc zlib openldap lttng-ust babeltrace gperf gtest cunit
       snappy rocksdb lz4 oathToolkit leveldb libnl libcap_ng rdkafka
-    ] ++ optionals stdenv.isLinux [
+    ] ++ lib.optionals stdenv.isLinux [
       linuxHeaders util-linux libuuid udev keyutils optLibaio optLibxfs optZfs
       # ceph 14
       rdma-core rabbitmq-c
-    ] ++ optionals hasRadosgw [
+    ] ++ lib.optionals hasRadosgw [
       optFcgi optExpat optCurl optFuse optLibedit
     ];
 
diff --git a/pkgs/tools/filesystems/convoy/default.nix b/pkgs/tools/filesystems/convoy/default.nix
index 4c493ea2252..774568fdde1 100644
--- a/pkgs/tools/filesystems/convoy/default.nix
+++ b/pkgs/tools/filesystems/convoy/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by go2nix.
-{ lib, stdenv, buildGoPackage, fetchFromGitHub, lvm2 }:
+{ lib, buildGoPackage, fetchFromGitHub, lvm2 }:
 
 buildGoPackage rec {
   pname = "convoy";
diff --git a/pkgs/tools/filesystems/disorderfs/default.nix b/pkgs/tools/filesystems/disorderfs/default.nix
index 497a6ad0e0a..27dc55fb926 100644
--- a/pkgs/tools/filesystems/disorderfs/default.nix
+++ b/pkgs/tools/filesystems/disorderfs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "disorderfs";
-  version = "0.5.6";
+  version = "0.5.11";
 
   src = fetchurl {
     url = "http://http.debian.net/debian/pool/main/d/disorderfs/disorderfs_${version}.orig.tar.bz2";
-    sha256 = "0xlsl6cw1p0d92crknrcf4iabgig0185dzp80qxh9iyjy42d27gk";
+    sha256 = "sha256-KqAMKVUykCgVdNyjacZjpVXqVdeob76v0iOuSd4TNIY=";
   };
 
   nativeBuildInputs = [ pkg-config asciidoc ];
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index ffe716dceea..154b0006663 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -71,5 +71,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.unix;
     maintainers = [ maintainers.eelco ];
+    # imager.c:70:2: error: unknown type name 'loff_t'; did you mean 'off_t'?
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/tools/filesystems/gitfs/default.nix b/pkgs/tools/filesystems/gitfs/default.nix
index 1d1863ede96..e4a120264fd 100644
--- a/pkgs/tools/filesystems/gitfs/default.nix
+++ b/pkgs/tools/filesystems/gitfs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "gitfs";
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index 5145889407e..4e8a3a991f5 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -54,13 +54,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "glusterfs";
-  version = "8.3";
+  version = "9.0";
 
   src = fetchFromGitHub {
     owner = "gluster";
     repo = pname;
     rev = "v${version}";
-    sha256 = "09vvbymiacz2pzwnq6f2dd7g2zszzsivdncz45sh977v3z0n84az";
+    sha256 = "sha256-pjJQAFEb44yNqvNAOclZsiEDZBgcfIxliD3La1IsKPs=";
   };
   inherit buildInputs propagatedBuildInputs;
 
@@ -90,7 +90,7 @@ in stdenv.mkDerivation rec {
     '';
 
   configureFlags = [
-    ''--localstatedir=/var''
+    "--localstatedir=/var"
     ];
 
   nativeBuildInputs = [ rpcsvc-proto ];
diff --git a/pkgs/tools/filesystems/gocryptfs/default.nix b/pkgs/tools/filesystems/gocryptfs/default.nix
index 318e39e8322..b8b330c129a 100644
--- a/pkgs/tools/filesystems/gocryptfs/default.nix
+++ b/pkgs/tools/filesystems/gocryptfs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , buildGoModule
 , fetchFromGitHub
 , openssl
diff --git a/pkgs/tools/filesystems/irods/common.nix b/pkgs/tools/filesystems/irods/common.nix
index 24697aaf821..7b7eb7ba05a 100644
--- a/pkgs/tools/filesystems/irods/common.nix
+++ b/pkgs/tools/filesystems/irods/common.nix
@@ -1,9 +1,7 @@
-{ stdenv, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man , texinfo, libtool , cppzmq , libarchive, avro-cpp, boost, jansson, zeromq, openssl, pam, libiodbc, kerberos, gcc, libcxx, which, catch2 }:
+{ lib, stdenv, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man , texinfo, libtool , cppzmq , libarchive, avro-cpp, boost, jansson, zeromq, openssl, pam, libiodbc, kerberos, gcc, libcxx, which, catch2 }:
 
 # Common attributes of irods packages
 
-with stdenv;
-
 {
   nativeBuildInputs = [ autoconf automake cmake gnumake help2man texinfo which gcc ];
   buildInputs = [ bzip2 zlib libtool cppzmq libarchive avro-cpp jansson zeromq openssl pam libiodbc kerberos boost libcxx catch2 ];
@@ -35,7 +33,7 @@ with stdenv;
     "
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Integrated Rule-Oriented Data System (iRODS)";
     longDescription = ''
       The Integrated Rule-Oriented Data System (iRODS) is open source data management
diff --git a/pkgs/tools/filesystems/irods/default.nix b/pkgs/tools/filesystems/irods/default.nix
index 8dfdd96dbeb..fe7a0d73f67 100644
--- a/pkgs/tools/filesystems/irods/default.nix
+++ b/pkgs/tools/filesystems/irods/default.nix
@@ -1,13 +1,11 @@
-{ stdenv, fetchFromGitHub, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man , texinfo, libtool , cppzmq , libarchive, avro-cpp_llvm, boost, jansson, zeromq, openssl , pam, libiodbc, kerberos, gcc, libcxx, which, catch2 }:
-
-with stdenv;
+{ lib, stdenv, fetchFromGitHub, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man , texinfo, libtool , cppzmq , libarchive, avro-cpp_llvm, boost, jansson, zeromq, openssl , pam, libiodbc, kerberos, gcc, libcxx, which, catch2 }:
 
 let
   avro-cpp=avro-cpp_llvm;
 in
 let
   common = import ./common.nix {
-    inherit stdenv bzip2 zlib autoconf automake cmake gnumake
+    inherit lib stdenv bzip2 zlib autoconf automake cmake gnumake
             help2man texinfo libtool cppzmq libarchive jansson
             zeromq openssl pam libiodbc kerberos gcc libcxx
             boost avro-cpp which catch2;
@@ -57,8 +55,7 @@ in rec {
     '';
 
     meta = common.meta // {
-      longDescription = common.meta.longDescription + ''
-        This package provides the servers and libraries.'';
+      longDescription = common.meta.longDescription + "This package provides the servers and libraries.";
     };
   });
 
@@ -84,7 +81,7 @@ in rec {
      '';
 
      cmakeFlags = common.cmakeFlags ++ [
-       "-DCMAKE_INSTALL_PREFIX=${out}"
+       "-DCMAKE_INSTALL_PREFIX=${stdenv.out}"
        "-DIRODS_DIR=${irods}/lib/irods/cmake"
        "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath,${irods}/lib"
        "-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath,${irods}/lib"
@@ -93,8 +90,7 @@ in rec {
 
      meta = common.meta // {
        description = common.meta.description + " CLI clients";
-       longDescription = common.meta.longDescription + ''
-         This package provides the CLI clients, called 'icommands'.'';
+       longDescription = common.meta.longDescription + "This package provides the CLI clients, called 'icommands'.";
      };
   });
 }
diff --git a/pkgs/tools/filesystems/nixpart/default.nix b/pkgs/tools/filesystems/nixpart/default.nix
index 3a63ad9747f..80ae8ca2b3c 100644
--- a/pkgs/tools/filesystems/nixpart/default.nix
+++ b/pkgs/tools/filesystems/nixpart/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, buildPythonApplication, blivet }:
+{ lib, fetchurl, buildPythonApplication, blivet }:
 
 buildPythonApplication rec {
   pname = "nixpart";
diff --git a/pkgs/tools/filesystems/rar2fs/default.nix b/pkgs/tools/filesystems/rar2fs/default.nix
index a3056a80aa1..ddd37387fae 100644
--- a/pkgs/tools/filesystems/rar2fs/default.nix
+++ b/pkgs/tools/filesystems/rar2fs/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rar2fs";
-  version = "1.29.2";
+  version = "1.29.4";
 
   src = fetchFromGitHub {
     owner = "hasse69";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0j7ai0gcbln2lyfc87xxmj0zpf3lnqa6fdm5rar3kdqhczb7s93y";
+    sha256 = "sha256-O14KuzngzsGazvwz3FCPe0SplO8I6CPJjpCLBPcZq6k=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/filesystems/s3fs/default.nix b/pkgs/tools/filesystems/s3fs/default.nix
index e0b42711d22..4ff36e3b1d8 100644
--- a/pkgs/tools/filesystems/s3fs/default.nix
+++ b/pkgs/tools/filesystems/s3fs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s3fs-fuse";
-  version = "1.87";
+  version = "1.88";
 
   src = fetchFromGitHub {
     owner  = "s3fs-fuse";
     repo   = "s3fs-fuse";
     rev    = "v${version}";
-    sha256 = "09ib3sh6vg3z7cpccj3ysgpdyf84a98lf6nz15a61r4l27h111f2";
+    sha256 = "sha256-LxqTKu9F8FqHnjp1a9E/+WbH1Ol6if/OpY7LGsVE9Bw=";
   };
 
   buildInputs = [ curl openssl libxml2 ]
diff --git a/pkgs/tools/filesystems/sandboxfs/default.nix b/pkgs/tools/filesystems/sandboxfs/default.nix
index 8777fa50a5d..32d186344dd 100644
--- a/pkgs/tools/filesystems/sandboxfs/default.nix
+++ b/pkgs/tools/filesystems/sandboxfs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , fetchFromGitHub
 , rustPlatform
 , fuse
diff --git a/pkgs/tools/filesystems/squashfs-tools-ng/default.nix b/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
index 593004d552c..322f57fdca9 100644
--- a/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
+++ b/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "squashfs-tools-ng";
-  version = "1.0.1";
+  version = "1.0.4";
 
   src = fetchurl {
     url = "https://infraroot.at/pub/squashfs/squashfs-tools-ng-${version}.tar.xz";
-    sha256 = "120x2hlbhpm90bzxz70z764552ffrjpidmp1y6gafx70zp0hrks4";
+    sha256 = "04zvpws1nk3r2kr1k5in9di9fhn4zzciyndgnxnijmhiqpyrx072";
   };
 
   nativeBuildInputs = [ doxygen graphviz pkg-config perl ];
diff --git a/pkgs/tools/filesystems/tmsu/default.nix b/pkgs/tools/filesystems/tmsu/default.nix
index 7129de95013..1eac3e03ec9 100644
--- a/pkgs/tools/filesystems/tmsu/default.nix
+++ b/pkgs/tools/filesystems/tmsu/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub, fuse, installShellFiles }:
+{ lib, buildGoPackage, fetchFromGitHub, fuse, installShellFiles }:
 
 buildGoPackage rec {
   pname = "tmsu";
diff --git a/pkgs/tools/filesystems/ubidump/default.nix b/pkgs/tools/filesystems/ubidump/default.nix
index 2787b87964f..6a6409ad325 100644
--- a/pkgs/tools/filesystems/ubidump/default.nix
+++ b/pkgs/tools/filesystems/ubidump/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3, makeWrapper }:
+{ lib, fetchFromGitHub, python3, makeWrapper }:
 
 python3.pkgs.buildPythonApplication rec {
 
diff --git a/pkgs/tools/filesystems/zerofree/default.nix b/pkgs/tools/filesystems/zerofree/default.nix
index 2489357f73f..1447ca36a13 100644
--- a/pkgs/tools/filesystems/zerofree/default.nix
+++ b/pkgs/tools/filesystems/zerofree/default.nix
@@ -1,6 +1,11 @@
-{ lib, stdenv, fetchurl, e2fsprogs }:
+{ lib, stdenv, fetchurl, installShellFiles, e2fsprogs }:
 
-stdenv.mkDerivation rec {
+let
+  manpage = fetchurl {
+    url = "https://manpages.ubuntu.com/manpages.gz/xenial/man8/zerofree.8.gz";
+    sha256 = "0y132xmjl02vw41k794psa4nmjpdyky9f6sf0h4f7rvf83z3zy4k";
+  };
+in stdenv.mkDerivation rec {
   pname = "zerofree";
   version = "1.1.1";
 
@@ -9,12 +14,14 @@ stdenv.mkDerivation rec {
     sha256 = "0rrqfa5z103ws89vi8kfvbks1cfs74ix6n1wb6vs582vnmhwhswm";
   };
 
-  buildInputs = [ e2fsprogs ];
+  buildInputs = [ e2fsprogs installShellFiles ];
 
   installPhase = ''
-    mkdir -p $out/bin
+    mkdir -p $out/bin $out/share/zerofree
     cp zerofree $out/bin
-'';
+    cp COPYING $out/share/zerofree/COPYING
+    installManPage ${manpage}
+  '';
 
   meta = {
     homepage = "https://frippery.org/uml/";
diff --git a/pkgs/tools/games/ajour/default.nix b/pkgs/tools/games/ajour/default.nix
new file mode 100644
index 00000000000..291c783c914
--- /dev/null
+++ b/pkgs/tools/games/ajour/default.nix
@@ -0,0 +1,81 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, autoPatchelfHook
+, cmake
+, makeWrapper
+, pkg-config
+, python3
+, expat
+, freetype
+, kdialog
+, zenity
+, openssl
+, libX11
+, libxcb
+, libXcursor
+, libXi
+, libxkbcommon
+, libXrandr
+, vulkan-loader
+, wayland
+}:
+
+let
+  rpathLibs = [
+    libXcursor
+    libXi
+    libxkbcommon
+    libXrandr
+    libX11
+    vulkan-loader
+    wayland
+  ];
+
+in rustPlatform.buildRustPackage rec {
+  pname = "Ajour";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "casperstorm";
+    repo = "ajour";
+    rev = version;
+    sha256 = "1lwwj16q24k3d3vaj64zkai4cb15hxp6bzicp004q5az4gbriwih";
+  };
+
+  cargoSha256 = "17j6v796ahfn07yjj9xd9kygy0sllz93ac4gky8w0hcixdwjp3i5";
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    cmake
+    makeWrapper
+    pkg-config
+    python3
+  ];
+
+  buildInputs = [
+    expat
+    freetype
+    openssl
+    libxcb
+    libX11
+  ];
+
+  fixupPhase = ''
+    patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}:$(patchelf --print-rpath $out/bin/ajour)" $out/bin/ajour
+    wrapProgram $out/bin/ajour --prefix PATH ":" ${lib.makeBinPath [ zenity kdialog ]}
+  '';
+
+  meta = with lib; {
+    description = "World of Warcraft addon manager written in Rust";
+    longDescription = ''
+      Ajour is a World of Warcraft addon manager written in Rust with a
+      strong focus on performance and simplicity. The project is
+      completely advertisement free, privacy respecting and open source.
+    '';
+    homepage = "https://github.com/casperstorm/ajour";
+    changelog = "https://github.com/casperstorm/ajour/blob/master/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/tools/graphics/argyllcms/default.nix b/pkgs/tools/graphics/argyllcms/default.nix
index 727aa1dc56e..9dc2ad4d5f5 100644
--- a/pkgs/tools/graphics/argyllcms/default.nix
+++ b/pkgs/tools/graphics/argyllcms/default.nix
@@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
   buildFlags = [ "all" ];
 
   makeFlags = [
-    "PREFIX=${placeholder ''out''}"
+    "PREFIX=${placeholder "out"}"
   ];
 
   # Install udev rules, but remove lines that set up the udev-acl
diff --git a/pkgs/tools/graphics/cfdg/src-info-for-default.nix b/pkgs/tools/graphics/cfdg/src-info-for-default.nix
index 0e2018b6bfd..b84376e9882 100644
--- a/pkgs/tools/graphics/cfdg/src-info-for-default.nix
+++ b/pkgs/tools/graphics/cfdg/src-info-for-default.nix
@@ -1,6 +1,6 @@
 {
   downloadPage = "https://contextfreeart.org/mediawiki/index.php/Download_page";
   baseName = "cfdg";
-  sourceRegexp = ''.*[.]tgz'';
+  sourceRegexp = ".*[.]tgz";
   versionExtractorSedScript = ''s/[^0-9]*([0-9.]*)[.]tgz/\1/'';
 }
diff --git a/pkgs/tools/graphics/convchain/default.nix b/pkgs/tools/graphics/convchain/default.nix
index 4a4920ec6b9..714cdd656df 100644
--- a/pkgs/tools/graphics/convchain/default.nix
+++ b/pkgs/tools/graphics/convchain/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   buildInputs = [mono];
   meta = {
     inherit version;
-    description = ''Bitmap generation from a single example with convolutions and MCMC'';
+    description = "Bitmap generation from a single example with convolutions and MCMC";
     license = lib.licenses.mit;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/graphics/feedgnuplot/default.nix b/pkgs/tools/graphics/feedgnuplot/default.nix
index 1fe254d7785..02bb022dfb4 100644
--- a/pkgs/tools/graphics/feedgnuplot/default.nix
+++ b/pkgs/tools/graphics/feedgnuplot/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, gawk
+{ lib, fetchFromGitHub, makeWrapper, gawk
 , makeFontsConf, freefont_ttf, gnuplot, perl, perlPackages
 }:
 
diff --git a/pkgs/tools/graphics/gifski/default.nix b/pkgs/tools/graphics/gifski/default.nix
index 0ce24482164..de866221267 100644
--- a/pkgs/tools/graphics/gifski/default.nix
+++ b/pkgs/tools/graphics/gifski/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config }:
+{ lib, rustPlatform, fetchFromGitHub, pkg-config }:
 
 rustPlatform.buildRustPackage rec {
   pname = "gifski";
-  version = "1.2.6";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
     owner = "ImageOptim";
     repo = "gifski";
     rev = version;
-    sha256 = "sha256-pnaNBjMKWfnCHG4MTLS2tJ2lrKxH6tcnvbOFZSDtPJY=";
+    sha256 = "sha256-dBgDIS6U2iKzyo5nO0NOD488zfEbaZJH7luJN6khrnc=";
   };
 
-  cargoSha256 = "sha256-M5LEoEaWKT6nfQsnuqfyRBtDILewAxzMs7d6DvhkvFg=";
+  cargoSha256 = "sha256-/i5ZBCWFlhoheHsCI5f9yJ7sa6l/DB4AJckq5orinwI=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/graphics/gmic-qt/default.nix b/pkgs/tools/graphics/gmic-qt/default.nix
index c8e3e8012b1..1d26379c396 100644
--- a/pkgs/tools/graphics/gmic-qt/default.nix
+++ b/pkgs/tools/graphics/gmic-qt/default.nix
@@ -51,7 +51,7 @@ assert lib.assertMsg (builtins.hasAttr variant variants) "gmic-qt variant “${v
 assert lib.assertMsg (builtins.all (d: d != null) variants.${variant}.extraDeps or []) "gmic-qt variant “${variant}” is missing one of its dependencies.";
 
 mkDerivation rec {
-  pname = "gmic-qt${lib.optionalString (variant != "standalone") ''-${variant}''}";
+  pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}";
   version = "2.7.1";
 
   gmic-community = fetchFromGitHub {
diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix
index 07d4d1dd303..92956aa53e3 100644
--- a/pkgs/tools/graphics/gmic/default.nix
+++ b/pkgs/tools/graphics/gmic/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gmic";
-  version = "2.9.4";
+  version = "2.9.5";
 
   outputs = [ "out" "lib" "dev" "man" ];
 
   src = fetchurl {
     url = "https://gmic.eu/files/source/gmic_${version}.tar.gz";
-    sha256 = "1ixcdq16gmgh1brrb6mgdibypq9lvh8gnz86b5mmyxlnyi4fw2vr";
+    sha256 = "sha256-KV/Ti6mPW+FASjug6q8Qfgra8L/TIyl/Y6JwANzQreE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/graphics/graph-easy/default.nix b/pkgs/tools/graphics/graph-easy/default.nix
index 4ae68207aae..341d6dea90a 100644
--- a/pkgs/tools/graphics/graph-easy/default.nix
+++ b/pkgs/tools/graphics/graph-easy/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, perlPackages, fetchurl }:
+{ lib, perlPackages, fetchurl }:
 
 perlPackages.buildPerlPackage {
   pname = "Graph-Easy";
diff --git a/pkgs/tools/graphics/ldgallery/compiler/default.nix b/pkgs/tools/graphics/ldgallery/compiler/default.nix
index 000f227075e..9316e9d38e0 100644
--- a/pkgs/tools/graphics/ldgallery/compiler/default.nix
+++ b/pkgs/tools/graphics/ldgallery/compiler/default.nix
@@ -1,7 +1,7 @@
 # generated with cabal2nix by ./generate.sh
 { mkDerivation, aeson, base, cmdargs, containers, data-ordlist
 , directory, fetchgit, filepath, Glob, hpack, parallel-io, process
-, safe, lib, stdenv, text, time, yaml
+, safe, lib, text, time, yaml
 }:
 mkDerivation {
   pname = "ldgallery-compiler";
diff --git a/pkgs/tools/graphics/ldgallery/viewer/generate.sh b/pkgs/tools/graphics/ldgallery/viewer/generate.sh
index 0874051b676..f115fb11d9b 100755
--- a/pkgs/tools/graphics/ldgallery/viewer/generate.sh
+++ b/pkgs/tools/graphics/ldgallery/viewer/generate.sh
@@ -24,11 +24,7 @@ node2nix \
   --input ./package.json \
   --lock ./package-lock.json \
   --output node-packages.nix \
-  --composition node-composition.nix
+  --composition node-composition.nix \
+  --no-copy-node-env
 
 rm package.json package-lock.json
-
-# Temporary quickfix to accomodate for the util-linux package rename.
-# See https://github.com/svanderburg/node2nix/issues/213
-git restore :/pkgs/development/node-packages/node-env.nix
-sed -i 's/utillinux/util-linux/g' node-composition.nix
diff --git a/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix b/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix
index 55566aafc58..aaf54a05c88 100644
--- a/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix
+++ b/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ../../../../development/node-packages/node-env.nix {
-    inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/tools/graphics/ldgallery/viewer/node-packages.nix b/pkgs/tools/graphics/ldgallery/viewer/node-packages.nix
index 9946ce0e63c..ce00bdfd097 100644
--- a/pkgs/tools/graphics/ldgallery/viewer/node-packages.nix
+++ b/pkgs/tools/graphics/ldgallery/viewer/node-packages.nix
@@ -1,6 +1,6 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
@@ -13252,7 +13252,7 @@ let
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      homepage = https://ldgallery.pacien.org/;
+      homepage = "https://ldgallery.pacien.org/";
       license = "AGPL-3";
     };
     production = false;
@@ -13266,4 +13266,16 @@ in
   tarball = nodeEnv.buildNodeSourceDist args;
   package = nodeEnv.buildNodePackage args;
   shell = nodeEnv.buildNodeShell args;
+  nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args {
+    src = stdenv.mkDerivation {
+      name = args.name + "-package-json";
+      src = nix-gitignore.gitignoreSourcePure [
+        "*"
+        "!package.json"
+        "!package-lock.json"
+      ] args.src;
+      dontBuild = true;
+      installPhase = "mkdir -p $out; cp -r ./* $out;";
+    };
+  });
 }
diff --git a/pkgs/tools/graphics/luxcorerender/default.nix b/pkgs/tools/graphics/luxcorerender/default.nix
index c4b8622f479..75e69a5d499 100644
--- a/pkgs/tools/graphics/luxcorerender/default.nix
+++ b/pkgs/tools/graphics/luxcorerender/default.nix
@@ -1,64 +1,58 @@
-{ lib, stdenv, fetchFromGitHub, cmake, boost165, pkg-config, python36
-, tbb, openimageio, libjpeg, libpng, zlib, libtiff, ilmbase
-, freetype, openexr, libXdmcp, libxkbcommon, epoxy, at-spi2-core
-, dbus, doxygen, qt5, c-blosc, libGLU, gnome3, dconf, gtk3, pcre
-, bison, flex, libpthreadstubs, libX11
-, embree2, makeWrapper, gsettings-desktop-schemas, glib
-, withOpenCL ? true , opencl-headers, ocl-icd, opencl-clhpp, rocm-opencl-runtime
-}:
+{ lib, config, stdenv, fetchFromGitHub, symlinkJoin, wrapGAppsHook, cmake, boost172
+, pkg-config, flex, bison, libpng, libtiff, zlib, python3, embree, openexr
+, openimagedenoise, openimageio, tbb, c-blosc, gtk3, pcre, doxygen
+# OpenCL Support
+, withOpenCL ? true, ocl-icd
+# Cuda Support
+, withCuda ? config.cudaSupport or false, cudatoolkit }:
 
 let
-      python = python36;
-
-      boost_static = boost165.override {
-      inherit python;
-      enableStatic = true;
-      enablePython = true;
-    };
+  boostWithPython = boost172.override {
+    enablePython = true;
+    enableNumpy = true;
+    python = python3;
+  };
 
-    version = "2.0";
-    sha256 = "15nn39ybsfjf3cw3xgkbarvxn4a9ymfd579ankm7yjxkw5gcif38";
+  # Requires a version number like "<MAJOR><MINOR>"
+  pythonVersion = (lib.versions.major python3.version)
+    + (lib.versions.minor python3.version);
 
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   pname = "luxcorerender";
-  inherit version;
+  version = "2.4";
 
   src = fetchFromGitHub {
     owner = "LuxCoreRender";
     repo = "LuxCore";
     rev = "luxcorerender_v${version}";
-    inherit sha256;
+    sha256 = "0xvivw79719fa1q762b76nyvzawfd3hmp8y5j04bax8a7f8mfa9k";
   };
 
-  nativeBuildInputs = [ cmake flex bison doxygen makeWrapper pkg-config ];
+  nativeBuildInputs = [ pkg-config cmake flex bison doxygen wrapGAppsHook ];
+
   buildInputs = [
-    embree2 zlib boost_static libjpeg
-    libtiff libpng ilmbase freetype openexr openimageio
-    tbb qt5.full c-blosc libGLU pcre
-    libX11 libpthreadstubs python libXdmcp libxkbcommon
-    epoxy at-spi2-core dbus
-    # needed for GSETTINGS_SCHEMAS_PATH
-    gsettings-desktop-schemas glib gtk3
-    # needed for XDG_ICON_DIRS
-    gnome3.adwaita-icon-theme
-    (lib.getLib dconf)
-  ] ++ lib.optionals withOpenCL [ opencl-headers ocl-icd opencl-clhpp rocm-opencl-runtime ];
+    libpng
+    libtiff
+    zlib
+    boostWithPython.dev
+    python3
+    embree
+    openexr
+    openimagedenoise
+    tbb
+    c-blosc
+    gtk3
+    pcre
+    openimageio.dev
+    openimageio.out
+  ] ++ lib.optionals withOpenCL [ ocl-icd ]
+    ++ lib.optionals withCuda [ cudatoolkit ];
 
-  cmakeFlags = [
-    "-DOpenEXR_Iex_INCLUDE_DIR=${openexr.dev}/include/OpenEXR"
-    "-DOpenEXR_IlmThread_INCLUDE_DIR=${ilmbase.dev}/include/OpenEXR"
-    "-DOpenEXR_Imath_INCLUDE_DIR=${openexr.dev}/include/OpenEXR"
-    "-DOpenEXR_half_INCLUDE_DIR=${ilmbase.dev}/include"
-    "-DPYTHON_LIBRARY=${python}/lib/libpython3.so"
-    "-DPYTHON_INCLUDE_DIR=${python}/include/python${python.pythonVersion}"
-    "-DEMBREE_INCLUDE_PATH=${embree2}/include"
-    "-DEMBREE_LIBRARY=${embree2}/lib/libembree.so"
-    "-DBoost_PYTHON_LIBRARY_RELEASE=${boost_static}/lib/libboost_python3-mt.so"
-  ] ++ lib.optional withOpenCL
-    "-DOPENCL_INCLUDE_DIR=${opencl-headers}/include";
+  cmakeFlags = [ "-DPYTHON_V=${pythonVersion}" ]
+    ++ lib.optional (!withOpenCL) "-DLUXRAYS_DISABLE_OPENCL=1"
+    ++ lib.optional (!withCuda) "-DLUXRAYS_DISABLE_CUDA=1";
 
   preConfigure = ''
-    NIX_CFLAGS_COMPILE+=" -isystem ${python}/include/python${python.pythonVersion}"
     NIX_LDFLAGS+=" -lpython3"
   '';
 
@@ -69,13 +63,6 @@ in stdenv.mkDerivation {
     cp -va lib/* $out/lib
   '';
 
-  preFixup = ''
-    wrapProgram "$out/bin/luxcoreui" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
-      --suffix XDG_DATA_DIRS : '${gnome3.adwaita-icon-theme}/share' \
-      --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules"
-  '';
-
   meta = with lib; {
     description = "Open source, physically based, unbiased rendering engine";
     homepage = "https://luxcorerender.org/";
@@ -85,7 +72,6 @@ in stdenv.mkDerivation {
   };
 }
 
-
 # TODO (might not be necessary):
 #
 # luxcoreui still gives warnings like: "failed to commit changes to
diff --git a/pkgs/tools/graphics/metapixel/default.nix b/pkgs/tools/graphics/metapixel/default.nix
index a97be7f809c..8c9fef0cd48 100644
--- a/pkgs/tools/graphics/metapixel/default.nix
+++ b/pkgs/tools/graphics/metapixel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, libpng, libjpeg, giflib, perl, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, libpng, libjpeg, giflib, perl, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "metapixel";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     cp metapixel-sizesort $out/bin/metapixel-sizesort
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "https://github.com/schani/metapixel";
     description = "Tool for generating photomosaics";
     license = licenses.gpl2Only;
diff --git a/pkgs/tools/graphics/pdfredacttools/default.nix b/pkgs/tools/graphics/pdfredacttools/default.nix
index 71d927913c3..0a1cc111b54 100644
--- a/pkgs/tools/graphics/pdfredacttools/default.nix
+++ b/pkgs/tools/graphics/pdfredacttools/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python2Packages, imagemagick, exiftool, file, ghostscript }:
+{ lib, fetchFromGitHub, python2Packages, imagemagick, exiftool, file, ghostscript }:
 
 python2Packages.buildPythonApplication rec {
   pname = "pdf-redact-tools";
diff --git a/pkgs/tools/graphics/pngcheck/default.nix b/pkgs/tools/graphics/pngcheck/default.nix
index 7fba539977f..579dcad4ccb 100644
--- a/pkgs/tools/graphics/pngcheck/default.nix
+++ b/pkgs/tools/graphics/pngcheck/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "pngcheck-2.3.0";
+  name = "pngcheck-3.0.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/png-mng/${name}.tar.gz";
-    sha256 = "0pzkj1bb4kdybk6vbfq9s0wzdm5szmrgixkas3xmbpv4mhws1w3p";
+    sha256 = "sha256-DX4mLyQRb93yhHqM61yS2fXybvtC6f/2PsK7dnYTHKc=";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/tools/graphics/puppeteer-cli/default.nix b/pkgs/tools/graphics/puppeteer-cli/default.nix
index c01ee232fa7..20dab27ddf0 100644
--- a/pkgs/tools/graphics/puppeteer-cli/default.nix
+++ b/pkgs/tools/graphics/puppeteer-cli/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, makeWrapper, stdenv, chromium, mkYarnPackage
+{ fetchFromGitHub, makeWrapper, chromium, mkYarnPackage
 }:
 
 mkYarnPackage rec {
diff --git a/pkgs/tools/graphics/qrcode/default.nix b/pkgs/tools/graphics/qrcode/default.nix
index 82c0332689b..93a620b5779 100644
--- a/pkgs/tools/graphics/qrcode/default.nix
+++ b/pkgs/tools/graphics/qrcode/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation {
 
   NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
 
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
   installPhase = ''
     mkdir -p "$out"/{bin,share/doc/qrcode}
     cp qrcode "$out/bin"
@@ -20,9 +22,9 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = ''A small QR-code tool'';
+    description = "A small QR-code tool";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ raskin ];
-    platforms = with platforms; linux;
+    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/tools/graphics/quirc/default.nix b/pkgs/tools/graphics/quirc/default.nix
index bfa9bb36ce7..8ca8ecf2c89 100644
--- a/pkgs/tools/graphics/quirc/default.nix
+++ b/pkgs/tools/graphics/quirc/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
   makeFlags = [ "PREFIX=$(out)" ];
   meta = {
     inherit (s) version;
-    description = ''A small QR code decoding library'';
+    description = "A small QR code decoding library";
     license = lib.licenses.isc;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/graphics/resvg/default.nix b/pkgs/tools/graphics/resvg/default.nix
index 71df0186068..8c8164a7e8e 100644
--- a/pkgs/tools/graphics/resvg/default.nix
+++ b/pkgs/tools/graphics/resvg/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "resvg";
-  version = "0.12.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0iqlg0wmx9y81ncbw4ihd6pr7ddpfsvk35zmhzsq4plwzbxgp0w1";
+    sha256 = "sha256-Jo+dx4+3GpEwOoE8HH0YahBmPvT9Oy2qXMvCJ/NZhF0=";
   };
 
-  cargoSha256 = "0jgczhvm5rsv4vwd5wx6gshy6322im4c3wi79klk249czr6vlwsg";
+  cargoSha256 = "sha256-8Es9NZYsC/9PZ6ytWZTAH42U3vxZtJERPSsno1s4TEc=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/graphics/rocket/default.nix b/pkgs/tools/graphics/rocket/default.nix
index ec32d6c7140..070e359fe1c 100644
--- a/pkgs/tools/graphics/rocket/default.nix
+++ b/pkgs/tools/graphics/rocket/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, stdenv, fetchFromGitHub, qmake, qtbase }:
+{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase }:
 
 mkDerivation {
   pname = "rocket";
diff --git a/pkgs/tools/graphics/scrot/default.nix b/pkgs/tools/graphics/scrot/default.nix
index 2fd56d0737d..aa525abacb0 100644
--- a/pkgs/tools/graphics/scrot/default.nix
+++ b/pkgs/tools/graphics/scrot/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "scrot";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "resurrecting-open-source-projects";
     repo = pname;
     rev = version;
-    sha256 = "12xq6glg70icwsvbnfw9gm4dahlbnrc7b6adpd0mpf89h4sj2gds";
+    sha256 = "sha256-4vguodLnCj0sOBLM4oJXTfX1p8hIo3WTwIuViPtZxHQ=";
   };
 
   nativeBuildInputs = [ autoreconfHook autoconf-archive ];
diff --git a/pkgs/tools/graphics/shotgun/default.nix b/pkgs/tools/graphics/shotgun/default.nix
index 3c96584029e..79ddd39ea79 100644
--- a/pkgs/tools/graphics/shotgun/default.nix
+++ b/pkgs/tools/graphics/shotgun/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, libXrandr, libX11 }:
+{ lib, fetchFromGitHub, rustPlatform, pkg-config, libXrandr, libX11 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "shotgun";
diff --git a/pkgs/tools/graphics/spirv-cross/default.nix b/pkgs/tools/graphics/spirv-cross/default.nix
index 61ea43d3dbd..cb5a37527bf 100644
--- a/pkgs/tools/graphics/spirv-cross/default.nix
+++ b/pkgs/tools/graphics/spirv-cross/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spirv-cross";
-  version = "2020-09-17";
+  version = "2021-01-15";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Cross";
     rev = version;
-    sha256 = "03agx9f7klw96isfdz3xsw47308qxmgs24nsz7j9kx3f337fn435";
+    sha256 = "/9/Owt7XcdOjujWZnaG1Q7FlywvsRo8/l8/CouS48Vk=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/pkgs/tools/graphics/svgcleaner/default.nix b/pkgs/tools/graphics/svgcleaner/default.nix
index 653e585c6ed..6c5e8569e85 100644
--- a/pkgs/tools/graphics/svgcleaner/default.nix
+++ b/pkgs/tools/graphics/svgcleaner/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
   pname = "svgcleaner";
diff --git a/pkgs/tools/graphics/syntex/default.nix b/pkgs/tools/graphics/syntex/default.nix
index e39742d76d0..a076e97d056 100644
--- a/pkgs/tools/graphics/syntex/default.nix
+++ b/pkgs/tools/graphics/syntex/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   buildInputs = [mono];
   meta = {
     inherit version;
-    description = ''Texture synthesis from examples'';
+    description = "Texture synthesis from examples";
     license = lib.licenses.mit;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/graphics/unpaper/default.nix b/pkgs/tools/graphics/unpaper/default.nix
index dd6ecb473e9..20dfe15dc6c 100644
--- a/pkgs/tools/graphics/unpaper/default.nix
+++ b/pkgs/tools/graphics/unpaper/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, libav, libxslt }:
+{ lib, stdenv, fetchurl, pkg-config, ffmpeg, libxslt }:
 
 stdenv.mkDerivation rec {
   pname = "unpaper";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libav libxslt ];
+  buildInputs = [ ffmpeg libxslt ];
 
   meta = with lib; {
     homepage = "https://www.flameeyes.eu/projects/unpaper";
diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix
index 9b29e114b88..333c4848db2 100644
--- a/pkgs/tools/graphics/vips/default.nix
+++ b/pkgs/tools/graphics/vips/default.nix
@@ -27,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vips";
-  version = "8.10.2";
+  version = "8.10.5";
 
   outputs = [ "bin" "out" "man" "dev" ];
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     owner = "libvips";
     repo = "libvips";
     rev = "v${version}";
-    sha256 = "1psi39a4h0awwbyizbsk467z0djwq0rh8hvkklbsd5b92m7768sp";
+    sha256 = "sha256-h21Ep6f4/y+m0kdrCA5dcULFeOOyLtMx2etAziG6f9Y=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
diff --git a/pkgs/tools/graphics/viu/default.nix b/pkgs/tools/graphics/viu/default.nix
index 39b12326e80..39aa8fe06e0 100644
--- a/pkgs/tools/graphics/viu/default.nix
+++ b/pkgs/tools/graphics/viu/default.nix
@@ -2,18 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "viu";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "atanunq";
     repo = "viu";
     rev = "v${version}";
-    sha256 = "1q248jnbv64mkvg18465dpvjkw2v2hfqyvdvdixyrwyrnlv5cicv";
+    sha256 = "1n1qwlh1zinq5ngx04cvs69z8zr12yywr70vbrc946kbh4hx6pk9";
   };
-  # tests are failing, reported at upstream: https://github.com/atanunq/viu/issues/40
+
+  # tests need an interactive terminal
   doCheck = false;
 
-  cargoSha256 = "18rskn8fchlgk295yk8sc2g1x6h43rmhqif871hgzdx1i35sbajr";
+  cargoSha256 = "0bdjfcyx2cwz68gcx0393h4ysccarfp02pvvp0a5xgkq11bad0r0";
 
   meta = with lib; {
     description = "A command-line application to view images from the terminal written in Rust";
diff --git a/pkgs/tools/graphics/vkBasalt/default.nix b/pkgs/tools/graphics/vkBasalt/default.nix
new file mode 100644
index 00000000000..50cbe048131
--- /dev/null
+++ b/pkgs/tools/graphics/vkBasalt/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, glslang
+, meson
+, ninja
+, pkg-config
+, libX11
+, spirv-headers
+, vulkan-headers
+, vkBasalt32
+}:
+
+stdenv.mkDerivation rec {
+  pname = "vkBasalt";
+  version = "0.3.2.4";
+
+  src = fetchFromGitHub {
+    owner = "DadSchoorse";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "01iplj6dlw2vl35hyci5m5yp8jmzcwng6c3jk3wn97jpv6m3hjqz";
+  };
+
+  nativeBuildInputs = [ glslang meson ninja pkg-config ];
+  buildInputs = [ libX11 spirv-headers vulkan-headers ];
+  mesonFlags = [ "-Dappend_libdir_vkbasalt=true" ];
+
+  # Include 32bit layer in 64bit build
+  postInstall = lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") ''
+    ln -s ${vkBasalt32}/share/vulkan/implicit_layer.d/vkBasalt.json \
+      "$out/share/vulkan/implicit_layer.d/vkBasalt32.json"
+  '';
+
+  meta = with lib; {
+    description = "A Vulkan post processing layer for Linux";
+    homepage = "https://github.com/DadSchoorse/vkBasalt";
+    license = licenses.zlib;
+    maintainers = with maintainers; [ metadark ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix b/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix
index 083db90a9b0..bffd9ea0378 100644
--- a/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix
+++ b/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "waifu2x-converter-cpp";
-  version = "5.3.3";
+  version = "5.3.4";
 
   src = fetchFromGitHub {
     owner = "DeadSix27";
     repo = pname;
     rev = "v${version}";
-    sha256 = "04r0xyjknvcwk70ilj1p3qwlcz3i6sqgcp0qbc9qwxnsgrrgz09w";
+    sha256 = "0rv8bnyxz89za6gwk9gmdbaf3j7c1j52mip7h81rir288j35m84x";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/graphics/wavefunctioncollapse/default.nix b/pkgs/tools/graphics/wavefunctioncollapse/default.nix
index 4e84380f959..f761e2bbde6 100644
--- a/pkgs/tools/graphics/wavefunctioncollapse/default.nix
+++ b/pkgs/tools/graphics/wavefunctioncollapse/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   buildInputs = [mono];
   meta = {
     inherit version;
-    description = ''A generator of bitmaps that are locally similar to the input bitmap'';
+    description = "A generator of bitmaps that are locally similar to the input bitmap";
     license = lib.licenses.mit;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/graphics/wdisplays/default.nix b/pkgs/tools/graphics/wdisplays/default.nix
index cbcacfab3a8..2640769d186 100644
--- a/pkgs/tools/graphics/wdisplays/default.nix
+++ b/pkgs/tools/graphics/wdisplays/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, gtk3, epoxy, wayland, wrapGAppsHook
+{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, gtk3, epoxy, wayland, wrapGAppsHook
 , fetchpatch
 }:
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  meta = let inherit (stdenv) lib; in {
+  meta = with lib; {
     description = "A graphical application for configuring displays in Wayland compositors";
     homepage = "https://github.com/cyclopsian/wdisplays";
     maintainers = with lib.maintainers; [ lheckemann ma27 ];
diff --git a/pkgs/tools/graphics/zxing/default.nix b/pkgs/tools/graphics/zxing/default.nix
index c3f03da8bc5..f4eeb50fc03 100644
--- a/pkgs/tools/graphics/zxing/default.nix
+++ b/pkgs/tools/graphics/zxing/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
   meta = {
     inherit version;
-    description = ''1D and 2D code reading library'';
+    description = "1D and 2D code reading library";
     license = lib.licenses.asl20;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/inputmethods/evdevremapkeys/default.nix b/pkgs/tools/inputmethods/evdevremapkeys/default.nix
index 99f7231c58a..73344ca2690 100644
--- a/pkgs/tools/inputmethods/evdevremapkeys/default.nix
+++ b/pkgs/tools/inputmethods/evdevremapkeys/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonPackage rec {
   pname = "evdevremapkeys";
diff --git a/pkgs/tools/inputmethods/evscript/default.nix b/pkgs/tools/inputmethods/evscript/default.nix
index 01f312fa63d..66f264bc7a3 100644
--- a/pkgs/tools/inputmethods/evscript/default.nix
+++ b/pkgs/tools/inputmethods/evscript/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub }:
+{ lib, rustPlatform, fetchFromGitHub }:
 
 rustPlatform.buildRustPackage rec {
   pname = "evscript";
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix
index 923fd7c7a74..6d3952c9c22 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , mkDerivation
 , fetchurl
 , fetchFromGitHub
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix
index ba006873c40..b133d576c6c 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , mkDerivation
 , fetchFromGitHub
 , cmake
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
index 3f42894ef9f..0daeaa794ce 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
@@ -7,6 +7,7 @@
 , gobject-introspection
 , gtk2
 , gtk3
+, gtk4
 , pcre
 , libuuid
 , libselinux
@@ -36,12 +37,11 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DGOBJECT_INTROSPECTION_GIRDIR=share/gir-1.0"
     "-DGOBJECT_INTROSPECTION_TYPELIBDIR=lib/girepository-1.0"
-    # disabled since we currently don't have gtk4 in nixpkgs
-    "-DENABLE_GTK4_IM_MODULE=off"
   ] ++ lib.optional (! withGTK2) "-DENABLE_GTK2_IM_MODULE=off";
 
   buildInputs = [
     gtk3
+    gtk4
     gobject-introspection
     fcitx5
     pcre
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-mozc.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-mozc.nix
new file mode 100644
index 00000000000..08f43b87cfe
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-mozc.nix
@@ -0,0 +1,117 @@
+{ lib, clangStdenv, fetchFromGitHub, fetchurl, fetchpatch, fetchgit
+, python3Packages, mesa, ninja, pkg-config, protobuf, zinnia, qt5, fcitx5
+, jsoncpp, gtest, which, gtk2, unzip, abseil-cpp, breakpad }:
+let
+  inherit (python3Packages) python gyp six;
+  japanese_usage_dictionary = fetchFromGitHub {
+    owner = "hiroyuki-komatsu";
+    repo = "japanese-usage-dictionary";
+    rev = "e5b3425575734c323e1d947009dd74709437b684";
+    sha256 = "0pyrpz9c8nxccwpgyr36w314mi8h132cis8ijvlqmmhqxwsi30hm";
+  };
+  # abseil-cpp in nixpkgs is too old
+  abseil-cpp_2020923 = abseil-cpp.overrideAttrs (old: rec {
+    version = "20200923.2";
+    src = fetchFromGitHub {
+      owner = "abseil";
+      repo = "abseil-cpp";
+      rev = version;
+      sha256 = "G+wkaC4IPtyc/xCUyVFJOcHppPFU7KkhIHjv6uhVKGU=";
+    };
+    cmakeFlags = [ "-DCMAKE_CXX_STANDARD=17" "-DBUILD_SHARED_LIBS=ON" ];
+  });
+  zipcode_rel = "202011";
+  jigyosyo = fetchurl {
+    url = "https://osdn.net/projects/ponsfoot-aur/storage/mozc/jigyosyo-${zipcode_rel}.zip";
+    sha256 = "j7MkNtd4+QTi91EreVig4/OV0o5y1+KIjEJBEmLK/mY=";
+  };
+  x-ken-all = fetchurl {
+    url =
+      "https://osdn.net/projects/ponsfoot-aur/storage/mozc/x-ken-all-${zipcode_rel}.zip";
+    sha256 = "ExS0Cg3rs0I9IOVbZHLt8UEfk8/LmY9oAHPVVlYuTPw=";
+  };
+
+in clangStdenv.mkDerivation rec {
+  pname = "fcitx5-mozc";
+  version = "2.26.4220.102";
+
+  src = fetchFromGitHub {
+    owner = "fcitx";
+    repo = "mozc";
+    rev = "1882e33b61673b66d63277f82b4c80ae4e506c10";
+    sha256 = "R+w0slVFpqtt7PIr1pyupJjRoQsABVZiMdZ9fKGKAqw=";
+  };
+
+  nativeBuildInputs = [ gyp ninja mesa python pkg-config qt5.wrapQtAppsHook six which unzip ];
+
+  buildInputs = [ protobuf zinnia qt5.qtbase fcitx5 abseil-cpp_2020923 jsoncpp gtest gtk2 ];
+
+  patches = [
+    # Support linking system abseil-cpp
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian/mozc/-/raw/debian/sid/debian/patches/0007-Update-src-base-absl.gyp.patch";
+      sha256 = "UiS0UScDKyAusXOhc7Bg8dF8ARQQiVTylEhAOxqaZt8=";
+    })
+
+  ];
+
+  postUnpack = ''
+    unzip ${x-ken-all} -d $sourceRoot/src/
+    unzip ${jigyosyo} -d $sourceRoot/src/
+
+    rmdir $sourceRoot/src/third_party/breakpad/
+    ln -s ${breakpad} $sourceRoot/src/third_party/breakpad
+    rmdir $sourceRoot/src/third_party/gtest/
+    ln -s ${gtest} $sourceRoot/src/third_party/gtest
+    rmdir $sourceRoot/src/third_party/gyp/
+    ln -s ${gyp} $sourceRoot/src/third_party/gyp
+    rmdir $sourceRoot/src/third_party/japanese_usage_dictionary/
+    ln -s ${japanese_usage_dictionary} $sourceRoot/src/third_party/japanese_usage_dictionary
+  '';
+
+  # Copied from https://github.com/archlinux/svntogit-community/blob/packages/fcitx5-mozc/trunk/PKGBUILD
+  configurePhase = ''
+    cd src
+    export GYP_DEFINES="document_dir=$out/share/doc/mozc use_libzinnia=1 use_libprotobuf=1 use_libabseil=1"
+
+    # disable fcitx4
+    rm unix/fcitx/fcitx.gyp
+
+    # gen zip code seed
+    PYTHONPATH="$PWD:$PYTHONPATH" python dictionary/gen_zip_code_seed.py --zip_code="x-ken-all.csv" --jigyosyo="JIGYOSYO.CSV" >> data/dictionary_oss/dictionary09.txt
+
+    # use libstdc++ instead of libc++
+    sed "/stdlib=libc++/d;/-lc++/d" -i gyp/common.gypi
+
+    # run gyp
+    python build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc
+  '';
+
+  buildPhase = ''
+    python build_mozc.py build -c Release \
+      server/server.gyp:mozc_server \
+      gui/gui.gyp:mozc_tool \
+      unix/fcitx5/fcitx5.gyp:fcitx5-mozc
+  '';
+
+  installPhase = ''
+    export PREFIX=$out
+    export _bldtype=Release
+    ../scripts/install_server
+    install -d $out/share/licenses/fcitx5-mozc
+    head -n 29 server/mozc_server.cc > $out/share/licenses/fcitx5-mozc/LICENSE
+    install -m644 data/installer/*.html $out/share/licenses/fcitx5-mozc/
+    install -d $out/share/fcitx5/addon
+    install -d $out/share/fcitx5/inputmethod
+    install -d $out/lib/fcitx5
+    ../scripts/install_fcitx5
+  '';
+
+  meta = with lib; {
+    description = "Fcitx5 Module of A Japanese Input Method for Chromium OS, Windows, Mac and Linux (the Open Source Edition of Google Japanese Input)";
+    homepage = "https://github.com/fcitx/mozc";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ berberman ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
index 155f10fae26..bfb06a98e8f 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , mkDerivation
 , fetchFromGitHub
 , cmake
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
index 8b530921940..b51efc2cb81 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-libpinyin";
-  version = "1.11.1";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "libpinyin";
     repo = "ibus-libpinyin";
     rev = version;
-    sha256 = "0b8rilk9zil9gvfhlk3rphcby6ph11dw66j175wp0na6h6hjlaf2";
+    sha256 = "sha256-fEEiwRoGGFAki1DMQvGuzjz2NAjhExyH11l8KTwjjsI=";
   };
 
   nativeBuildInputs = [
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     isIbusEngine = true;
     description = "IBus interface to the libpinyin input method";
-    license = licenses.gpl2;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ericsagnes ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
index 07ab09b8e6c..8fbd9254486 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-m17n";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "ibus";
     repo = "ibus-m17n";
     rev = version;
-    sha256 = "0lb2vcnkzy64474j7306ydyw1ali0qbx07sxfms2fqv1nmh161i2";
+    sha256 = "sha256-kPTysHTC+j8BMnzsddRa4Tg54idejApTqmLrP20pu5M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index a7a640b2c6e..00a499fb104 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-table";
-  version = "1.9.25";
+  version = "1.12.3";
 
   src = fetchFromGitHub {
     owner  = "kaio";
     repo   = "ibus-table";
     rev    = version;
-    sha256 = "0v570qpnb2q79aqr9f0xnska34y7hw34ibiwsf7ybcw69fhi1zkg";
+    sha256 = "sha256-iVbct7p+i8ifSQzOFUUnJU0RHX36cFiTlv7p79iawj8=";
   };
 
   postPatch = ''
@@ -27,6 +27,9 @@ stdenv.mkDerivation rec {
         -e "/export IBUS_LOCALEDIR=/ s/^.$//" \
         -i "setup/ibus-setup-table.in"
     substituteInPlace engine/tabcreatedb.py --replace '/usr/share/ibus-table' $out/share/ibus-table
+    substituteInPlace engine/ibus_table_location.py \
+      --replace '/usr/libexec' $out/libexec \
+      --replace '/usr/share/ibus-table/' $out/share/ibus-table/
   '';
 
   buildInputs = [
@@ -34,6 +37,7 @@ stdenv.mkDerivation rec {
     gtk3
     ibus
     (python3.withPackages (pypkgs: with pypkgs; [
+      dbus-python
       pygobject3
       (toPythonModule ibus)
     ]))
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
index 38f746e3cee..f78d52f5b67 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
@@ -42,8 +42,8 @@ in stdenv.mkDerivation rec {
   ];
 
   makeFlags = [
-    "PREFIX=${placeholder ''out''}"
-    "SYSCONFDIR=${placeholder ''out''}/etc"
+    "PREFIX=${placeholder "out"}"
+    "SYSCONFDIR=${placeholder "out"}/etc"
     "PYTHON=${python.interpreter}"
   ];
 
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 7374733f542..c555c507d7b 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -101,8 +101,8 @@ stdenv.mkDerivation rec {
   ];
 
   makeFlags = [
-    "test_execsdir=${placeholder ''installedTests''}/libexec/installed-tests/ibus"
-    "test_sourcesdir=${placeholder ''installedTests''}/share/installed-tests/ibus"
+    "test_execsdir=${placeholder "installedTests"}/libexec/installed-tests/ibus"
+    "test_sourcesdir=${placeholder "installedTests"}/share/installed-tests/ibus"
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/ibus/wrapper.nix b/pkgs/tools/inputmethods/ibus/wrapper.nix
index 74426b2b04e..93078325a0d 100644
--- a/pkgs/tools/inputmethods/ibus/wrapper.nix
+++ b/pkgs/tools/inputmethods/ibus/wrapper.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, runCommand, makeWrapper, lndir
+{ lib, runCommand, makeWrapper, lndir
 , dconf, hicolor-icon-theme, ibus, librsvg, plugins ? []
 }:
 
diff --git a/pkgs/tools/inputmethods/skk/skk-dicts/default.nix b/pkgs/tools/inputmethods/skk/skk-dicts/default.nix
index c7a42e5a82c..bc9aa73c2fc 100644
--- a/pkgs/tools/inputmethods/skk/skk-dicts/default.nix
+++ b/pkgs/tools/inputmethods/skk/skk-dicts/default.nix
@@ -3,33 +3,33 @@
 let
   # kana to kanji
   small = fetchurl {
-    url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.S";
-    sha256 = "15kp4iwz58fp1zg0i13x7w9wwm15v8n2hhm0nf2zsl7az5mn5yi4";
+    url = "https://raw.githubusercontent.com/skk-dev/dict/8b35d07a7d2044d48b063d2774d9f9d00bb7cb48/SKK-JISYO.S";
+    sha256 = "11cjrc8m99hj4xpl2nvzxanlswpapi92vmgk9d6yimdz0jidb6cq";
   };
   medium = fetchurl {
-    url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.M";
-    sha256 = "1vhagixhrp9lq5x7dldxcanhznawazp00xivpp1z52kx10lnkmv0";
+    url = "https://raw.githubusercontent.com/skk-dev/dict/8b35d07a7d2044d48b063d2774d9f9d00bb7cb48/SKK-JISYO.M";
+    sha256 = "0pwjp9qjmn9sq6zc0k6632l7dc2dbjn45585ibckvvl9iwfqqxdp";
   };
   large = fetchurl {
-    url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.L";
-    sha256 = "07cv0j95iajkr48j4ln411vnhl3z93yx96zjc03bgs10dbpagaaz";
+    url = "https://raw.githubusercontent.com/skk-dev/dict/8b35d07a7d2044d48b063d2774d9f9d00bb7cb48/SKK-JISYO.L";
+    sha256 = "0ps0a7sbkryd6hxvphq14i7g5wci4gvr0vraac8ia2ww67a2xbyc";
   };
 
   # english to japanese
   edict = fetchurl {
-    url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.edict";
-    sha256 = "18k8z1wkgwgfwbs6sylf39h1nc1p5l2b00h7mfjlb8p91plkb45w";
+    url = "https://raw.githubusercontent.com/skk-dev/dict/8b35d07a7d2044d48b063d2774d9f9d00bb7cb48/SKK-JISYO.edict";
+    sha256 = "1vrwnq0vvjn61nijbln6wfinqg93802d2a8d4ad82n692v83b1li";
   };
   # misc
   assoc = fetchurl {
-    url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.assoc";
-    sha256 = "12d6xpp1bfin9nwl35ydl5yc6vx0qpwhxss0khi19n1nsbyqnixm";
+    url = "https://raw.githubusercontent.com/skk-dev/dict/8b35d07a7d2044d48b063d2774d9f9d00bb7cb48/SKK-JISYO.assoc";
+    sha256 = "1smcbyv6srrhnpl7ic9nqds9nz3g2dgqngmhzkrdlwmvcpvakp1v";
   };
 in
 
 stdenv.mkDerivation {
   pname = "skk-dicts-unstable";
-  version = "2017-10-26";
+  version = "2020-03-24";
   srcs = [ small medium large edict assoc ];
   nativeBuildInputs = [ skktools ] ++ lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/tools/misc/3mux/default.nix b/pkgs/tools/misc/3mux/default.nix
index 3f1e981fd0e..3c51210edc7 100644
--- a/pkgs/tools/misc/3mux/default.nix
+++ b/pkgs/tools/misc/3mux/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "3mux";
diff --git a/pkgs/tools/misc/adafruit-ampy/default.nix b/pkgs/tools/misc/adafruit-ampy/default.nix
index f5149737639..c9466f54a62 100644
--- a/pkgs/tools/misc/adafruit-ampy/default.nix
+++ b/pkgs/tools/misc/adafruit-ampy/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3 }:
+{ lib, python3 }:
 
 with python3.pkgs;
 
diff --git a/pkgs/tools/misc/apt-offline/default.nix b/pkgs/tools/misc/apt-offline/default.nix
index 5c17b7f2d13..9c952cc7c30 100644
--- a/pkgs/tools/misc/apt-offline/default.nix
+++ b/pkgs/tools/misc/apt-offline/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   version = "1.8.1";
diff --git a/pkgs/tools/misc/aptly/default.nix b/pkgs/tools/misc/aptly/default.nix
index 369f7dd219f..7f82aebabe4 100644
--- a/pkgs/tools/misc/aptly/default.nix
+++ b/pkgs/tools/misc/aptly/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub, installShellFiles, makeWrapper, gnupg, bzip2, xz, graphviz }:
+{ lib, buildGoPackage, fetchFromGitHub, installShellFiles, makeWrapper, gnupg, bzip2, xz, graphviz }:
 
 let
 
diff --git a/pkgs/tools/misc/arp-scan/default.nix b/pkgs/tools/misc/arp-scan/default.nix
index f4786a57bd7..e25543b5145 100644
--- a/pkgs/tools/misc/arp-scan/default.nix
+++ b/pkgs/tools/misc/arp-scan/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation";
     license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ bjornfor mikoim ];
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ bjornfor mikoim r-burns ];
   };
 }
diff --git a/pkgs/tools/misc/asciinema-scenario/default.nix b/pkgs/tools/misc/asciinema-scenario/default.nix
index 25bac976843..f6991662114 100644
--- a/pkgs/tools/misc/asciinema-scenario/default.nix
+++ b/pkgs/tools/misc/asciinema-scenario/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , rustPlatform
 , fetchCrate
 }:
diff --git a/pkgs/tools/misc/autorevision/default.nix b/pkgs/tools/misc/autorevision/default.nix
index 61bd5b5fc65..ab7add1261a 100644
--- a/pkgs/tools/misc/autorevision/default.nix
+++ b/pkgs/tools/misc/autorevision/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "autorevision";
-  version = "1.21";
+  version = "1.22";
 
   src = fetchurl {
     url = "https://github.com/Autorevision/autorevision/releases/download/v%2F${version}/autorevision-${version}.tgz";
-    sha256 = "07ssirjy2mgbqxr792n3rqa408hm7qnhwfjzd73rqfwvjcahy1q8";
+    sha256 = "sha256-3ktLVC73m2xddq5BhxVKw/FJd6pZ5RVb7fv29dxUoRE=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/azure-vhd-utils/default.nix b/pkgs/tools/misc/azure-vhd-utils/default.nix
index f8a17790ba1..ad48eae7a87 100644
--- a/pkgs/tools/misc/azure-vhd-utils/default.nix
+++ b/pkgs/tools/misc/azure-vhd-utils/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by go2nix.
-{ lib, stdenv, buildGoPackage, fetchgit }:
+{ lib, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   pname = "azure-vhd-utils";
diff --git a/pkgs/tools/misc/bashplotlib/default.nix b/pkgs/tools/misc/bashplotlib/default.nix
index cc3476f598b..44d7e93355b 100644
--- a/pkgs/tools/misc/bashplotlib/default.nix
+++ b/pkgs/tools/misc/bashplotlib/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
 python3Packages.buildPythonApplication {
   pname = "bashplotlib";
diff --git a/pkgs/tools/misc/bmap-tools/default.nix b/pkgs/tools/misc/bmap-tools/default.nix
index ed42f31f26b..79094dc9540 100644
--- a/pkgs/tools/misc/bmap-tools/default.nix
+++ b/pkgs/tools/misc/bmap-tools/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python2Packages }:
+{ lib, fetchFromGitHub, python2Packages }:
 
 python2Packages.buildPythonApplication rec {
   pname = "bmap-tools";
diff --git a/pkgs/tools/misc/bonfire/default.nix b/pkgs/tools/misc/bonfire/default.nix
index cda58e80d87..a3f1608c3ad 100644
--- a/pkgs/tools/misc/bonfire/default.nix
+++ b/pkgs/tools/misc/bonfire/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
 with python3Packages;
 
diff --git a/pkgs/tools/misc/broadlink-cli/default.nix b/pkgs/tools/misc/broadlink-cli/default.nix
index 53925b87591..cb5f582d2de 100644
--- a/pkgs/tools/misc/broadlink-cli/default.nix
+++ b/pkgs/tools/misc/broadlink-cli/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
 python3Packages.buildPythonApplication {
   pname = "broadlink-cli";
diff --git a/pkgs/tools/misc/byobu/default.nix b/pkgs/tools/misc/byobu/default.nix
index 2008cf7b207..c647d3b3902 100644
--- a/pkgs/tools/misc/byobu/default.nix
+++ b/pkgs/tools/misc/byobu/default.nix
@@ -3,7 +3,6 @@
 , gettext, vim, bc, screen }:
 
 let
-  inherit (stdenv) lib;
   pythonEnv = python3.withPackages (ps: with ps; [ snack ]);
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix
index a671090460e..e79774da917 100644
--- a/pkgs/tools/misc/calamares/default.nix
+++ b/pkgs/tools/misc/calamares/default.nix
@@ -6,12 +6,12 @@
 
 mkDerivation rec {
   pname = "calamares";
-  version = "3.2.35.1";
+  version = "3.2.36";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "s2wnwcdrcJLG5NhugSkntBCYfPuv3T/9+PclbmK0BJ4=";
+    sha256 = "sha256-pgA0mRglIBObNNUQIozNy6EvJQSmHRF+kN4EjqL4tt4=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/tools/misc/ccze/default.nix b/pkgs/tools/misc/ccze/default.nix
index 140e09c010a..af37d7a33c1 100644
--- a/pkgs/tools/misc/ccze/default.nix
+++ b/pkgs/tools/misc/ccze/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ autoconf ncurses pcre ];
 
-  preConfigure = '' autoheader && autoconf '';
+  preConfigure = "autoheader && autoconf ";
 
   meta = with lib; {
     description = "Fast, modular log colorizer";
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 15a2a643d32..dc1a49a40bf 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "1.8.10";
+  version = "1.8.11";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-S1bnzuOZGQLdVJUH+A29KxF84dj2OeLJ4XajfTDdjUY=";
+    sha256 = "sha256-aWq36wQFxAyORifi5/9MOnqmR5FRyDAQj1tVFqoiFvA=";
   };
 
-  vendorSha256 = "sha256-X1h0EcUf8MWt929huNjt0WnhFqhVZu07JGi7c5hdXoY=";
+  vendorSha256 = "sha256-ASTPb8Va3Gl/VtmPJIdlnlU3OspAxzZ5iSHVcZOh8CY=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/cht.sh/default.nix b/pkgs/tools/misc/cht.sh/default.nix
index 3f2218ac871..67249d76454 100644
--- a/pkgs/tools/misc/cht.sh/default.nix
+++ b/pkgs/tools/misc/cht.sh/default.nix
@@ -10,15 +10,15 @@
 
 stdenv.mkDerivation {
   pname = "cht.sh";
-  version = "unstable-2020-08-06";
+  version = "unstable-2021-01-31";
 
   nativeBuildInputs = [ makeWrapper ];
 
   src = fetchFromGitHub {
     owner = "chubin";
     repo = "cheat.sh";
-    rev = "9f99bec1f0293e84d6d8a990a1940c1422e3b0ce";
-    sha256 = "1n4lgzsgg4502zh113d7pb1hw6bykqx6vpfp8j08z7y5clmdiwa6";
+    rev = "01e579176981356fb90d4aa58fea2d6c273a45a5";
+    sha256 = "0d98v67ajsc80i962myh0j4ph7bn3csk8y9jf8b5rfqd1zg737hb";
   };
 
   # Fix ".cht.sh-wrapped" in the help message
@@ -36,7 +36,9 @@ stdenv.mkDerivation {
       --prefix PATH : "${lib.makeBinPath [ curl rlwrap ncurses xsel ]}"
   '';
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = unstableGitUpdater {
+    url = "https://github.com/chubin/cheat.sh.git";
+  };
 
   meta = with lib; {
     description = "CLI client for cheat.sh, a community driven cheat sheet";
diff --git a/pkgs/tools/misc/ckb-next/default.nix b/pkgs/tools/misc/ckb-next/default.nix
index 6c13c3bbe6a..9c6909d445d 100644
--- a/pkgs/tools/misc/ckb-next/default.nix
+++ b/pkgs/tools/misc/ckb-next/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, mkDerivation, fetchFromGitHub, substituteAll, udev
+{ lib, mkDerivation, fetchFromGitHub, substituteAll, udev
 , pkg-config, qtbase, cmake, zlib, kmod }:
 
 mkDerivation rec {
diff --git a/pkgs/tools/misc/claws/default.nix b/pkgs/tools/misc/claws/default.nix
index 20c8cc7af8f..c28272e8bfa 100644
--- a/pkgs/tools/misc/claws/default.nix
+++ b/pkgs/tools/misc/claws/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "claws";
diff --git a/pkgs/tools/misc/cloud-sql-proxy/default.nix b/pkgs/tools/misc/cloud-sql-proxy/default.nix
index 11bfdc508eb..552ea140d60 100644
--- a/pkgs/tools/misc/cloud-sql-proxy/default.nix
+++ b/pkgs/tools/misc/cloud-sql-proxy/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchgit }:
+{ lib, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   pname = "cloud-sql-proxy";
diff --git a/pkgs/tools/misc/cod/default.nix b/pkgs/tools/misc/cod/default.nix
index 6dad6173ed4..dfad9569d2a 100644
--- a/pkgs/tools/misc/cod/default.nix
+++ b/pkgs/tools/misc/cod/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "1arllkiz1hk12hq5b2zpg3f8i9lxl66mil5sdv8gnhflmb37vbv3";
 
-  buildFlagsArray = [ "-ldflags=-X main.GitSha=${src.rev}" ];
+  buildFlagsArray = [ "-ldflags=-s -w -X main.GitSha=${src.rev}" ];
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/code-minimap/default.nix b/pkgs/tools/misc/code-minimap/default.nix
index 0ccfe424645..462fc51b289 100644
--- a/pkgs/tools/misc/code-minimap/default.nix
+++ b/pkgs/tools/misc/code-minimap/default.nix
@@ -1,20 +1,20 @@
-{ lib, stdenv
+{ lib
 , rustPlatform
 , fetchFromGitHub
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "code-minimap";
-  version = "0.4.3";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "wfxr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03azqy4i15kfpd0gzjaw2di9xva4xdf95yb65b93z3y9y5wy4krc";
+    sha256 = "sha256-t+zHAneINLd8JHkhaR+aF55gAWJmphYEqbx74CqAmM8=";
   };
 
-  cargoSha256 = "1rxrdavj07i7qa5rf1i3aj7zdcp7c6lrg8yiy75r6lm4g98izzww";
+  cargoSha256 = "sha256-eVh+6gTzKTelZ3MypkqYMXHr9QwaNG8H0xS82kilR/s=";
 
   meta = with lib; {
     description = "A high performance code minimap render";
diff --git a/pkgs/tools/misc/codebraid/default.nix b/pkgs/tools/misc/codebraid/default.nix
index a855dac5f12..0ecde80c238 100644
--- a/pkgs/tools/misc/codebraid/default.nix
+++ b/pkgs/tools/misc/codebraid/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
 python3Packages.buildPythonApplication rec {
   pname = "codebraid";
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 4a4a9343c6a..131ce2774d1 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -29,9 +29,8 @@ stdenv.mkDerivation (rec {
     sha256 = "sha256-RFjY3nhJ30TMqxXhaxVIsoUiTbul8I+sBwwcDgvMTPo=";
   };
 
-  patches = optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch
-    # included on coreutils master; TODO: apply unconditionally, I guess
-    ++ optional stdenv.hostPlatform.isAarch64 ./sys-getdents-undeclared.patch
+  patches = [ ./sys-getdents-undeclared.patch ]
+    ++ optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch
     # fix gnulib tests on 32-bit ARM. Included on coreutils master.
     # https://lists.gnu.org/r/bug-gnulib/2020-08/msg00225.html
     ++ optional stdenv.hostPlatform.isAarch32 ./fix-gnulib-tests-arm.patch;
diff --git a/pkgs/tools/misc/crudini/default.nix b/pkgs/tools/misc/crudini/default.nix
index a4b499a6323..6527a01e43b 100644
--- a/pkgs/tools/misc/crudini/default.nix
+++ b/pkgs/tools/misc/crudini/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages, help2man, installShellFiles }:
+{ lib, fetchFromGitHub, python3Packages, help2man, installShellFiles }:
 
 python3Packages.buildPythonApplication rec {
   pname = "crudini";
diff --git a/pkgs/tools/misc/dashing/default.nix b/pkgs/tools/misc/dashing/default.nix
index 546daef5ecb..496639ec07a 100644
--- a/pkgs/tools/misc/dashing/default.nix
+++ b/pkgs/tools/misc/dashing/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "dashing";
diff --git a/pkgs/tools/misc/ddccontrol/default.nix b/pkgs/tools/misc/ddccontrol/default.nix
index 604ba0cbf75..41f2bede999 100644
--- a/pkgs/tools/misc/ddccontrol/default.nix
+++ b/pkgs/tools/misc/ddccontrol/default.nix
@@ -1,21 +1,31 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, intltool, libxml2
-, pciutils, pkg-config, gtk2, ddccontrol-db
-, makeDesktopItem
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, intltool
+, libxml2
+, pciutils
+, pkg-config
+, gtk2
+, ddccontrol-db
 }:
 
-let version = "0.4.4"; in
 stdenv.mkDerivation rec {
   pname = "ddccontrol";
-  inherit version;
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "ddccontrol";
     repo = "ddccontrol";
-    rev = "0.4.4";
-    sha256 = "09npy6z2j3jrvpvlr46vih31y2mbrh7wsqlbrjprxjv1j0kkz5q2";
+    rev = "0.5.1";
+    sha256 = "sha256-e6Rzzz5S+Um2ZBuUkfAJQA4V+zqCqsUHB0f1t/dTU2w=";
   };
 
-  nativeBuildInputs = [ autoreconfHook intltool pkg-config ];
+  nativeBuildInputs = [
+    autoreconfHook
+    intltool
+    pkg-config
+  ];
 
   buildInputs = [
     libxml2
@@ -24,8 +34,6 @@ stdenv.mkDerivation rec {
     ddccontrol-db
   ];
 
-  hardeningDisable = [ "format" "bindnow" ];
-
   prePatch = ''
     oldPath="\$""{datadir}/ddccontrol-db"
     newPath="${ddccontrol-db}/share/ddccontrol-db"
@@ -37,29 +45,11 @@ stdenv.mkDerivation rec {
     intltoolize --force
   '';
 
-  postInstall = ''
-    mkdir -p $out/share/applications/
-    cp $desktopItem/share/applications/* $out/share/applications/
-    for entry in $out/share/applications/*.desktop; do
-      substituteAllInPlace $entry
-    done
-  '';
-
-  desktopItem = makeDesktopItem {
-    name = "gddccontrol";
-    desktopName = "gddccontrol";
-    genericName = "DDC/CI control";
-    comment = meta.description;
-    exec = "@out@/bin/gddccontrol";
-    icon = "gddccontrol";
-    categories = "Settings;HardwareSettings;";
-  };
-
   meta = with lib; {
     description = "A program used to control monitor parameters by software";
     homepage = "https://github.com/ddccontrol/ddccontrol";
-    license = licenses.gpl2;
-    platforms = [ "i686-linux" "x86_64-linux" ];
-    maintainers = [ lib.maintainers.pakhfn ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with lib.maintainers; [ pakhfn ];
   };
 }
diff --git a/pkgs/tools/misc/ddcutil/default.nix b/pkgs/tools/misc/ddcutil/default.nix
index 4f519d6858d..1e2efc7f9cd 100644
--- a/pkgs/tools/misc/ddcutil/default.nix
+++ b/pkgs/tools/misc/ddcutil/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ddcutil";
-  version = "0.9.9";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner  = "rockowitz";
     repo   = "ddcutil";
     rev    = "v${version}";
-    sha256 = "1ppiddnrvkbb9iir28kl9hzpww0hpgb05jfxzf07xsqkdfb4qv71";
+    sha256 = "sha256-F/tKW81bAyYtwpxhl5XC8YyMB+6S0XmqqigwJY2WFDU=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix
index 9b97886682f..8de7cc99336 100644
--- a/pkgs/tools/misc/debian-devscripts/default.nix
+++ b/pkgs/tools/misc/debian-devscripts/default.nix
@@ -58,7 +58,7 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = ''Debian package maintenance scripts'';
+    description = "Debian package maintenance scripts";
     license = licenses.free; # Mix of public domain, Artistic+GPL, GPL1+, GPL2+, GPL3+, and GPL2-only... TODO
     maintainers = with maintainers; [raskin];
     platforms = with platforms; linux;
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 2d7715274be..9437ef12f4b 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, runCommand, makeWrapper, python3Packages, docutils, help2man
+{ lib, stdenv, fetchurl, runCommand, makeWrapper, python3Packages, docutils, help2man, installShellFiles
 , abootimg, acl, apktool, binutils-unwrapped, build-tools, bzip2, cbfstool, cdrkit, colord, colordiff, coreutils, cpio, db, diffutils, dtc
 , e2fsprogs, file, findutils, fontforge-fonttools, ffmpeg, fpc, gettext, ghc, ghostscriptX, giflib, gnumeric, gnupg, gnutar
 , gzip, hdf5, imagemagick, jdk, libarchive, libcaca, llvm, lz4, mono, openssh, openssl, pdftk, pgpdump, poppler_utils, qemu, R
@@ -16,18 +16,17 @@ let
 in
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "163";
+  version = "166";
 
   src = fetchurl {
-    url    = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "sha256-pCAOMRZ3sn1jhdT5RuIZoMR1e6GEYJYyd4mZt7+0lWE=";
+    url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
+    sha256 = "sha256-6VhHG3MxmIczolOYqU4D1m00h8w2n0ku4dy/dFEYqk0=";
   };
 
   outputs = [ "out" "man" ];
 
   patches = [
     ./ignore_links.patch
-    ./skip-failing-test.patch
   ];
 
   postPatch = ''
@@ -38,7 +37,7 @@ python3Packages.buildPythonApplication rec {
     substituteInPlace doc/Makefile --replace "../bin" "$out/bin"
   '';
 
-  nativeBuildInputs = [ docutils help2man ];
+  nativeBuildInputs = [ docutils help2man installShellFiles ];
 
   # Most of the non-Python dependencies here are optional command-line tools for various file-format parsers.
   # To help figuring out what's missing from the list, run: ./pkgs/tools/misc/diffoscope/list-missing-tools.sh
@@ -60,14 +59,19 @@ python3Packages.buildPythonApplication rec {
       hdf5 imagemagick llvm jdk mono odt2txt openssh pdftk poppler_utils qemu R tcpdump wabt
     ] ++ (with python3Packages; [ binwalk guestfs h5py ]));
 
-  checkInputs = with python3Packages; [ pytest ] ++ pythonPath;
+  checkInputs = with python3Packages; [ pytestCheckHook ] ++ pythonPath;
 
   postInstall = ''
     make -C doc
-    mkdir -p $out/share/man/man1
-    cp doc/diffoscope.1 $out/share/man/man1/diffoscope.1
+    installManPage doc/diffoscope.1
   '';
 
+  # Disable flaky test and a failing one
+  disabledTests = [
+    "test_android_manifest"
+    "test_sbin_added_to_path"
+  ];
+
   meta = with lib; {
     description = "Perform in-depth comparison of files, archives, and directories";
     longDescription = ''
@@ -80,9 +84,9 @@ python3Packages.buildPythonApplication rec {
       diffoscope is developed as part of the "reproducible builds" Debian
       project and was formerly known as "debbindiff".
     '';
-    homepage    = "https://diffoscope.org/";
-    license     = licenses.gpl3Plus;
+    homepage = "https://diffoscope.org/";
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dezgeg ma27 danielfullmer ];
-    platforms   = platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/diffoscope/skip-failing-test.patch b/pkgs/tools/misc/diffoscope/skip-failing-test.patch
deleted file mode 100644
index bf871d295bd..00000000000
--- a/pkgs/tools/misc/diffoscope/skip-failing-test.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/tests/test_tools.py b/tests/test_tools.py
-index f0010678..1c3c7ce1 100644
---- a/tests/test_tools.py
-+++ b/tests/test_tools.py
-@@ -21,6 +21,7 @@ import os
- import pytest
- 
- 
-+@pytest.mark.skip()
- def test_sbin_added_to_path():
-     from diffoscope.tools import tool_required
- 
diff --git a/pkgs/tools/misc/dijo/default.nix b/pkgs/tools/misc/dijo/default.nix
index 2a3fa242699..b8dc950773b 100644
--- a/pkgs/tools/misc/dijo/default.nix
+++ b/pkgs/tools/misc/dijo/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, rustPlatform, fetchFromGitHub, ncurses, CoreServices }:
-let version = "0.2.3"; in
+let version = "0.2.5"; in
 rustPlatform.buildRustPackage {
   pname = "dijo";
   inherit version;
@@ -8,9 +8,9 @@ rustPlatform.buildRustPackage {
     owner = "NerdyPepper";
     repo = "dijo";
     rev = "v${version}";
-    sha256 = "1lcvj0pri5v64zygkf2p24vr72y39agrq1r3kb8dfgz8yy3vcz0a";
+    sha256 = "sha256-DdK9qdF+rFtAhemPwMpiZrtUdgD0iFqjgiZ3Yp/vLAI=";
   };
-  cargoSha256 = "0pm048xf8hkva8q8fjmhrdnk7h2im28ix7xy784xwkkdnilm4j7f";
+  cargoSha256 = "sha256-bdSXyxiHwGtdyce2YyPKq+3RfZIL425RvwRfKi59RVI=";
 
   meta = with lib; {
     description = "Scriptable, curses-based, digital habit tracker";
diff --git a/pkgs/tools/misc/diskonaut/default.nix b/pkgs/tools/misc/diskonaut/default.nix
index 6c295eb00e8..0fb31685170 100644
--- a/pkgs/tools/misc/diskonaut/default.nix
+++ b/pkgs/tools/misc/diskonaut/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub }:
+{ lib, rustPlatform, fetchFromGitHub }:
 
 rustPlatform.buildRustPackage rec {
   pname = "diskonaut";
diff --git a/pkgs/tools/misc/disper/default.nix b/pkgs/tools/misc/disper/default.nix
index 5caa5eaf539..ecbf298132f 100644
--- a/pkgs/tools/misc/disper/default.nix
+++ b/pkgs/tools/misc/disper/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "On-the-fly display switch utility";
-    homepage = "http://willem.engen.nl/projects/disper/";
+    homepage = "https://willem.engen.nl/projects/disper/";
     platforms = lib.platforms.unix;
     license = lib.licenses.gpl3;
   };
diff --git a/pkgs/tools/misc/docker-ls/default.nix b/pkgs/tools/misc/docker-ls/default.nix
index df9755f863d..a56107ebce1 100644
--- a/pkgs/tools/misc/docker-ls/default.nix
+++ b/pkgs/tools/misc/docker-ls/default.nix
@@ -1,14 +1,14 @@
-{ buildGoModule, fetchFromGitHub, lib, stdenv, docker }:
+{ buildGoModule, fetchFromGitHub, lib, docker }:
 
 buildGoModule rec {
   pname = "docker-ls";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "mayflower";
     repo = "docker-ls";
     rev = "v${version}";
-    sha256 = "sha256-VyVrCBdIZAQ+p0leD6i4sMxD4p6nEXG9Si+nJGdUQPM=";
+    sha256 = "sha256-4+REt0NH4S367qFsyJncVedUrC4t1zw5o0CLTiQfIz8=";
   };
 
   vendorSha256 = "sha256-UulcjQOLEIP++eoYQTEIbCJW51jyE312dMxB8+AKcdU=";
diff --git a/pkgs/tools/misc/docui/default.nix b/pkgs/tools/misc/docui/default.nix
index e4934853e82..a1b2ad662bc 100644
--- a/pkgs/tools/misc/docui/default.nix
+++ b/pkgs/tools/misc/docui/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "docui";
diff --git a/pkgs/tools/misc/doitlive/default.nix b/pkgs/tools/misc/doitlive/default.nix
index 313dc9935fa..9edc078d9f9 100644
--- a/pkgs/tools/misc/doitlive/default.nix
+++ b/pkgs/tools/misc/doitlive/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages }:
+{ lib, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "doitlive";
diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix
index 7379c666e37..063442b75f2 100644
--- a/pkgs/tools/misc/dua/default.nix
+++ b/pkgs/tools/misc/dua/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dua";
-  version = "2.10.9";
+  version = "2.10.10";
 
   src = fetchFromGitHub {
     owner = "Byron";
     repo = "dua-cli";
     rev = "v${version}";
-    sha256 = "sha256-Dx6yVgmi0CTKpBKQ5US+UpiI0d1S4vPZSbRWmmnHIMk=";
+    sha256 = "sha256-Rt+60j1+uwL6g4HGc+xdUzGK6nanGfRYbekO54iKsPE=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-OFmDllEQKeByzra/XttQzdlBlahHvKsZM1ShsmV1OcM=";
+  cargoSha256 = "sha256-6L1J5RHI657Z03rMmhwEzgpQ0//dykqGi8bI2Enc3N8=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/duf/default.nix b/pkgs/tools/misc/duf/default.nix
index ed8a11e182c..ee3573f9f45 100644
--- a/pkgs/tools/misc/duf/default.nix
+++ b/pkgs/tools/misc/duf/default.nix
@@ -2,26 +2,24 @@
 
 buildGoModule rec {
   pname = "duf";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "muesli";
     repo = "duf";
     rev = "v${version}";
-    sha256 = "0n0nvrqrlr75dmf2j6ja615ighzs35cfixn7z9cwdz3vhj1xhc5f";
+    sha256 = "sha256-Wm3gfir6blQFLLi+2bT5Y/5tf7qUxEddJQ7tCYfBGgM=";
   };
 
-  dontStrip = true;
+  vendorSha256 = "0icxy6wbqjqawr6i5skwp1z37fq303p8f95crd8lwn6pjjiqzk4i";
 
-  vendorSha256 = "1jqilfsirj7bkhzywimzf98w2b4s777phb06nsw6lr3bi6nnwzr1";
-
-  buildFlagsArray = [ "-ldflags=" "-X=main.Version=${version}" ];
+  buildFlagsArray = [ "-ldflags=-s -w -X=main.Version=${version}" ];
 
   meta = with lib; {
     homepage = "https://github.com/muesli/duf/";
     description = "Disk Usage/Free Utility";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ petabyteboy penguwin ];
+    maintainers = with maintainers; [ petabyteboy penguwin SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/dust/default.nix b/pkgs/tools/misc/dust/default.nix
index c40753dcf99..781ee30deba 100644
--- a/pkgs/tools/misc/dust/default.nix
+++ b/pkgs/tools/misc/dust/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
   pname = "du-dust";
@@ -8,11 +8,11 @@ rustPlatform.buildRustPackage rec {
     owner = "bootandy";
     repo = "dust";
     rev = "v${version}";
-    sha256 = "sha256-JwGa1icwV1yqxy90Psd9bzM7VzM7HPA6kONkI3Y745Q=";
+    sha256 = "1knl7kwngmq598bnlvlq9x8sqp914sv1abfm55kw9f7mja2d6pw0";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
-      rm -rf $out/src/test_dir3/
+      rm -r $out/tests/test_dir_unicode/
     '';
   };
 
@@ -24,6 +24,6 @@ rustPlatform.buildRustPackage rec {
     description = "du + rust = dust. Like du but more intuitive";
     homepage = "https://github.com/bootandy/dust";
     license = licenses.asl20;
-    maintainers = [ maintainers.infinisil ];
+    maintainers = with maintainers; [ infinisil SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/edir/default.nix b/pkgs/tools/misc/edir/default.nix
new file mode 100644
index 00000000000..7cd621be76a
--- /dev/null
+++ b/pkgs/tools/misc/edir/default.nix
@@ -0,0 +1,19 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "edir";
+  version = "2.7.3";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "06nsy9ikljc437368l38hsw75whacn3j6jwmdgg766q61pnifhkp";
+  };
+
+  meta = with lib; {
+    description = "Program to rename and remove files and directories using your editor";
+    homepage = "https://github.com/bulletmark/edir";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ guyonvarch ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/entr/default.nix b/pkgs/tools/misc/entr/default.nix
index 29474a471c3..581b39f3c4c 100644
--- a/pkgs/tools/misc/entr/default.nix
+++ b/pkgs/tools/misc/entr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "entr";
-  version = "4.6";
+  version = "4.7";
 
   src = fetchurl {
     url = "http://entrproject.org/code/${pname}-${version}.tar.gz";
-    sha256 = "0vcflgagna2gdlpjsd6748c73j2829xlhm276mi838zl1n121phn";
+    sha256 = "sha256-tsGrdkTYO7Kiadx0Fghno74PXfEWx+tFPCUFMXNTRCk=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/envdir-go/default.nix b/pkgs/tools/misc/envdir-go/default.nix
index 7ec763f16c6..eafc71030ac 100644
--- a/pkgs/tools/misc/envdir-go/default.nix
+++ b/pkgs/tools/misc/envdir-go/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   version = "1.0.0";
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index de06a60fbf2..dba1b4b4490 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -11,17 +11,17 @@ let
 
 in python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "1.15.3";
+  version = "1.16.0";
 
   src = python.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "a75b53e76fb8b4b394eca18fe74f622ca740bc13b7cbc02e6af5f50126b7aa0b";
+    sha256 = "0pvwzkdcpjqdf7lh1k3xv1la5v60lhjixzykapl7f2xh71fbm144";
   };
 
   ESPHOME_USE_SUBPROCESS = "";
 
   propagatedBuildInputs = with python.pkgs; [
-    voluptuous pyyaml paho-mqtt colorlog
+    voluptuous pyyaml paho-mqtt colorlog colorama
     tornado protobuf tzlocal pyserial ifaddr
     protobuf click
   ];
@@ -49,6 +49,6 @@ in python.pkgs.buildPythonApplication rec {
     description = "Make creating custom firmwares for ESP32/ESP8266 super easy";
     homepage = "https://esphome.io/";
     license = licenses.mit;
-    maintainers = with maintainers; [ dotlambda globin ];
+    maintainers = with maintainers; [ dotlambda globin elseym ];
   };
 }
diff --git a/pkgs/tools/misc/esptool/default.nix b/pkgs/tools/misc/esptool/default.nix
index 89be1da8cc9..7c7f91621b8 100644
--- a/pkgs/tools/misc/esptool/default.nix
+++ b/pkgs/tools/misc/esptool/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3, openssl }:
+{ lib, fetchFromGitHub, python3, openssl }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "esptool";
diff --git a/pkgs/tools/misc/eva/default.nix b/pkgs/tools/misc/eva/default.nix
index 65da084f841..253e815008a 100644
--- a/pkgs/tools/misc/eva/default.nix
+++ b/pkgs/tools/misc/eva/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, fetchpatch }:
+{ lib, fetchFromGitHub, rustPlatform, fetchpatch }:
 
 rustPlatform.buildRustPackage rec {
   pname = "eva";
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index 83aa6c505d3..f275d254677 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, fetchpatch, rustPlatform, cmake, perl, pkg-config, zlib
-, darwin, libiconv, installShellFiles
+, Security, libiconv, installShellFiles
 }:
 
 with rustPlatform;
@@ -28,9 +28,7 @@ buildRustPackage rec {
 
   nativeBuildInputs = [ cmake pkg-config perl installShellFiles ];
   buildInputs = [ zlib ]
-  ++ lib.optionals stdenv.isDarwin [
-    libiconv darwin.apple_sdk.frameworks.Security ]
-  ;
+    ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
 
   outputs = [ "out" "man" ];
 
diff --git a/pkgs/tools/misc/expect/default.nix b/pkgs/tools/misc/expect/default.nix
index 6e8bb7fd96c..12e63686d51 100644
--- a/pkgs/tools/misc/expect/default.nix
+++ b/pkgs/tools/misc/expect/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchurl, tcl, makeWrapper, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "5.45.4";
   pname = "expect";
+  version = "5.45.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/expect/Expect/${version}/expect${version}.tar.gz";
@@ -36,7 +36,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A tool for automating interactive applications";
     homepage = "http://expect.sourceforge.net/";
-    license = "Expect";
+    license = licenses.publicDomain;
     platforms = platforms.unix;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/fselect/default.nix b/pkgs/tools/misc/fselect/default.nix
index 1076c44a1bb..7416961e84e 100644
--- a/pkgs/tools/misc/fselect/default.nix
+++ b/pkgs/tools/misc/fselect/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, installShellFiles }:
+{ lib, fetchFromGitHub, rustPlatform, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "fselect";
diff --git a/pkgs/tools/misc/fsql/default.nix b/pkgs/tools/misc/fsql/default.nix
index 8e113ee871a..100e7023232 100644
--- a/pkgs/tools/misc/fsql/default.nix
+++ b/pkgs/tools/misc/fsql/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "fsql";
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 837277a5c85..25542543d65 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -1,28 +1,20 @@
-{ lib, buildGoModule, fetchFromGitHub, writeText, runtimeShell, ncurses, perl, fetchpatch }:
+{ lib, buildGoModule, fetchFromGitHub, writeText, runtimeShell, ncurses, perl }:
 
 buildGoModule rec {
   pname = "fzf";
-  version = "0.25.0";
+  version = "0.25.1";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    sha256 = "1j5bfxl4w8w3n89p051y8dhxg0py9l98v7r2gkr63bg4lj32faz8";
+    sha256 = "085apa4msw8v8f57942xh7wfw3dkavrl9d58yj6i3yr75l3vg05r";
   };
 
   vendorSha256 = "0dd0qm1fxp3jnlrhfaas8fw87cj7rygaac35a9nk3xh2xsk7q35p";
 
   outputs = [ "out" "man" ];
 
-  patches = [
-    # Fix test failure on go 1.15
-    (fetchpatch {
-      url = "https://github.com/junegunn/fzf/commit/82791f7efccde5b30da0b4d44f10d214ae5c0c0d.patch";
-      sha256 = "1nybsz09h8cnvxjnkmx9c52g8z0x6pvrn230hw1va5a3pvmg01z1";
-    })
-  ];
-
   fishHook = writeText "load-fzf-keybindings.fish" "fzf_key_bindings";
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/g933-utils/default.nix b/pkgs/tools/misc/g933-utils/default.nix
index 9cb05609772..7fbfadfac76 100644
--- a/pkgs/tools/misc/g933-utils/default.nix
+++ b/pkgs/tools/misc/g933-utils/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, udev, pkg-config }:
+{ lib, fetchFromGitHub, rustPlatform, udev, pkg-config }:
 
 rustPlatform.buildRustPackage rec {
   pname = "g933-utils";
diff --git a/pkgs/tools/misc/gawp/default.nix b/pkgs/tools/misc/gawp/default.nix
index d518ba88fb6..5c7953a766e 100644
--- a/pkgs/tools/misc/gawp/default.nix
+++ b/pkgs/tools/misc/gawp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchgit }:
+{ lib, buildGoPackage, fetchgit }:
 
 with builtins;
 
diff --git a/pkgs/tools/misc/geekbench/default.nix b/pkgs/tools/misc/geekbench/default.nix
index d6b0c84b61f..17e67c0bc75 100644
--- a/pkgs/tools/misc/geekbench/default.nix
+++ b/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geekbench";
-  version = "5.3.1";
+  version = "5.3.2";
 
   src = fetchurl {
     url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-    sha256 = "0hil3mvrwpwy60x9s16bf8vgvfv11sdarcbk45zjlgjzfhh8h2qr";
+    sha256 = "sha256-SdmcyOgK8k07pkjOVWLbNj36ktJnkQWJ8ObPiMgcMYk=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/tools/misc/gh-ost/default.nix b/pkgs/tools/misc/gh-ost/default.nix
index 6096dac9622..dd28ddfaff5 100644
--- a/pkgs/tools/misc/gh-ost/default.nix
+++ b/pkgs/tools/misc/gh-ost/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "gh-ost";
diff --git a/pkgs/tools/misc/gif-for-cli/default.nix b/pkgs/tools/misc/gif-for-cli/default.nix
index e82cafdd64c..bbb1b8b9640 100644
--- a/pkgs/tools/misc/gif-for-cli/default.nix
+++ b/pkgs/tools/misc/gif-for-cli/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages, ffmpeg, zlib, libjpeg }:
+{ lib, fetchFromGitHub, python3Packages, ffmpeg, zlib, libjpeg }:
 
 python3Packages.buildPythonApplication {
   pname = "gif-for-cli";
diff --git a/pkgs/tools/misc/git-town/default.nix b/pkgs/tools/misc/git-town/default.nix
index cf3a6aba19f..56f9452db7b 100644
--- a/pkgs/tools/misc/git-town/default.nix
+++ b/pkgs/tools/misc/git-town/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "git-town";
diff --git a/pkgs/tools/misc/go.rice/default.nix b/pkgs/tools/misc/go.rice/default.nix
index 26b082e43b3..295bf010279 100644
--- a/pkgs/tools/misc/go.rice/default.nix
+++ b/pkgs/tools/misc/go.rice/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "go.rice";
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index 6611b3e9210..febaa4415a2 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "0.155.0";
+  version = "0.155.1";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wVHBcxbrU6WvBAegQYDRDvLbuoU49/Cm19ujghNyi2A=";
+    sha256 = "sha256-eVRsDyPlUvVhEnN8aJW8vPw4UqvK2/6pblgnwH2RhkY=";
   };
 
-  vendorSha256 = "sha256-k4TphR8z3DtoqJm6o6QILvQ1rHIldi1BpQJbEyWKv9U=";
+  vendorSha256 = "sha256-VFFwp+n13NL3YpzdWPVzgrH8d4BQHffwpRXvYn9MSaQ=";
 
   buildFlagsArray = [
     "-ldflags="
diff --git a/pkgs/tools/misc/gosu/default.nix b/pkgs/tools/misc/gosu/default.nix
index 7bc7eab3456..033883ab1c8 100644
--- a/pkgs/tools/misc/gosu/default.nix
+++ b/pkgs/tools/misc/gosu/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchgit }:
+{ lib, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   pname = "gosu";
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index b1884da5553..3b63d7c0203 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gparted-1.1.0";
+  name = "gparted-1.2.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/gparted/${name}.tar.gz";
-    sha256 = "092rgwjh1825fal6v3yafq2wr0i61hh0a2n0j4296zn0zdx7pzp2";
+    sha256 = "sha256-bJBxXSVNen7AIIspAHtkFg3Z+330xKp/jsLJ0jEUxxk=";
   };
 
   # Tries to run `pkexec --version` to get version.
diff --git a/pkgs/tools/misc/grc/default.nix b/pkgs/tools/misc/grc/default.nix
index 3188dcdafbf..8fe35012090 100644
--- a/pkgs/tools/misc/grc/default.nix
+++ b/pkgs/tools/misc/grc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "grc";
diff --git a/pkgs/tools/misc/grex/default.nix b/pkgs/tools/misc/grex/default.nix
index fca9cecc01c..d58661babc6 100644
--- a/pkgs/tools/misc/grex/default.nix
+++ b/pkgs/tools/misc/grex/default.nix
@@ -2,7 +2,7 @@
 , fetchFromGitHub
 , fetchpatch
 , rustPlatform
-, darwin
+, Security
 , libiconv
 }:
 
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1viph7ki6f2akc5mpbgycacndmxnv088ybfji2bfdbi5jnpyavvs";
   };
 
-  buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/pkgs/tools/misc/hacksaw/default.nix b/pkgs/tools/misc/hacksaw/default.nix
index a0e884e82d9..419cff20087 100644
--- a/pkgs/tools/misc/hacksaw/default.nix
+++ b/pkgs/tools/misc/hacksaw/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchCrate, rustPlatform, pkg-config, libXrandr, libX11, python3 }:
+{ lib, fetchCrate, rustPlatform, pkg-config, libXrandr, libX11, python3 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "hacksaw";
diff --git a/pkgs/tools/misc/hddtemp/default.nix b/pkgs/tools/misc/hddtemp/default.nix
index de57b253990..3939d60144d 100644
--- a/pkgs/tools/misc/hddtemp/default.nix
+++ b/pkgs/tools/misc/hddtemp/default.nix
@@ -1,32 +1,38 @@
 { lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation {
-  name = "hddtemp-0.3_beta15";
-
-  db = fetchurl{
+let
+  db = fetchurl {
     url = "mirror://savannah/hddtemp/hddtemp.db";
     sha256 = "1fr6qgns6qv7cr40lic5yqwkkc7yjmmgx8j0z6d93csg3smzhhya";
   };
 
+in
+stdenv.mkDerivation rec {
+  pname = "hddtemp";
+  version = "0.3-beta15";
+
   src = fetchurl {
-    url = "mirror://savannah/hddtemp/hddtemp-0.3-beta15.tar.bz2";
-    sha256 = "0nzgg4nl8zm9023wp4dg007z6x3ir60rwbcapr9ks2al81c431b1";
+    url = "mirror://savannah/hddtemp/hddtemp-${version}.tar.bz2";
+    sha256 = "sha256-YYVBWEBUCT1TvootnoHJcXTzDwCvkcuHAKl+RC1571s=";
   };
 
   # from Gentoo
   patches = [ ./byteswap.patch ./dontwake.patch ./execinfo.patch ./satacmds.patch ];
 
-  configurePhase =
-    ''
-      mkdir -p $out/nix-support
-      cp $db $out/nix-support/hddtemp.db
-      ./configure --prefix=$out --with-db-path=$out/nix-support/hddtemp.db
-    '';
+  configureFlags = [
+    "--with-db-path=${placeholder "out"}/share/${pname}/hddtemp.db"
+  ];
+
+  postInstall = ''
+    install -Dm444 ${db} $out/share/${pname}/hddtemp.db
+  '';
+
+  enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Tool for displaying hard disk temperature";
     homepage = "https://savannah.nongnu.org/projects/hddtemp/";
     license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index 0a5032074c1..fc7bb635040 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -5,13 +5,14 @@
 , gfortran ? null
 , zlib ? null
 , szip ? null
-, mpi ? null
+, mpiSupport ? false
+, mpi
 , enableShared ? !stdenv.hostPlatform.isStatic
 }:
 
 # cpp and mpi options are mutually exclusive
 # (--enable-unsupported could be used to force the build)
-assert !cpp || mpi == null;
+assert !cpp || !mpiSupport;
 
 let inherit (lib) optional optionals; in
 
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
   };
 
   passthru = {
-    mpiSupport = (mpi != null);
+    inherit mpiSupport;
     inherit mpi;
   };
 
@@ -38,13 +39,13 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = []
     ++ optional (zlib != null) zlib
-    ++ optional (mpi != null) mpi;
+    ++ optional mpiSupport mpi;
 
   configureFlags = []
     ++ optional cpp "--enable-cxx"
     ++ optional (gfortran != null) "--enable-fortran"
     ++ optional (szip != null) "--with-szlib=${szip}"
-    ++ optionals (mpi != null) ["--enable-parallel" "CC=${mpi}/bin/mpicc"]
+    ++ optionals mpiSupport ["--enable-parallel" "CC=${mpi}/bin/mpicc"]
     ++ optional enableShared "--enable-shared";
 
   patches = [
diff --git a/pkgs/tools/misc/hdl-dump/default.nix b/pkgs/tools/misc/hdl-dump/default.nix
index 6a6af1391bd..e5f3afb03d5 100644
--- a/pkgs/tools/misc/hdl-dump/default.nix
+++ b/pkgs/tools/misc/hdl-dump/default.nix
@@ -1,20 +1,19 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , upx
 }:
 
-let
-  version = "20202807";
+stdenv.mkDerivation rec {
   pname = "hdl-dump";
-in stdenv.mkDerivation {
-  inherit pname version;
+  version = "20202807";
 
   # Using AkuHAK's repo because playstation2's repo is outdated
   src = fetchFromGitHub {
     owner = "AKuHAK";
     repo = pname;
-    rev = "be37e112a44772a1341c867dc3dfee7381ce9e59";
-    sha256 = "0akxak6hm11h8z6jczxgr795s4a8czspwnhl3swqxp803dvjdx41";
+    rev = "0c98b235c83c0fca1da93648f05ea5f940a4aee0";
+    sha256 = "1s3wflqjjlcslpa9n5chr8dbamhmfk88885dzw68apz4vf6g27iq";
   };
 
   buildInputs = [ upx ];
diff --git a/pkgs/tools/misc/heatseeker/default.nix b/pkgs/tools/misc/heatseeker/default.nix
index 13933c6c28a..9d50530df47 100644
--- a/pkgs/tools/misc/heatseeker/default.nix
+++ b/pkgs/tools/misc/heatseeker/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, coreutils }:
+{ lib, fetchFromGitHub, rustPlatform, coreutils }:
 
 rustPlatform.buildRustPackage rec {
   pname = "heatseeker";
diff --git a/pkgs/tools/misc/hexyl/default.nix b/pkgs/tools/misc/hexyl/default.nix
index e75d0105731..d825368cb97 100644
--- a/pkgs/tools/misc/hexyl/default.nix
+++ b/pkgs/tools/misc/hexyl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
   pname   = "hexyl";
diff --git a/pkgs/tools/misc/hpcg/default.nix b/pkgs/tools/misc/hpcg/default.nix
index 29799641880..d6896527ad2 100644
--- a/pkgs/tools/misc/hpcg/default.nix
+++ b/pkgs/tools/misc/hpcg/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, openmpi } :
+{ lib, stdenv, fetchurl, mpi } :
 
 stdenv.mkDerivation rec {
   pname = "hpcg";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ openmpi ];
+  buildInputs = [ mpi ];
 
   makeFlags = [ "arch=Linux_MPI" ];
 
diff --git a/pkgs/tools/misc/hyperledger-fabric/default.nix b/pkgs/tools/misc/hyperledger-fabric/default.nix
index 13a88dcba30..9f7fa31d3f2 100644
--- a/pkgs/tools/misc/hyperledger-fabric/default.nix
+++ b/pkgs/tools/misc/hyperledger-fabric/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "hyperledger-fabric";
diff --git a/pkgs/tools/misc/i3cat/default.nix b/pkgs/tools/misc/i3cat/default.nix
index d75b878ae6d..e91b17856ed 100644
--- a/pkgs/tools/misc/i3cat/default.nix
+++ b/pkgs/tools/misc/i3cat/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchgit }:
+{ lib, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   pname = "i3cat";
diff --git a/pkgs/tools/misc/i3minator/default.nix b/pkgs/tools/misc/i3minator/default.nix
index d58efd7a0d4..6e207ce6916 100644
--- a/pkgs/tools/misc/i3minator/default.nix
+++ b/pkgs/tools/misc/i3minator/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pythonPackages, glibcLocales }:
+{ lib, fetchFromGitHub, pythonPackages, glibcLocales }:
 
 pythonPackages.buildPythonApplication rec {
   pname = "i3minator";
diff --git a/pkgs/tools/misc/ical2org/default.nix b/pkgs/tools/misc/ical2org/default.nix
index 58afffcd706..78f40974ace 100644
--- a/pkgs/tools/misc/ical2org/default.nix
+++ b/pkgs/tools/misc/ical2org/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoPackage}:
+{ lib, fetchFromGitHub, buildGoPackage}:
 
 buildGoPackage rec {
   pname = "ical2org";
diff --git a/pkgs/tools/misc/ili2c/default.nix b/pkgs/tools/misc/ili2c/default.nix
index c2f4c991a70..93b61ec12dd 100644
--- a/pkgs/tools/misc/ili2c/default.nix
+++ b/pkgs/tools/misc/ili2c/default.nix
@@ -3,7 +3,7 @@
 let jdk = jdk8; jre = jre8; in
 stdenv.mkDerivation rec {
   pname = "ili2c";
-  version = "5.0.8";
+  version = "5.1.1";
 
   nativeBuildInputs = [ ant jdk makeWrapper ];
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "claeis";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "1yhsyh940kb33y2n6xl7zhf0f6q0nrxbyg6c4g5n2imllpn54sgi";
+    sha256 = "sha256-FHhx+f253+UdbFjd2fOlUY1tpQ6pA2aVu9CBSwUVoKQ=";
   };
 
   buildPhase = "ant jar";
diff --git a/pkgs/tools/misc/iotools/default.nix b/pkgs/tools/misc/iotools/default.nix
new file mode 100644
index 00000000000..12411aac6c6
--- /dev/null
+++ b/pkgs/tools/misc/iotools/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "iotools";
+  version = "unstable-2017-12-11";
+
+  src = fetchFromGitHub {
+    owner = "adurbin";
+    repo = pname;
+    rev = "18949fdc4dedb1da3f51ee83a582b112fb9f2c71";
+    sha256 = "0vymnah44d5bzsjhfmxkcrlrikkp0db22k7a1s8bknz7glk9fldn";
+  };
+
+  makeFlags = [ "DEBUG=0" "STATIC=0" ];
+
+  installPhase = ''
+    install -Dm755 iotools -t $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Set of simple command line tools which allow access to
+      hardware device registers";
+    longDescription = ''
+      Provides a set of simple command line tools which allow access to
+      hardware device registers. Supported register interfaces include PCI,
+      IO, memory mapped IO, SMBus, CPUID, and MSR. Also included are some
+      utilities which allow for simple arithmetic, logical, and other
+      operations.
+    '';
+    homepage = "https://github.com/adurbin/iotools";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ felixsinger ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/tools/misc/jdupes/default.nix b/pkgs/tools/misc/jdupes/default.nix
index 4f13d0a17af..c42abee5e23 100644
--- a/pkgs/tools/misc/jdupes/default.nix
+++ b/pkgs/tools/misc/jdupes/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jdupes";
-  version = "1.19.0";
+  version = "1.19.1";
 
   src = fetchFromGitHub {
     owner = "jbruchon";
     repo  = "jdupes";
     rev   = "v${version}";
-    sha256 = "1f6qv701c4c9s4hliha7kp8wraq4jfx1jdk86ii10akkm07fkdlz";
+    sha256 = "sha256-1gx3rStqIxLt/iRgpdp5z7tX1/wA0miZ1y5WTeGQ1Vs=";
     # Unicode file names lead to different checksums on HFS+ vs. other
     # filesystems because of unicode normalisation. The testdir
     # directories have such files and will be removed.
diff --git a/pkgs/tools/misc/jstest-gtk/default.nix b/pkgs/tools/misc/jstest-gtk/default.nix
new file mode 100644
index 00000000000..6824753c73c
--- /dev/null
+++ b/pkgs/tools/misc/jstest-gtk/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, fetchFromGitLab, cmake, pkg-config, gtkmm3, libsigcxx, xorg }:
+
+stdenv.mkDerivation rec {
+  pname = "jstest-gtk";
+  version = "2018-07-10";
+
+  src = fetchFromGitLab {
+    owner = pname;
+    repo = pname;
+    rev = "62f6e2d7d44620e503149510c428df9e004c9f3b";
+    sha256 = "0icbbhrj5aqljhiavdy3hic60vp0zzfzyg0d6vpjaqkbzd5pv9d8";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ gtkmm3 libsigcxx xorg.libX11 ];
+
+  meta = with lib; {
+    description = "A 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
+      to calibrate your joystick.
+    '';
+    homepage = "https://jstest-gtk.gitlab.io/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ wucke13 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/kargo/default.nix b/pkgs/tools/misc/kargo/default.nix
index 00bf9403427..8c24848f4b5 100644
--- a/pkgs/tools/misc/kargo/default.nix
+++ b/pkgs/tools/misc/kargo/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, python3Packages }:
+{ lib, fetchurl, python3Packages }:
 
 with python3Packages;
 
diff --git a/pkgs/tools/misc/kt/default.nix b/pkgs/tools/misc/kt/default.nix
index 8d70b35584e..e4713890ac4 100644
--- a/pkgs/tools/misc/kt/default.nix
+++ b/pkgs/tools/misc/kt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoPackage }:
 
 buildGoPackage rec {
   pname = "kt";
diff --git a/pkgs/tools/misc/lazydocker/default.nix b/pkgs/tools/misc/lazydocker/default.nix
index ea66a04a40d..ed186772ab7 100644
--- a/pkgs/tools/misc/lazydocker/default.nix
+++ b/pkgs/tools/misc/lazydocker/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "lazydocker";
diff --git a/pkgs/tools/misc/lf/default.nix b/pkgs/tools/misc/lf/default.nix
index c3cb3200e06..ec002ae4232 100644
--- a/pkgs/tools/misc/lf/default.nix
+++ b/pkgs/tools/misc/lf/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lf";
-  version = "18";
+  version = "20";
 
   src = fetchFromGitHub {
     owner = "gokcehan";
     repo = "lf";
     rev = "r${version}";
-    sha256 = "1xzy85lz99kwzvpkkaqlylynn57nhn76dff3cxy304d23y3r26w6";
+    sha256 = "056g2g503ppbqqbq5nk90sl8ki1q4fixdc25a6wv15gm1inxrb4b";
   };
 
   vendorSha256 = "12njqs39ympi2mqal1cdn0smp80yzcs8xmca1iih8pbmxv51r2gg";
diff --git a/pkgs/tools/misc/lice/default.nix b/pkgs/tools/misc/lice/default.nix
index f7a8c68ed06..3322196d6ed 100644
--- a/pkgs/tools/misc/lice/default.nix
+++ b/pkgs/tools/misc/lice/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonPackage rec {
 
diff --git a/pkgs/tools/misc/licensor/default.nix b/pkgs/tools/misc/licensor/default.nix
index b7ea30f8d3f..ef708ab9afe 100644
--- a/pkgs/tools/misc/licensor/default.nix
+++ b/pkgs/tools/misc/licensor/default.nix
@@ -1,22 +1,17 @@
-{ lib, rustPlatform, fetchFromGitHub, fetchpatch }:
+{ lib, rustPlatform, fetchFromGitHub }:
 
 rustPlatform.buildRustPackage rec {
   pname = "licensor";
-  version = "2.1.0";
+  version = "unstable-2021-02-03";
 
   src = fetchFromGitHub {
     owner = "raftario";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0zr8hcq7crmhrdhwcclc0nap68wvg5kqn5l93ha0vn9xgjy8z11p";
+    rev = "1897882a708ec6ed65a9569ae0e07d6ea576c652";
+    sha256 = "0x0lkfrj7jka0p6nx6i9syz0bnzya5z9np9cw09zm1c9njv9mm32";
   };
 
-  patches = [ (fetchpatch {
-    url = "https://github.com/raftario/licensor/commit/77ae1ea6d9b6de999ee7590d9dbd3c8465d70bb6.patch";
-    sha256 = "0kfyg06wa2v7swm7hs9kkazjg34mircd4nm4qmljyzjh2yh8icg3";
-  })];
-
-  cargoSha256 = "1z2r8nfizifj8sk1ghppyqk5r65sgmbk47fiq95pnwpadm5drvqa";
+  cargoSha256 = "1yix40351yasg7mjmz7qwvwh1dq292dv47gy2a3bwkzhcn6whyjf";
 
   meta = with lib; {
     description = "Write licenses to stdout";
diff --git a/pkgs/tools/misc/lnch/default.nix b/pkgs/tools/misc/lnch/default.nix
index 377ba05eba6..a9c73652539 100644
--- a/pkgs/tools/misc/lnch/default.nix
+++ b/pkgs/tools/misc/lnch/default.nix
@@ -1,21 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoPackage }:
 
 buildGoPackage rec {
   pname = "lnch";
-  version = "2017-02-16";
+  version = "unstable-2021-02-10";
 
   goPackagePath = "github.com/oem/${pname}";
 
   src = fetchFromGitHub {
     owner = "oem";
     repo = pname;
-    rev = "f24eed5392f01d2c8a9cfe9cdf70dcfbbf4b6b36";
-    sha256 = "0skzrjnbxq1yj7y64cq7angp4wqnrgw1xp9v8vw9zp8f8zwmpy0y";
+    rev = "6ed336dd893afa071178b8ac6f6297d23fc55514";
+    sha256 = "K2TV+mx6C3/REJyDpC6a/Zn/ZZFxkDMC3EnkveH6YNQ=";
   };
 
   meta = with lib; {
     homepage = "https://github.com/oem/lnch";
-    description = "A small go app that launches a process and moves it out of the process group";
-    license = licenses.publicDomain; # really I don't know
+    description = "Launches a process and moves it out of the process group";
+    license = licenses.mit;
+    platforms = with platforms; all;
   };
 }
diff --git a/pkgs/tools/misc/loadlibrary/default.nix b/pkgs/tools/misc/loadlibrary/default.nix
index d469c43418a..e6d19fc6d40 100644
--- a/pkgs/tools/misc/loadlibrary/default.nix
+++ b/pkgs/tools/misc/loadlibrary/default.nix
@@ -5,7 +5,7 @@
 
 stdenv_32bit.mkDerivation rec {
   name = "loadlibrary-${version}";
-  version = "20170525-${stdenv_32bit.lib.strings.substring 0 7 rev}";
+  version = "20170525-${lib.strings.substring 0 7 rev}";
   rev = "721b084c088d779075405b7f20c77c2578e2a961";
   src = fetchFromGitHub {
     inherit rev;
diff --git a/pkgs/tools/misc/lokalise2-cli/default.nix b/pkgs/tools/misc/lokalise2-cli/default.nix
index 1b2fa9bda86..ad1210e9540 100644
--- a/pkgs/tools/misc/lokalise2-cli/default.nix
+++ b/pkgs/tools/misc/lokalise2-cli/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "lokalise2-cli";
-  version = "2.6.2";
+  version = "2.6.3";
 
   src = fetchFromGitHub {
     owner = "lokalise";
     repo = "lokalise-cli-2-go";
     rev = "v${version}";
-    sha256 = "1iizyr6bv17dpv05whcx34498wbrs0q3gn8s50srvdqrdk9hs4gj";
+    sha256 = "sha256-3kDaaPDRbhJyp/CblTKhB0dUeOjroCs3WkjEXL87Od4=";
   };
 
-  vendorSha256 = "17nykcx47h1q55msh43mmf092y5cigarz5486yp6sqp79p6lbjk3";
+  vendorSha256 = "sha256-iWYlbGeLp/SiF8/OyWGIHJQB1RJjma9/EDc3zOsjNG8=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/loop/default.nix b/pkgs/tools/misc/loop/default.nix
index b7bd7678535..0c3e206a9f2 100644
--- a/pkgs/tools/misc/loop/default.nix
+++ b/pkgs/tools/misc/loop/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage {
   pname = "loop";
diff --git a/pkgs/tools/misc/lsd/default.nix b/pkgs/tools/misc/lsd/default.nix
index 239c9651b86..c3c9fab8c1e 100644
--- a/pkgs/tools/misc/lsd/default.nix
+++ b/pkgs/tools/misc/lsd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , nixosTests
 , fetchFromGitHub
 , rustPlatform
diff --git a/pkgs/tools/misc/mc/default.nix b/pkgs/tools/misc/mc/default.nix
index 674b39c51af..d2456a08cbd 100644
--- a/pkgs/tools/misc/mc/default.nix
+++ b/pkgs/tools/misc/mc/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mc";
-  version = "4.8.25";
+  version = "4.8.26";
 
   src = fetchurl {
     url = "https://www.midnight-commander.org/downloads/${pname}-${version}.tar.xz";
-    sha256 = "12jlnabnc91xsm35g99g2wnh96jmznvrhffd18rj7fqfy8brdhgz";
+    sha256 = "sha256-xt6txQWV8tmiLcbCmanyizk+NYNG6/bKREqEadwWbCc=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
       --replace /bin/rm ${coreutils}/bin/rm
   '';
 
-  postFixup = ''
+  preFixup = ''
     # remove unwanted build-dependency references
     sed -i -e "s!PKG_CONFIG_PATH=''${PKG_CONFIG_PATH}!PKG_CONFIG_PATH=$(echo "$PKG_CONFIG_PATH" | sed -e 's/./0/g')!" $out/bin/mc
   '';
diff --git a/pkgs/tools/misc/me_cleaner/default.nix b/pkgs/tools/misc/me_cleaner/default.nix
index 19f43f2c8c5..5335624467d 100644
--- a/pkgs/tools/misc/me_cleaner/default.nix
+++ b/pkgs/tools/misc/me_cleaner/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildPythonPackage, fetchFromGitHub }:
+{ lib, buildPythonPackage, fetchFromGitHub }:
 
 buildPythonPackage rec {
   pname = "me_cleaner";
diff --git a/pkgs/tools/misc/microplane/default.nix b/pkgs/tools/misc/microplane/default.nix
index a0ac411f98e..e6945f05129 100644
--- a/pkgs/tools/misc/microplane/default.nix
+++ b/pkgs/tools/misc/microplane/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "microplane";
-  version = "0.0.25";
+  version = "0.0.26";
 
   src = fetchFromGitHub {
     owner = "Clever";
     repo = "microplane";
     rev = "v${version}";
-    sha256 = "0vynkv3d70q8d079kgdmwbavyyrjssqnd223dl1rikyy7sd5sli8";
+    sha256 = "0dba8cz13ljcsfibcwycd9vb759fzlllh2bv31vgbs2pjgcinzvm";
   };
 
   goPackagePath = "github.com/Clever/microplane";
diff --git a/pkgs/tools/misc/microplane/deps.nix b/pkgs/tools/misc/microplane/deps.nix
index defbd0d573c..2c8266c2dc6 100644
--- a/pkgs/tools/misc/microplane/deps.nix
+++ b/pkgs/tools/misc/microplane/deps.nix
@@ -194,8 +194,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev =  "6e8e738ad208923de99951fe0b48239bfd864f28";
-      sha256 = "1avk27pszd5l5df6ff7j78wgla46ir1hhy2jwfl9a3c0ys602yx9";
+      rev =  "09787c993a3ab68e3d1f5c9b2394ab9433f391be";
+      sha256 = "1nv4mwi9njkkyc7lwmxrjr8ggfh2cf1c67a9bq85dnss81vpj61y";
     };
   }
   {
diff --git a/pkgs/tools/misc/mimeo/default.nix b/pkgs/tools/misc/mimeo/default.nix
index 6c332198fa7..ea79b8d2f0f 100644
--- a/pkgs/tools/misc/mimeo/default.nix
+++ b/pkgs/tools/misc/mimeo/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, desktop-file-utils, file, python3Packages }:
+{ lib, fetchurl, desktop-file-utils, file, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "mimeo";
@@ -25,7 +25,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Open files by MIME-type or file name using regular expressions";
-    homepage = "http://xyne.archlinux.ca/projects/mimeo/";
+    homepage = "https://xyne.archlinux.ca/projects/mimeo/";
     license = [ licenses.gpl2 ];
     maintainers = [ maintainers.rycee ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/mmake/default.nix b/pkgs/tools/misc/mmake/default.nix
index 5dcbcb065ec..564e1989aee 100644
--- a/pkgs/tools/misc/mmake/default.nix
+++ b/pkgs/tools/misc/mmake/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "mmake";
diff --git a/pkgs/tools/misc/mongodb-tools/default.nix b/pkgs/tools/misc/mongodb-tools/default.nix
index 0415955e092..7949a82edc4 100644
--- a/pkgs/tools/misc/mongodb-tools/default.nix
+++ b/pkgs/tools/misc/mongodb-tools/default.nix
@@ -1,5 +1,4 @@
-{ stdenv
-, lib
+{ lib
 , buildGoPackage
 , fetchFromGitHub
 , openssl
diff --git a/pkgs/tools/misc/moreutils/default.nix b/pkgs/tools/misc/moreutils/default.nix
index 5d39cb00b95..ad2d0127ab0 100644
--- a/pkgs/tools/misc/moreutils/default.nix
+++ b/pkgs/tools/misc/moreutils/default.nix
@@ -3,12 +3,12 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = "moreutils";
-  version = "0.63";
+  version = "0.65";
 
   src = fetchgit {
     url = "git://git.joeyh.name/moreutils";
     rev = "refs/tags/${version}";
-    sha256 = "17sszmcdck4w01hgcq7vd25p2iw3yzvjwx1yf20jg85gzs1dplrd";
+    sha256 = "17r80xs756c5vv4ghh901c8abraqqfp7ncagv9ys4il3jngfqbrb";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/misc/mpdscribble/default.nix b/pkgs/tools/misc/mpdscribble/default.nix
index 182e844eb84..fce376bb32e 100644
--- a/pkgs/tools/misc/mpdscribble/default.nix
+++ b/pkgs/tools/misc/mpdscribble/default.nix
@@ -1,22 +1,38 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, boost, libgcrypt, systemd, mpd_clientlib, curl }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, meson
+, ninja
+, boost
+, curl
+, libgcrypt
+, libmpdclient
+, systemd
+}:
 
 stdenv.mkDerivation rec {
   pname = "mpdscribble";
   version = "0.23";
 
   src = fetchurl {
-    url =
-    "https://www.musicpd.org/download/mpdscribble/${version}/mpdscribble-${version}.tar.xz";
+    url = "https://www.musicpd.org/download/mpdscribble/${version}/mpdscribble-${version}.tar.xz";
     sha256 = "0s66zqscb44p88cl3kcv5jkjcqsskcnrv7xgrjhzrchf2kcpwf53";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config ];
-  buildInputs = [ mpd_clientlib curl boost libgcrypt systemd ];
+  nativeBuildInputs = [ pkg-config meson ninja ];
+  buildInputs = [
+    libmpdclient
+    curl
+    boost
+    libgcrypt
+    systemd
+  ];
 
   meta = with lib; {
-    description = "A Music Player Daemon (MPD) client which submits information about tracks being played to a scrobbler (e.g. last.fm)";
+    description = "A MPD client which submits info about tracks being played to a scrobbler";
     homepage = "https://www.musicpd.org/clients/mpdscribble/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = [ maintainers.sohalt ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/misc/mysqltuner/default.nix b/pkgs/tools/misc/mysqltuner/default.nix
index 6297e613122..783f93daab4 100644
--- a/pkgs/tools/misc/mysqltuner/default.nix
+++ b/pkgs/tools/misc/mysqltuner/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mysqltuner";
-  version = "1.7.17";
+  version = "1.7.21";
 
   src = fetchFromGitHub {
     owner  = "major";
     repo   = "MySQLTuner-perl";
     rev    = version;
-    sha256 = "0wjdqraa6r6kd6rsgrn177dq6xsnnr1sgnbs9whknjbs4fn3wwl5";
+    sha256 = "sha256-Yv1XjD8sZcmGr2SVD6TEElUH7vspJ61WwQwfXLOrao0=";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/misc/nagstamon/default.nix b/pkgs/tools/misc/nagstamon/default.nix
index 3bd297628b2..e9f76dbf22d 100644
--- a/pkgs/tools/misc/nagstamon/default.nix
+++ b/pkgs/tools/misc/nagstamon/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pythonPackages }:
+{ lib, fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
   pname = "nagstamon";
diff --git a/pkgs/tools/misc/noteshrink/default.nix b/pkgs/tools/misc/noteshrink/default.nix
index 2d6f23de468..67c49c3ad0d 100644
--- a/pkgs/tools/misc/noteshrink/default.nix
+++ b/pkgs/tools/misc/noteshrink/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3, imagemagick }:
+{ lib, fetchFromGitHub, python3, imagemagick }:
 
 with python3.pkgs;
 
diff --git a/pkgs/tools/misc/ntfy/default.nix b/pkgs/tools/misc/ntfy/default.nix
index 9f28d99ba0f..23d4fd57f62 100644
--- a/pkgs/tools/misc/ntfy/default.nix
+++ b/pkgs/tools/misc/ntfy/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
 python3Packages.buildPythonApplication rec {
   pname = "ntfy";
diff --git a/pkgs/tools/misc/onefetch/default.nix b/pkgs/tools/misc/onefetch/default.nix
index 12cd9990779..5dab2044973 100644
--- a/pkgs/tools/misc/onefetch/default.nix
+++ b/pkgs/tools/misc/onefetch/default.nix
@@ -14,8 +14,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-TqWe4eARQmmWcwnvb6BIZrzGeKMpiIObPv0cW1JvWj4=";
 
-  buildInputs = with stdenv;
-    lib.optionals isDarwin [ CoreFoundation libiconv libresolv Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreFoundation libiconv libresolv Security ];
 
   meta = with lib; {
     description = "Git repository summary on your terminal";
diff --git a/pkgs/tools/misc/opentsdb/default.nix b/pkgs/tools/misc/opentsdb/default.nix
index d1fd243467d..168eda1cf3d 100644
--- a/pkgs/tools/misc/opentsdb/default.nix
+++ b/pkgs/tools/misc/opentsdb/default.nix
@@ -32,5 +32,8 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21Plus;
     platforms = lib.platforms.linux;
     maintainers = [ ];
+    knownVulnerabilities = [
+      "CVE-2020-35476" # https://github.com/OpenTSDB/opentsdb/issues/2051
+    ];
   };
 }
diff --git a/pkgs/tools/misc/oppai-ng/default.nix b/pkgs/tools/misc/oppai-ng/default.nix
index 922ef65be24..ef464e7b755 100644
--- a/pkgs/tools/misc/oppai-ng/default.nix
+++ b/pkgs/tools/misc/oppai-ng/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "oppai-ng";
-  version = "3.3.0";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "Francesco149";
     repo = pname;
     rev = version;
-    sha256 = "0ymprwyv92pr58851wzryymhfznnpwcbg4m1yri0c9cyzvabwmfk";
+    sha256 = "sha256-fUtyQaHcNBmDs1BPbFGieKY/CFyETqBxYzzIXSERFJY=";
   };
 
   buildPhase = ''
diff --git a/pkgs/tools/misc/os-prober/default.nix b/pkgs/tools/misc/os-prober/default.nix
index f991b1bc26d..07279400fc4 100644
--- a/pkgs/tools/misc/os-prober/default.nix
+++ b/pkgs/tools/misc/os-prober/default.nix
@@ -11,14 +11,14 @@ lvm2        # lvs
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.77";
+  version = "1.78";
   pname = "os-prober";
   src = fetchFromGitLab {
     domain = "salsa.debian.org";
     owner = "installer-team";
     repo = pname;
     rev = version;
-    sha256 = "05sji756xdl67pp2sf7rk0ih9h6f6kgk9nvxlyv1bzbmcizlh2d2";
+    sha256 = "sha256-mfv1b40n/opXdyj6IXWVf/32sWlS+/DbXIRwE1zX4KM=";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/osinfo-db-tools/default.nix b/pkgs/tools/misc/osinfo-db-tools/default.nix
index e7a5d38a916..cb3e8bd057a 100644
--- a/pkgs/tools/misc/osinfo-db-tools/default.nix
+++ b/pkgs/tools/misc/osinfo-db-tools/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db-tools";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
-    sha256 = "038q3gzdbkfkhpicj0755mw1q4gbvn57pslpw8n2dp3lds9im0g9";
+    sha256 = "sha256-JV8ch4us7HDDAg/1qcsPa9hhygAJ8kYI31729i1SQ8A=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config gettext perl python3 ];
diff --git a/pkgs/tools/misc/osm2pgsql/default.nix b/pkgs/tools/misc/osm2pgsql/default.nix
index b3f4971a55a..a6b8d01dd46 100644
--- a/pkgs/tools/misc/osm2pgsql/default.nix
+++ b/pkgs/tools/misc/osm2pgsql/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osm2pgsql";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = pname;
     rev = version;
-    sha256 = "1if76vw9jkc9jn4v0vvgwnpscjckk2cap93a8iqah8mqzx233y8s";
+    sha256 = "0ld43k7xx395hd6kcn8wyacvb1cfjy670lh9w6yhfi78nxqj9mmy";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/misc/pcb2gcode/default.nix b/pkgs/tools/misc/pcb2gcode/default.nix
new file mode 100644
index 00000000000..0b300b079db
--- /dev/null
+++ b/pkgs/tools/misc/pcb2gcode/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, boost
+, glibmm
+, gtkmm2
+, gerbv
+, librsvg
+, bash
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pcb2gcode";
+  version = "2.2.2";
+
+  src = fetchFromGitHub {
+    owner = "pcb2gcode";
+    repo = "pcb2gcode";
+    rev = "v${version}";
+    sha256 = "sha256-GSLWpLp/InAxVolKmBIjljpe3ZzmS/87TWKwzax5SkY=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+
+  buildInputs = [ boost glibmm gtkmm2 gerbv librsvg ];
+
+  postPatch = ''
+    substituteInPlace ./Makefile.am \
+    --replace '`git describe --dirty --always --tags`' '${version}'
+  '';
+
+  meta = with lib; {
+    description = "Command-line tool for isolation, routing and drilling of PCBs ";
+    longDescription = ''
+      pcb2gcode is a command-line software for the isolation, routing and drilling of PCBs.
+      It takes Gerber files as input and it outputs gcode files, suitable for the milling of PCBs.
+      It also includes an Autoleveller, useful for the automatic dynamic calibration of the milling depth.
+    '';
+    homepage = "https://github.com/pcb2gcode/pcb2gcode";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ kritnich ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/pdd/default.nix b/pkgs/tools/misc/pdd/default.nix
index b339f94deb1..916f15c94c6 100644
--- a/pkgs/tools/misc/pdd/default.nix
+++ b/pkgs/tools/misc/pdd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildPythonApplication, dateutil }:
+{ lib, fetchFromGitHub, buildPythonApplication, dateutil }:
 
 buildPythonApplication rec {
   pname = "pdd";
diff --git a/pkgs/tools/misc/pdf-parser/default.nix b/pkgs/tools/misc/pdf-parser/default.nix
index ceb8b4d68d9..f4572d0e5bc 100644
--- a/pkgs/tools/misc/pdf-parser/default.nix
+++ b/pkgs/tools/misc/pdf-parser/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages, fetchzip }:
+{ lib, python3Packages, fetchzip }:
 
 python3Packages.buildPythonApplication {
   pname = "pdf-parser";
diff --git a/pkgs/tools/misc/pgcenter/default.nix b/pkgs/tools/misc/pgcenter/default.nix
index 5a59e3030e6..970a5bc8265 100644
--- a/pkgs/tools/misc/pgcenter/default.nix
+++ b/pkgs/tools/misc/pgcenter/default.nix
@@ -1,17 +1,25 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "pgcenter";
-  version = "0.6.6";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner  = "lesovsky";
     repo   = "pgcenter";
     rev    = "v${version}";
-    sha256 = "1axwsclssxsg38ppdmd4v1lbs87ksrwj5z76ckjk8jjfni1xp9sr";
+    sha256 = "sha256-W/UUc0qwOvLSXYWepkCydst113BqR9EsZK0Es+6HSt8=";
   };
 
-  vendorSha256 = "1mzvpr12qh9668iz97p62zl4zhlrcyfgwr4a9zg9irj585pkb5x2";
+  vendorSha256 = "sha256-9hYiyZ34atmSL7JvuXyiGU7HR4E6qN7bGZlyU+hP+FU=";
+
+  subPackages = [ "cmd" ];
+
+  buildFlagsArray = [ "-ldflags=-w -s -X main.gitTag=${src.rev} -X main.gitCommit=${src.rev} -X main.gitBranch=master" ];
+
+  postInstall = ''
+    mv $out/bin/cmd $out/bin/pgcenter
+  '';
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/pgmetrics/default.nix b/pkgs/tools/misc/pgmetrics/default.nix
index 70429ef811a..54e7093747b 100644
--- a/pkgs/tools/misc/pgmetrics/default.nix
+++ b/pkgs/tools/misc/pgmetrics/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "pgmetrics";
diff --git a/pkgs/tools/misc/phoronix-test-suite/default.nix b/pkgs/tools/misc/phoronix-test-suite/default.nix
index da69d5a8b93..348670c3bb1 100644
--- a/pkgs/tools/misc/phoronix-test-suite/default.nix
+++ b/pkgs/tools/misc/phoronix-test-suite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "phoronix-test-suite";
-  version = "10.2.0";
+  version = "10.2.1";
 
   src = fetchurl {
     url = "https://phoronix-test-suite.com/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-eoKHgbSyOEkwzki5wWuZlOAmZljxOMXcztA/g8TtutQ=";
+    sha256 = "sha256-2HB4TPbyG+cTY6O1k0tRPrnKyg41SYnVM919Hii3gpg=";
   };
 
   buildInputs = [ php ];
diff --git a/pkgs/tools/misc/phraseapp-client/default.nix b/pkgs/tools/misc/phraseapp-client/default.nix
index 27c486f4bea..12b11cf20d0 100644
--- a/pkgs/tools/misc/phraseapp-client/default.nix
+++ b/pkgs/tools/misc/phraseapp-client/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "phraseapp-client";
diff --git a/pkgs/tools/misc/pistol/default.nix b/pkgs/tools/misc/pistol/default.nix
index 874bbdbaf70..6eec45db011 100644
--- a/pkgs/tools/misc/pistol/default.nix
+++ b/pkgs/tools/misc/pistol/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , buildGoModule
 , fetchFromGitHub
 , file
diff --git a/pkgs/tools/misc/piston-cli/default.nix b/pkgs/tools/misc/piston-cli/default.nix
new file mode 100644
index 00000000000..67a5a98173f
--- /dev/null
+++ b/pkgs/tools/misc/piston-cli/default.nix
@@ -0,0 +1,24 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "piston-cli";
+  version = "1.2.1";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "bf0hhKb+6+07HhrkFrsWCnUQfsQWOdK/dPTlt9iZTno=";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ rich prompt_toolkit requests pygments ];
+
+  checkPhase = ''
+    $out/bin/piston --help > /dev/null
+  '';
+
+  meta = with lib; {
+    description = "Piston api tool";
+    homepage = "https://github.com/Shivansh-007/piston-cli";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ethancedwards8 ];
+  };
+}
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 0bc6e73fe4f..eb267e6007a 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2020.26";
+  version = "1.2021.1";
   pname = "plantuml";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "1k8gad75qvqljg61db76z7blnniwk9l56xy0fkrqhh48p1gxakah";
+    sha256 = "sha256-FOM+hao1lx6EJMccbhLzvVVmCR3F/igHTGN1vhhdmdQ=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/powerline-go/default.nix b/pkgs/tools/misc/powerline-go/default.nix
index 2b46e25c67e..a4ee216288f 100644
--- a/pkgs/tools/misc/powerline-go/default.nix
+++ b/pkgs/tools/misc/powerline-go/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "powerline-go";
-  version = "1.18.0";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "justjanne";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dni842xzc8r6wbdfax25940jvxp69zk8xklczkjmyxqawvsxnjh";
+    sha256 = "sha256-Pge57OXNE0MY2rlspVsqxdoe1r/XWjrq/q9ygdns2c8=";
   };
 
-  vendorSha256 = "0dkgp9vlb76la0j439w0rb548qg5v8648zryk3rqgfhd4qywlk11";
+  vendorSha256 = "sha256-HYF6aKz+P241EKmupEoretadlrh9FBRx6nIER66jofg=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/pubs/default.nix b/pkgs/tools/misc/pubs/default.nix
index 82e7659d152..be5fd6d499c 100644
--- a/pkgs/tools/misc/pubs/default.nix
+++ b/pkgs/tools/misc/pubs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, python3Packages }:
+{ lib, fetchFromGitHub, fetchpatch, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "pubs";
diff --git a/pkgs/tools/misc/rargs/default.nix b/pkgs/tools/misc/rargs/default.nix
index 834a62803f6..dc07e3dd4f4 100644
--- a/pkgs/tools/misc/rargs/default.nix
+++ b/pkgs/tools/misc/rargs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub }:
+{ lib, rustPlatform, fetchFromGitHub }:
 
 rustPlatform.buildRustPackage rec {
   pname   = "rargs";
diff --git a/pkgs/tools/misc/rauc/default.nix b/pkgs/tools/misc/rauc/default.nix
index c5f84601a6d..663768c1507 100644
--- a/pkgs/tools/misc/rauc/default.nix
+++ b/pkgs/tools/misc/rauc/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rauc";
-  version = "1.5";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "10v9nllfw5y53797p00hk6645zkaa6cacsim1rh6y2jngnqfkmw0";
+    sha256 = "sha256-AIizbD2jaZ5SY0K/hwpHdGE20KEhWC53LWUiVYs9Oiw=";
   };
 
   passthru = {
diff --git a/pkgs/tools/misc/rename/default.nix b/pkgs/tools/misc/rename/default.nix
index 63ceca8d934..a9f42d1139e 100644
--- a/pkgs/tools/misc/rename/default.nix
+++ b/pkgs/tools/misc/rename/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, perlPackages }:
+{ lib, fetchFromGitHub, perlPackages }:
 
 perlPackages.buildPerlPackage {
   pname = "rename";
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix
index 9d95085296f..0e094a4b2ad 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 = "2020.8";
+  version = "2021.1";
 
   outputs = [ "out" "dev" "man" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/coreos/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "1iyl6bjkj3drlwds579bh25xcmlwj9lkkbdmcdanq5b3shbmpyhi";
+    sha256 = "sha256-1GpM7IW27MgbXG6iVo5qnWaotwN1GgcXf7dFGRF8s0w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/sfeed/default.nix b/pkgs/tools/misc/sfeed/default.nix
index 6f205db432f..57e49c88745 100644
--- a/pkgs/tools/misc/sfeed/default.nix
+++ b/pkgs/tools/misc/sfeed/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "sfeed";
-  version = "0.9.20";
+  version = "0.9.21";
 
   src = fetchgit {
     url = "git://git.codemadness.org/sfeed";
     rev = version;
-    sha256 = "17bs31wns71fx7s06rdzqkghkgv86r9d9i3814rznyzi9484c7aq";
+    sha256 = "010wasp6hcnwbf0d3gaxmjpkvr85zyv2xxz2pnkwxyk2bbr1h6q8";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/misc/shelldap/default.nix b/pkgs/tools/misc/shelldap/default.nix
index 41e4207d6c9..18c5aea3dfd 100644
--- a/pkgs/tools/misc/shelldap/default.nix
+++ b/pkgs/tools/misc/shelldap/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, perlPackages }:
+{ lib, fetchurl, perlPackages }:
 perlPackages.buildPerlPackage rec {
   pname = "shelldap";
   version = "1.4.0";
diff --git a/pkgs/tools/misc/smenu/default.nix b/pkgs/tools/misc/smenu/default.nix
index 5da7f19b060..1d1ed78b2fa 100644
--- a/pkgs/tools/misc/smenu/default.nix
+++ b/pkgs/tools/misc/smenu/default.nix
@@ -1,29 +1,28 @@
 { lib, stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.16";
+  version = "0.9.17";
   pname = "smenu";
 
   src = fetchFromGitHub {
-    owner  = "p-gen";
-    repo   = "smenu";
-    rev    = "v${version}";
-    sha256 = "1vlsrc071fznqnz67jbhrc4pcfwzc737lwd9jxpnidn0i08py5p2";
+    owner = "p-gen";
+    repo = "smenu";
+    rev = "v${version}";
+    sha256 = "1p8y1fgrfb7jxmv5ycvvnqaz7ghdi50paisgzk71169fqwp1crfa";
   };
 
   buildInputs = [ ncurses ];
 
   meta = with lib; {
-    homepage        = "https://github.com/p-gen/smenu";
-    description     = "Terminal selection utility";
+    homepage = "https://github.com/p-gen/smenu";
+    description = "Terminal selection utility";
     longDescription = ''
       Terminal utility that allows you to use words coming from the standard
       input to create a nice selection window just below the cursor. Once done,
       your selection will be sent to standard output.
     '';
-    license     = licenses.gpl2;
-    maintainers = [ maintainers.matthiasbeyer ];
-    platforms   = platforms.unix;
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ matthiasbeyer SuperSandro2000 ];
+    platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 5dfe76d7ebb..03f24c16aab 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Tool for Linux filesystem snapshot management";
     homepage = "http://snapper.io";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ tstrobel markuskowa ];
   };
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 0089a551f0f..a3543c433ae 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , rustPlatform
 , pkg-config
@@ -10,13 +11,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.48.0";
+  version = "0.50.0";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1p37cfkcpqv74gp7g099alkqxanfc002kaq1cim6zkinx50gxjxw";
+    sha256 = "1bnnqrxsmp3z2qksd8h4lfbq4kxxy1cg4yynadz66lxyzabv2v21";
   };
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
@@ -31,18 +32,11 @@ rustPlatform.buildRustPackage rec {
     done
   '';
 
-  cargoSha256 = "02djpwvwrrp7f0ifiypx1cr1v4bkqxrhqfhy0abfjszza95fjasv";
-
-  checkFlags = [
-    "--skip=directory_in_home"
-    "--skip=home_directory"
-    "--skip=directory_in_root"
-    "--skip=truncation_symbol_not_truncated_home"
-    "--skip=truncation_symbol_truncated_home"
-    "--skip=folder_with_glide_yaml"
-    "--skip=shows_multiple_tfms"
-    "--skip=shows_pinned_in_project_below_root_with_global_json"
-  ];
+  cargoSha256 = "0plk47i2xrn3x5yr3gw3pq74maqf4krb8d6i4sf8gil4mnpcgxir";
+
+  preCheck = ''
+    HOME=$TMPDIR
+  '';
 
   meta = with lib; {
     description = "A minimal, blazing fast, and extremely customizable prompt for any shell";
diff --git a/pkgs/tools/misc/staruml/default.nix b/pkgs/tools/misc/staruml/default.nix
index b6a78f85a35..db3a065fdf4 100644
--- a/pkgs/tools/misc/staruml/default.nix
+++ b/pkgs/tools/misc/staruml/default.nix
@@ -4,7 +4,6 @@
 , libXdamage, expat }:
 
 let
-  inherit (stdenv) lib;
   LD_LIBRARY_PATH = lib.makeLibraryPath
     [ glib gtk2 gdk-pixbuf alsaLib nss nspr GConf cups libgcrypt dbus libXdamage expat ];
 in
diff --git a/pkgs/tools/misc/swaglyrics/default.nix b/pkgs/tools/misc/swaglyrics/default.nix
index c24b12f9539..4bc5c28b559 100644
--- a/pkgs/tools/misc/swaglyrics/default.nix
+++ b/pkgs/tools/misc/swaglyrics/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, python3, fetchFromGitHub, ncurses }:
+{ lib, python3, fetchFromGitHub, ncurses }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "swaglyrics";
diff --git a/pkgs/tools/misc/systrayhelper/default.nix b/pkgs/tools/misc/systrayhelper/default.nix
index e898ded8154..03d8e58f8b0 100644
--- a/pkgs/tools/misc/systrayhelper/default.nix
+++ b/pkgs/tools/misc/systrayhelper/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, pkg-config, libappindicator-gtk3, buildGoPackage, fetchFromGitHub }:
+{ lib, pkg-config, libappindicator-gtk3, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "systrayhelper";
diff --git a/pkgs/tools/misc/tagref/default.nix b/pkgs/tools/misc/tagref/default.nix
index 43a91eaca52..ba63ec290d4 100644
--- a/pkgs/tools/misc/tagref/default.nix
+++ b/pkgs/tools/misc/tagref/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform }:
 rustPlatform.buildRustPackage rec {
   pname = "tagref";
   version = "1.4.1";
diff --git a/pkgs/tools/misc/tensorman/default.nix b/pkgs/tools/misc/tensorman/default.nix
index 84bfdc55d7f..0e724059e99 100644
--- a/pkgs/tools/misc/tensorman/default.nix
+++ b/pkgs/tools/misc/tensorman/default.nix
@@ -1,4 +1,4 @@
-{ pkg-config, lib, stdenv, rustPlatform, rustc, cargo, docker, openssl, fetchFromGitHub }:
+{ pkg-config, lib, rustPlatform, rustc, cargo, docker, openssl, fetchFromGitHub }:
 
 rustPlatform.buildRustPackage rec {
   pname = "tensorman";
diff --git a/pkgs/tools/misc/tewisay/default.nix b/pkgs/tools/misc/tewisay/default.nix
index 0e07f3e53f3..3434ac110b3 100644
--- a/pkgs/tools/misc/tewisay/default.nix
+++ b/pkgs/tools/misc/tewisay/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub, makeWrapper }:
+{ lib, buildGoPackage, fetchFromGitHub, makeWrapper }:
 
 buildGoPackage rec {
   pname = "tewisay-unstable";
diff --git a/pkgs/tools/misc/thefuck/default.nix b/pkgs/tools/misc/thefuck/default.nix
index bf87505ab13..ff6a22cef8e 100644
--- a/pkgs/tools/misc/thefuck/default.nix
+++ b/pkgs/tools/misc/thefuck/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, buildPythonApplication
+{ lib, fetchFromGitHub, buildPythonApplication
 , colorama, decorator, psutil, pyte, six
-, pytest, pytest-mock
+, go, mock, pytestCheckHook, pytest-mock
 }:
 
 buildPythonApplication rec {
@@ -16,22 +16,12 @@ buildPythonApplication rec {
 
   propagatedBuildInputs = [ colorama decorator psutil pyte six ];
 
-  checkInputs = [ pytest pytest-mock ];
-
-  checkPhase = ''
-    export HOME=$TMPDIR
-    export LANG=en_US.UTF-8
-    export XDG_CACHE_HOME=$TMPDIR/cache
-    export XDG_CONFIG_HOME=$TMPDIR/config
-    py.test
-  '';
-
-  doCheck = false; # The above is only enough for tests to pass outside the sandbox.
+  checkInputs = [ go mock pytestCheckHook pytest-mock ];
 
   meta = with lib; {
     homepage = "https://github.com/nvbn/thefuck";
     description = "Magnificent app which corrects your previous console command";
     license = licenses.mit;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ma27 SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/tmux-mem-cpu-load/default.nix b/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
new file mode 100644
index 00000000000..2f9f436a149
--- /dev/null
+++ b/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "tmux-mem-cpu-load";
+  version = "3.4.0";
+
+  src = fetchFromGitHub {
+    owner = "thewtex";
+    repo = "tmux-mem-cpu-load";
+    rev = "v${version}";
+    sha256 = "1ybj513l4953jhayrzb47dlh4yv9bkvs0q1lfvky17v9fdkxgn2j";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "CPU, RAM, and load monitor for use with tmux";
+    homepage = https://github.com/thewtex/tmux-mem-cpu-load;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ thomasjm ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index 940ae130c84..57d320fd790 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python }:
+{ lib, python }:
 
 with python.pkgs;
 
diff --git a/pkgs/tools/misc/togglesg-download/default.nix b/pkgs/tools/misc/togglesg-download/default.nix
index c4d8b20ffdd..812ad7900d0 100644
--- a/pkgs/tools/misc/togglesg-download/default.nix
+++ b/pkgs/tools/misc/togglesg-download/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, pythonPackages, makeWrapper, ffmpeg_3 }:
+{ lib, fetchFromGitHub, pythonPackages, makeWrapper, ffmpeg_3 }:
 
 pythonPackages.buildPythonApplication {
 
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
index 6a21bc56789..b511e93095b 100644
--- a/pkgs/tools/misc/topgrade/default.nix
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "6.0.2";
+  version = "6.5.0";
 
   src = fetchFromGitHub {
     owner = "r-darwish";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pqf7rs9b8j54rwg8i8alvf65c4jfp5q2hv3yr60aiidfjrawp34";
+    sha256 = "sha256-O2k9eUs+aopwtT/DXYIv9pc9z8W4K6cXUE6diqNDTrg=";
   };
 
-  cargoSha256 = "1wh7xywp92h3in9a2nr6sia6l3852kw4s688sr1c2wjdf2i58lsg";
+  cargoSha256 = "1yjhphw680cf93lgknksa67k0w0rhq6s3jinyn649wd71gbc5656";
 
   buildInputs = lib.optional stdenv.isDarwin Foundation;
 
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Upgrade all the things";
     homepage = "https://github.com/r-darwish/topgrade";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ Br1ght0ne hugoreeves ];
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ Br1ght0ne hugoreeves SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix
index 1da49a153b8..d199fd7fda3 100644
--- a/pkgs/tools/misc/trash-cli/default.nix
+++ b/pkgs/tools/misc/trash-cli/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "trash-cli";
diff --git a/pkgs/tools/misc/trillian/default.nix b/pkgs/tools/misc/trillian/default.nix
index 07b4d834978..8a96248e718 100644
--- a/pkgs/tools/misc/trillian/default.nix
+++ b/pkgs/tools/misc/trillian/default.nix
@@ -1,15 +1,11 @@
-{ stdenv
-, lib
+{ lib
 , buildGoModule
 , fetchFromGitHub
 }:
-let
+
+buildGoModule rec {
   pname = "trillian";
   version = "1.3.11";
-
-in
-buildGoModule {
-  inherit pname version;
   vendorSha256 = "0zxp1gjzcc3z6vkpc2bchbs1shwm1b28ks0jh4gf6zxpp4361j4l";
 
   src = fetchFromGitHub {
@@ -34,10 +30,10 @@ buildGoModule {
     "cmd/updatetree"
   ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://github.com/google/trillian";
     description = "A transparent, highly scalable and cryptographically verifiable data store.";
-    license = [ lib.licenses.asl20 ];
-    maintainers = [ lib.maintainers.adisbladis ];
+    license = [ licenses.asl20 ];
+    maintainers = [ maintainers.adisbladis ];
   };
 }
diff --git a/pkgs/tools/misc/ttwatch/default.nix b/pkgs/tools/misc/ttwatch/default.nix
index 5e541345410..ecfc40bdf6f 100644
--- a/pkgs/tools/misc/ttwatch/default.nix
+++ b/pkgs/tools/misc/ttwatch/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation {
   pname = "ttwatch";
-  version = "2020-02-05";
+  version = "2020-06-24";
 
   src = fetchFromGitHub {
     owner = "ryanbinns";
     repo = "ttwatch";
-    rev = "bfdf1372515574e1fb3871dc1039f8d8a5dbdada";
-    sha256 = "07nd4dbkchxy8js1h1f6pzn63pls2afww97wyiiw6zid43mpqyg4";
+    rev = "260aff5869fd577d788d86b546399353d9ff72c1";
+    sha256 = "0yd2hs9d03gfvwm1vywpg2qga6x5c74zrj665wf9aa8gmn96hv8r";
   };
 
   nativeBuildInputs = [ cmake perl pkg-config ];
diff --git a/pkgs/tools/misc/tydra/default.nix b/pkgs/tools/misc/tydra/default.nix
index 6714ee489f5..00c8aa2a2c3 100644
--- a/pkgs/tools/misc/tydra/default.nix
+++ b/pkgs/tools/misc/tydra/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, installShellFiles }:
+{ lib, rustPlatform, fetchFromGitHub, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "tydra";
diff --git a/pkgs/tools/misc/uhubctl/default.nix b/pkgs/tools/misc/uhubctl/default.nix
index bd7e956bb1c..c1dfae68050 100644
--- a/pkgs/tools/misc/uhubctl/default.nix
+++ b/pkgs/tools/misc/uhubctl/default.nix
@@ -1,22 +1,24 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , libusb1
 }:
 
 stdenv.mkDerivation rec {
   pname = "uhubctl";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "mvp";
     repo = "uhubctl";
-    rev = "refs/tags/v${version}";
-    sha256 = "0pimhw2a2wfg7nh1ahsxmzkb0j6bbncwdqsvyp8l23zhs5kx7wm9";
+    rev = "v${version}";
+    sha256 = "1wxsiygw6gwv1h90yassnxylkyi2dfz7y59qkmb7rs8a8javj7nv";
   };
 
   buildInputs = [ libusb1 ];
 
   installFlags = [ "prefix=${placeholder "out"}" ];
+
   meta = with lib; {
     homepage = "https://github.com/mvp/uhubctl";
     description = "Utility to control USB power per-port on smart USB hubs";
diff --git a/pkgs/tools/misc/unicode/default.nix b/pkgs/tools/misc/unicode/default.nix
index c8e1a0f7ca4..a2bc615ed86 100644
--- a/pkgs/tools/misc/unicode/default.nix
+++ b/pkgs/tools/misc/unicode/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, python3Packages, installShellFiles }:
+{ lib, fetchFromGitHub, fetchurl, python3Packages, installShellFiles }:
 
 python3Packages.buildPythonApplication rec {
   pname = "unicode";
diff --git a/pkgs/tools/misc/upower-notify/default.nix b/pkgs/tools/misc/upower-notify/default.nix
index ddc0fa42c69..79460f3a5b7 100644
--- a/pkgs/tools/misc/upower-notify/default.nix
+++ b/pkgs/tools/misc/upower-notify/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchgit }:
+{ lib, buildGoPackage, fetchgit }:
 
 # To use upower-notify, the maintainer suggests adding something like this to your configuration.nix:
 #
diff --git a/pkgs/tools/misc/upterm/default.nix b/pkgs/tools/misc/upterm/default.nix
new file mode 100644
index 00000000000..533ef192e8d
--- /dev/null
+++ b/pkgs/tools/misc/upterm/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles }:
+
+buildGoModule rec {
+  pname = "upterm";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "owenthereal";
+    repo = "upterm";
+    rev = "v${version}";
+    sha256 = "007hgkkn1cq1i0rkn45i3bz5q9irzm67cz0j5glr6f6d4s0nkjiq";
+  };
+
+  vendorSha256 = null;
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    $out/bin/gendoc
+    rm $out/bin/gendoc
+    installManPage etc/man/man*/*
+    installShellCompletion --bash --name upterm.bash etc/completion/upterm.bash_completion.sh
+    installShellCompletion --zsh --name _upterm etc/completion/upterm.zsh_completion
+  '';
+
+  doCheck = true;
+
+  __darwinAllowLocalNetworking = true;
+
+  meta = with lib; {
+    description = "Secure terminal-session sharing";
+    homepage = "https://upterm.dev";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ hax404 ];
+  };
+}
diff --git a/pkgs/tools/misc/uutils-coreutils/default.nix b/pkgs/tools/misc/uutils-coreutils/default.nix
index f18deb0c83d..44871b07a8e 100644
--- a/pkgs/tools/misc/uutils-coreutils/default.nix
+++ b/pkgs/tools/misc/uutils-coreutils/default.nix
@@ -1,20 +1,21 @@
 { stdenv, fetchFromGitHub, rustPlatform, cargo, cmake, sphinx, lib, prefix ? "uutils-"
 , Security
 }:
+rustPlatform.buildRustPackage rec {
+  pname = "uutils-coreutils";
+  version = "0.0.3";
 
-rustPlatform.buildRustPackage {
-  name = "uutils-coreutils-2019-05-03";
   src = fetchFromGitHub {
     owner = "uutils";
     repo = "coreutils";
-    rev = "036dd812958ace22d973acf7b370f58072049dac";
-    sha256 = "0d9w3iiphhsk7l5l34682wayp90rgq5a3d94l3qdvhcqkfmpg727";
+    rev = version;
+    sha256 = "QWiEHk8aciiwQeyNgrr0M0c1EeAgE3gSqw0ly/YTwTQ=";
   };
 
   # too many impure/platform-dependent tests
   doCheck = false;
 
-  cargoSha256 = "186hwzdpy7j0gw7491qx02vy4di5md47hipf1xxi1qccvmcfghwh";
+  cargoSha256 = "m2a7WNkF5TxjJlytjdoQ/JZIF9gp9qBkH+UU/NVRJzA=";
 
   makeFlags =
     [ "CARGO=${cargo}/bin/cargo" "PREFIX=$(out)" "PROFILE=release" "INSTALLDIR_MAN=$(out)/share/man/man1" ]
@@ -34,7 +35,7 @@ rustPlatform.buildRustPackage {
       CLI utils in Rust. This repo is to aggregate the GNU coreutils rewrites.
     '';
     homepage = "https://github.com/uutils/coreutils";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ siraben ];
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/misc/venus/default.nix b/pkgs/tools/misc/venus/default.nix
deleted file mode 100644
index 28c4508525e..00000000000
--- a/pkgs/tools/misc/venus/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, python, pythonPackages, libxslt, libxml2, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "venus";
-  version = "unstable-2011-02-18";
-
-  src = fetchFromGitHub {
-    owner = "rubys";
-    repo = "venus";
-    rev = "9de21094a8cf565bdfcf75688e121a5ad1f5397b";
-    sha256 = "10yyx4jaxxbwhica12aiw119aywghcr7b24gs9lrmafpa6xd3an2";
-  };
-
-  preConfigure = ''
-    substituteInPlace tests/test_spider.py \
-        --replace "urllib.urlopen('http://127.0.0.1:%d/' % _PORT).read()" "" \
-        --replace "[200,200,200,200,404]" "[200,200,200,404]"
-    substituteInPlace planet.py \
-        --replace "#!/usr/bin/env python" "#!${python}/bin/python"
-    substituteInPlace tests/test_apply.py \
-        --replace "'xsltproc" "'${libxslt.bin}/bin/xsltproc"
-    substituteInPlace planet/shell/xslt.py \
-        --replace "'xsltproc" "'${libxslt.bin}/bin/xsltproc"
-  '';
-
-  doCheck = true;
-  checkPhase = "python runtests.py";
-
-  buildInputs = [ python libxslt
-    libxml2 pythonPackages.genshi pythonPackages.lxml makeWrapper ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp -R ./* $out/
-    ln -s $out/planet.py $out/bin/venus-planet
-    wrapProgram $out/planet.py \
-        --prefix PYTHONPATH : $PYTHONPATH:${pythonPackages.lxml}/lib/${python.libPrefix}/site-packages:${pythonPackages.genshi}/lib/${python.libPrefix}/site-packages
-    python runtests.py
-  '';
-
-  meta = {
-    description = "News feed reader";
-    longDescription = ''
-      Planet Venus is an awesome ‘river of news’ feed reader. It downloads news
-      feeds published by web sites and aggregates their content together into a
-      single combined feed, latest news first.
-    '';
-    homepage = "http://intertwingly.net/code/venus/docs/index.html";
-    license = lib.licenses.psfl;
-    platforms = lib.platforms.all;
-    maintainers = [];
-  };
-}
diff --git a/pkgs/tools/misc/vimwiki-markdown/default.nix b/pkgs/tools/misc/vimwiki-markdown/default.nix
index c1b1fce7abd..18adf99b9c9 100644
--- a/pkgs/tools/misc/vimwiki-markdown/default.nix
+++ b/pkgs/tools/misc/vimwiki-markdown/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , buildPythonApplication
 , fetchPypi
 , markdown
diff --git a/pkgs/tools/misc/vivid/default.nix b/pkgs/tools/misc/vivid/default.nix
index dad352cc657..e131d8bd4e7 100644
--- a/pkgs/tools/misc/vivid/default.nix
+++ b/pkgs/tools/misc/vivid/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
   pname = "vivid";
diff --git a/pkgs/tools/misc/void/default.nix b/pkgs/tools/misc/void/default.nix
index e6d36155732..18699e5911d 100644
--- a/pkgs/tools/misc/void/default.nix
+++ b/pkgs/tools/misc/void/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
   pname = "void";
diff --git a/pkgs/tools/misc/vsh/default.nix b/pkgs/tools/misc/vsh/default.nix
index 1ad9ddd4deb..f3eb1f9ad8e 100644
--- a/pkgs/tools/misc/vsh/default.nix
+++ b/pkgs/tools/misc/vsh/default.nix
@@ -2,17 +2,21 @@
 
 buildGoModule rec {
   pname = "vsh";
-  version = "0.7.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "fishi0x01";
     repo = "vsh";
     rev = "v${version}";
-    sha256 = "0k9bbfzqhijzimng8plk2xx9h37h7d2wj8g3plvvs3wrf7pmwxs7";
+    sha256 = "1f6szcdakfx3zap1zpkrcs134plv7vnyilzcxs5jbhrrbr6q1807";
   };
 
-  # vendor dir is already part of repository
-  vendorSha256 = null;
+  vendorSha256 = "0a2kjql4ibglxkq5dgzr2sxxxm38nf83s4rsk2gd1cf7v0flr02j";
+
+  # vendor dir in vsh repo is incomplete
+  deleteVendor = true;
+
+  runVend = true;
 
   # make sure version gets set at compile time
   buildFlagsArray = [ "-ldflags=-s -w -X main.vshVersion=v${version}" ];
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index 75f46106209..e8bd12d567b 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages, fetchFromGitHub, glibcLocales }:
+{ lib, python3Packages, fetchFromGitHub, glibcLocales }:
 
 with python3Packages;
 buildPythonApplication rec {
diff --git a/pkgs/tools/misc/wimboot/default.nix b/pkgs/tools/misc/wimboot/default.nix
index b25e0b55379..04dbca9ed63 100644
--- a/pkgs/tools/misc/wimboot/default.nix
+++ b/pkgs/tools/misc/wimboot/default.nix
@@ -14,12 +14,17 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-Wno-address-of-packed-member"; # Fails on gcc9
 
   patches = [
-    # Fix for newer binutils
+    # Fixes for newer binutils
+    # Add R_X86_64_PLT32 as known reloc target
     (fetchpatch {
-      url =
-        "https://github.com/ipxe/wimboot/commit/91be50c17d4d9f463109d5baafd70f9fdadd86db.patch";
+      url = "https://github.com/ipxe/wimboot/commit/91be50c17d4d9f463109d5baafd70f9fdadd86db.patch";
       sha256 = "113448n49hmk8nz1dxbhxiciwl281zwalvb8z5p9xfnjvibj8274";
     })
+    # Fix building with binutils 2.34 (bfd_get_section_* removed in favour of bfd_section_*)
+    (fetchpatch {
+      url = "https://github.com/ipxe/wimboot/commit/2f97e681703d30b33a4d5032a8025ab8b9f2de75.patch";
+      sha256 = "0476mp74jaq3k099b654al6yi2yhgn37d9biz0wv3ln2q1gy94yf";
+    })
   ];
 
   # We cannot use sourceRoot because the patch wouldn't apply
@@ -40,7 +45,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://ipxe.org/wimboot";
     description = "Windows Imaging Format bootloader";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ das_j ajs124 ];
     platforms = platforms.x86; # Fails on aarch64
   };
diff --git a/pkgs/tools/misc/wlr-randr/default.nix b/pkgs/tools/misc/wlr-randr/default.nix
index 85011baacae..b635316bf77 100644
--- a/pkgs/tools/misc/wlr-randr/default.nix
+++ b/pkgs/tools/misc/wlr-randr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wlr-randr";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = pname;
     rev = "v${version}";
-    sha256 = "10c8zzp78s5bw34vvjhilipa28bsdx3jbyhnxgp8f8kawh3cvgsc";
+    sha256 = "sha256-JeSxFXSFxcTwJz9EaLb18wtD4ZIT+ATeYM5OyDTJhDQ=";
   };
 
   nativeBuildInputs = [ meson ninja cmake pkg-config ];
diff --git a/pkgs/tools/misc/wob/default.nix b/pkgs/tools/misc/wob/default.nix
index cbc09b0ce64..e0622e5416a 100644
--- a/pkgs/tools/misc/wob/default.nix
+++ b/pkgs/tools/misc/wob/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wob";
-  version = "0.10";
+  version = "0.11";
 
   src = fetchFromGitHub {
     owner = "francma";
     repo = pname;
     rev = version;
-    sha256 = "0v7xm8zd9237v5j5h79pd0x6dkal5fgg1ly9knssjpv3hswwyv40";
+    sha256 = "13mx6nzab6msp57s9mv9ambz53a4zkafms9v97xv5zvd6xarnrya";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland ];
diff --git a/pkgs/tools/misc/xdxf2slob/default.nix b/pkgs/tools/misc/xdxf2slob/default.nix
index 8d4998a9ff9..b898aa2fc24 100644
--- a/pkgs/tools/misc/xdxf2slob/default.nix
+++ b/pkgs/tools/misc/xdxf2slob/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication {
   name = "xdxf2slob-unstable-2015-06-30";
diff --git a/pkgs/tools/misc/xflux/gui.nix b/pkgs/tools/misc/xflux/gui.nix
index 378337f6232..16379820653 100644
--- a/pkgs/tools/misc/xflux/gui.nix
+++ b/pkgs/tools/misc/xflux/gui.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildPythonApplication, python3Packages, wrapGAppsHook
+{ lib, fetchFromGitHub, buildPythonApplication, python3Packages, wrapGAppsHook
 , xflux, librsvg, gtk3, gobject-introspection, pango, gdk-pixbuf, atk
 , pexpect, pyGtkGlade, pygobject3, pyxdg, libappindicator-gtk3
 }:
diff --git a/pkgs/tools/misc/xmonad-log/default.nix b/pkgs/tools/misc/xmonad-log/default.nix
index b8dd369cd6a..acd4a9e1d46 100644
--- a/pkgs/tools/misc/xmonad-log/default.nix
+++ b/pkgs/tools/misc/xmonad-log/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "xmonad-log";
diff --git a/pkgs/tools/misc/yle-dl/default.nix b/pkgs/tools/misc/yle-dl/default.nix
index 64568ca46b0..9ee81cd1b15 100644
--- a/pkgs/tools/misc/yle-dl/default.nix
+++ b/pkgs/tools/misc/yle-dl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rtmpdump, php, wget, python3Packages, ffmpeg_3 }:
+{ lib, fetchFromGitHub, rtmpdump, php, wget, python3Packages, ffmpeg_3 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "yle-dl";
diff --git a/pkgs/tools/misc/you-get/default.nix b/pkgs/tools/misc/you-get/default.nix
index 54443083996..f58fb349c95 100644
--- a/pkgs/tools/misc/you-get/default.nix
+++ b/pkgs/tools/misc/you-get/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildPythonApplication, fetchPypi }:
+{ lib, buildPythonApplication, fetchPypi }:
 
 buildPythonApplication rec {
   pname = "you-get";
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 43228ea3f42..1fc8a3916bf 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -18,11 +18,11 @@ buildPythonPackage rec {
   # The websites youtube-dl 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 = "2021.01.16";
+  version = "2021.02.10";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1q8pvw5j45k8nvr3d9rvnhi6xaj1mdqlkrg7q7qq6zciq5r54fhi";
+    sha256 = "08liybkivqb32nbrzvvlv56yw6418zwmml7p6dbqcivhdgvas1yn";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
diff --git a/pkgs/tools/misc/yubikey-manager-qt/default.nix b/pkgs/tools/misc/yubikey-manager-qt/default.nix
index fd6610a1973..0f81f132abd 100644
--- a/pkgs/tools/misc/yubikey-manager-qt/default.nix
+++ b/pkgs/tools/misc/yubikey-manager-qt/default.nix
@@ -1,4 +1,5 @@
-{ stdenv
+{ lib
+, stdenv
 , fetchurl
 , wrapQtAppsHook
 , pcsclite
@@ -16,8 +17,6 @@
 , yubikey-personalization
 }:
 
-let inherit (stdenv) lib; in
-
 stdenv.mkDerivation rec {
   pname = "yubikey-manager-qt";
   version = "1.1.5";
diff --git a/pkgs/tools/misc/yubikey-manager/default.nix b/pkgs/tools/misc/yubikey-manager/default.nix
index 505d26bb582..07218d054df 100644
--- a/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/pkgs/tools/misc/yubikey-manager/default.nix
@@ -3,11 +3,11 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "yubikey-manager";
-  version = "3.1.1";
+  version = "3.1.2";
 
   srcs = fetchurl {
     url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
-    sha256 = "1yhc8j67phrj5xgx09b5h7c67pgc4wj4jnkmkq0r3s6j7jn43vv8";
+    hash = "sha256-dwnIOuu0QyWRl6RSdyQw7dGsAZ4xpXpx6jOpCkp4efE=";
   };
 
   propagatedBuildInputs =
diff --git a/pkgs/tools/misc/yubikey-neo-manager/default.nix b/pkgs/tools/misc/yubikey-neo-manager/default.nix
index eeb4f5c1bd5..3991b99fcdc 100644
--- a/pkgs/tools/misc/yubikey-neo-manager/default.nix
+++ b/pkgs/tools/misc/yubikey-neo-manager/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, python27Packages
+{ lib, fetchurl, python27Packages
 , libykneomgr, yubikey-personalization, libu2f-host }:
 
 python27Packages.buildPythonPackage rec {
diff --git a/pkgs/tools/misc/yubikey-personalization-gui/default.nix b/pkgs/tools/misc/yubikey-personalization-gui/default.nix
index 6934791da8e..af6843e3820 100644
--- a/pkgs/tools/misc/yubikey-personalization-gui/default.nix
+++ b/pkgs/tools/misc/yubikey-personalization-gui/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, mkDerivation, pkg-config, qtbase, qmake, imagemagick
+{ lib, fetchurl, mkDerivation, pkg-config, qtbase, qmake, imagemagick
 , libyubikey, yubikey-personalization }:
 
 mkDerivation rec {
diff --git a/pkgs/tools/misc/z-lua/default.nix b/pkgs/tools/misc/z-lua/default.nix
index 419846a9d37..64ae387e1a6 100644
--- a/pkgs/tools/misc/z-lua/default.nix
+++ b/pkgs/tools/misc/z-lua/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "z-lua";
-  version = "1.8.10";
+  version = "1.8.11";
 
   src = fetchFromGitHub {
     owner = "skywind3000";
     repo = "z.lua";
     rev = version;
-    sha256 = "0q0qs07kmkpjv68j2bjgsrv6shl76mssnchfv82vjf8abkf8343b";
+    sha256 = "sha256-k3Q4Fc2T7ElZb98+DVodC7zMHv5yfdwOIkSk0k04WCo=";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/zabbixctl/default.nix b/pkgs/tools/misc/zabbixctl/default.nix
index 15add8ed191..81d81b6794e 100644
--- a/pkgs/tools/misc/zabbixctl/default.nix
+++ b/pkgs/tools/misc/zabbixctl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "zabbixctl";
diff --git a/pkgs/tools/misc/zoxide/default.nix b/pkgs/tools/misc/zoxide/default.nix
index c5ca2965e9d..1e1ec8723bf 100644
--- a/pkgs/tools/misc/zoxide/default.nix
+++ b/pkgs/tools/misc/zoxide/default.nix
@@ -4,7 +4,6 @@
 , rustPlatform
 , withFzf ? true
 , fzf
-
   # checkInputs
 , fish
 , powershell
@@ -13,12 +12,10 @@
 , xonsh
 , zsh
 }:
-let
-  version = "0.5.0";
-in
-rustPlatform.buildRustPackage {
+
+rustPlatform.buildRustPackage rec {
   pname = "zoxide";
-  inherit version;
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ajeetdsouza";
@@ -55,6 +52,6 @@ rustPlatform.buildRustPackage {
     description = "A fast cd command that learns your habits";
     homepage = "https://github.com/ajeetdsouza/zoxide";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ ysndr cole-h ];
+    maintainers = with maintainers; [ ysndr cole-h SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/networking/acme-client/default.nix b/pkgs/tools/networking/acme-client/default.nix
index c669a3a3be2..6de95b34e62 100644
--- a/pkgs/tools/networking/acme-client/default.nix
+++ b/pkgs/tools/networking/acme-client/default.nix
@@ -10,11 +10,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "acme-client";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchurl {
     url = "https://data.wolfsden.cz/sources/acme-client-${version}.tar.xz";
-    sha256 = "0gmdvmyw8a61w08hrxllypf7rpnqg0fxipbk3zmvsxj7m5i6iysj";
+    sha256 = "sha256-AYI7WfRTb5R0/hDX5Iqkq5nrLZ4gQecAGObSajSA+vw=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/networking/airfield/node-packages.nix b/pkgs/tools/networking/airfield/node-packages.nix
index 66e70162675..b43d2938009 100644
--- a/pkgs/tools/networking/airfield/node-packages.nix
+++ b/pkgs/tools/networking/airfield/node-packages.nix
@@ -1,16 +1,16 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
-    "ajv-6.12.0" = {
+    "ajv-6.12.6" = {
       name = "ajv";
       packageName = "ajv";
-      version = "6.12.0";
+      version = "6.12.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz";
-        sha512 = "0gkcic96nmpcq311i2jfwbaa961x0mj7mkl7iwk213hyn4jgxbl0a472lcpg9dr7ybacn3i45fj6q0dz3g8rqmva7r14i9la240ba0g";
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz";
+        sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     };
     "asn1-0.2.4" = {
@@ -19,7 +19,7 @@ let
       version = "0.2.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
-        sha512 = "1v2z1ll0l8rif8hh0d03jc49kz3p8hym63q8ixbas48w4a8akl413hwn08nx83m89sj3mxl06aa0grp7n8hj6hcbsb2k3fhj913674g";
+        sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
       };
     };
     "assert-plus-1.0.0" = {
@@ -49,13 +49,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.9.1" = {
+    "aws4-1.11.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.9.1";
+      version = "1.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz";
-        sha512 = "2x4b6c0ny64yv6ljfs6sv82akh200klmnh1m1i18hdj28ksxkr9c0szphnwcasy3g5y3l1wn858wcxnc2gi9q5wql8s678fc61xbhf0";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz";
+        sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
       };
     };
     "bcrypt-pbkdf-1.0.2" = {
@@ -100,7 +100,7 @@ let
       version = "1.0.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
-        sha512 = "1v09nkip7zpn3k3prkkg53w331rhczpfgcqb0q42i97nafra43l2khl5zvhd4ar0qmh145nmw7944jy8p108ny0xpgy29gf2wqph0qm";
+        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     };
     "commander-0.6.1" = {
@@ -166,13 +166,13 @@ let
         sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
       };
     };
-    "debug-4.1.1" = {
+    "debug-4.3.2" = {
       name = "debug";
       packageName = "debug";
-      version = "4.1.1";
+      version = "4.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz";
-        sha512 = "1kmf9j5pka2rsljg5x6shniwmgs9444ksgdn0d3fjmis7yghxxn2zj526s36ip8rmpfni9zpj8z74w7irax32a67j59xw38wk6hi055";
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
+        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
       };
     };
     "delayed-stream-1.0.0" = {
@@ -184,13 +184,13 @@ let
         sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
       };
     };
-    "denque-1.4.1" = {
+    "denque-1.5.0" = {
       name = "denque";
       packageName = "denque";
-      version = "1.4.1";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz";
-        sha512 = "2spb0s12jkarfiydj4sj4iw1yfjzaplakzw7bma0pwnbra23l1b85rsyzc25szlfdl3bm5bb42fmy4xhf1xdpxaywmwh6aa4swwzz1r";
+        url = "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz";
+        sha512 = "CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==";
       };
     };
     "ecc-jsbn-0.1.2" = {
@@ -208,7 +208,7 @@ let
       version = "3.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
-        sha512 = "3zad2109w3q3gh46s5msrnzfy2nl581sqpy20b52fs7v5pdjh3irpg7szl3xvh4sfy63218jy8ry6qlnir3baxbbfrb03swkw5swfky";
+        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
       };
     };
     "extsprintf-1.3.0" = {
@@ -220,13 +220,13 @@ let
         sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
       };
     };
-    "fast-deep-equal-3.1.1" = {
+    "fast-deep-equal-3.1.3" = {
       name = "fast-deep-equal";
       packageName = "fast-deep-equal";
-      version = "3.1.1";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz";
-        sha512 = "1j7wq3vqvfgnpd2sjblnlgryxlic2fsy343fx8w4ywb2mngj1w5afq8fmly8cp9fi66dhz1fhcfpn23g5zasnzs6n1snb83qkkilhgi";
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
+        sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
       };
     };
     "fast-json-stable-stringify-2.1.0" = {
@@ -235,7 +235,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
-        sha512 = "0gz06zkjlqc4r59ka14n3vwqjdgn40zd8r115ql3rkwqb7j42frmnsj3axr7p2md8ik52nqjn3myyv8ddavdhl4cq3xz4wbbz07y5wn";
+        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     };
     "forever-agent-0.6.1" = {
@@ -253,7 +253,7 @@ let
       version = "2.3.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
-        sha512 = "0jj3hgqp9pmxmfavx6rvdfl3r4yf98clpsarqadz3hq0dxhjlh2ppd9x8bvmaq3nwjdqpdvqx25pwyin4ipixhgsn7s3p9fcc3wllnn";
+        sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
       };
     };
     "formidable-1.0.11" = {
@@ -292,13 +292,13 @@ let
         sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
       };
     };
-    "har-validator-5.1.3" = {
+    "har-validator-5.1.5" = {
       name = "har-validator";
       packageName = "har-validator";
-      version = "5.1.3";
+      version = "5.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz";
-        sha512 = "3kaldgfsh3lfvgvw31s8b7q345zf7ixjahllncdckcw6qfs3gnbsamdxgs9kfigq7rwmja7v51ghh7y0rsp6q7jmvmbydhh645wxnxh";
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz";
+        sha512 = "nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==";
       };
     };
     "http-signature-1.2.0" = {
@@ -352,7 +352,7 @@ let
       version = "0.4.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
-        sha512 = "1bbgxs4777gn3q3yxi0n792cgz9pimf85pypr0w4wzpb22nr8fl9xi98pkcqd3n4fn7lnzffpq7qwpcl4dqc15py19lwqa2jwgw5dn5";
+        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
       };
     };
     "json-stringify-safe-5.0.1" = {
@@ -391,22 +391,22 @@ let
         sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
       };
     };
-    "mime-db-1.43.0" = {
+    "mime-db-1.45.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.43.0";
+      version = "1.45.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz";
-        sha512 = "36x3p6lll5v1g7na92kbba0bpcl36i1argsqn8iy4mgz3zh3llnqhzhfw0l26jqcb0mh9rhhmrx718kvqzchga6y79qdg9884c6r5zv";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz";
+        sha512 = "CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==";
       };
     };
-    "mime-types-2.1.26" = {
+    "mime-types-2.1.28" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.26";
+      version = "2.1.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz";
-        sha512 = "1cxsgrndjg6jyfqzm74hv6cmy9lil52f1kzkq2niknaiqz20p3yiw0fpgsyld2zrbxr9abpdabz1q6nqa50xr9a0cmbjbi0cqymlnnk";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz";
+        sha512 = "0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==";
       };
     };
     "mkdirp-0.3.3" = {
@@ -424,7 +424,7 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
-        sha512 = "3dqfiiw6nxvvi24fndbzlccnjcas99bsd1kz5m2r78lzgpp6vx57jzbmxq3k1m7bsw88rwra0n4848l720fxxn5x20djck3wp3hysdh";
+        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
       };
     };
     "oauth-sign-0.9.0" = {
@@ -433,7 +433,7 @@ let
       version = "0.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
-        sha512 = "1jz644r7ybsq688ifahm64ih3ljqjjskm533bgir20pvc350f9cl0z162scih0r1idx8lpw5f8hxa2pkf0lhbdhr5y6ak2ga5863v3x";
+        sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
       };
     };
     "pause-0.0.1" = {
@@ -454,13 +454,13 @@ let
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     };
-    "psl-1.7.0" = {
+    "psl-1.8.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.7.0";
+      version = "1.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz";
-        sha512 = "0whj0m29370fn3imrlj2dw0xmr33j2gn30kn96xpxckz7i1b21pj6vlgsn4ggxl79mz2ckng5mdxbkczcwkjry497s8xkgw7c815nz4";
+        url = "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz";
+        sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
       };
     };
     "punycode-2.1.1" = {
@@ -469,7 +469,7 @@ let
       version = "2.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
-        sha512 = "381vqgh5xkqzrr6cxbzfykgnnk83m7qgpx3wjwj1hddn3sg2aibjxyr30rajpgv4js0cqknrbzwbfk5ryhiiyigzfjrk3zysy6i26sx";
+        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
       };
     };
     "qs-0.5.1" = {
@@ -487,7 +487,7 @@ let
       version = "6.5.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
-        sha512 = "0c46ws0x9g3mmkgfmvd78bzvnmv2b8ryg4ah6jvyyqgjv9v994z7xdyvsc4vg9sf98gg7phvy3q1ahgaj5fy3dwzf2rki6bixgl15ip";
+        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
       };
     };
     "range-parser-0.0.4" = {
@@ -499,13 +499,13 @@ let
         sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
       };
     };
-    "redis-commands-1.5.0" = {
+    "redis-commands-1.6.0" = {
       name = "redis-commands";
       packageName = "redis-commands";
-      version = "1.5.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.5.0.tgz";
-        sha512 = "0kdmbh04hif6g8qr3zcwjkjg1v3rjgss0dq3sy144l5ja5vp4ndb5hdn2acrx57w01swbwpkskmy788lr2nxdq0g46azqsrmad5mb78";
+        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.6.0.tgz";
+        sha512 = "2jnZ0IkjZxvguITjFTrGiLyzQZcTvaw8DAaCXxZq/dsHXz7KfMQ3OUJy7Tz9vnRtZRVz6VRCPDvruvU8Ts44wQ==";
       };
     };
     "redis-errors-1.2.0" = {
@@ -526,13 +526,13 @@ let
         sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
       };
     };
-    "safe-buffer-5.2.0" = {
+    "safe-buffer-5.2.1" = {
       name = "safe-buffer";
       packageName = "safe-buffer";
-      version = "5.2.0";
+      version = "5.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
-        sha512 = "1pb164cfv1ip3s1rp008433rak88mdcch24q84cbfndg0dzky2ij8vjvsiyx2qf3rg4dgs82zk7vnrd9hkqqdcvp4lbk5ymcr8314bx";
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
+        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
       };
     };
     "safer-buffer-2.1.2" = {
@@ -541,7 +541,7 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha512 = "2v99f22kh56y72d3s8wrgdvf5n10ry40dh3fwnsxr4d5rfvxdfxfmc3qyqkscnj4f8799jy9bpg6cm21x2d811dr9ib83wjrlmkg6k1";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
     "send-0.1.0" = {
@@ -559,7 +559,7 @@ let
       version = "1.16.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
-        sha512 = "0i4jnrxh6i17qij2vfki7qxmk435cnacvg363qg0hya5incfj57akgbas8zcx2cl5pds9jfgfyhqm8wlqz6damsg059gymv99aylx8x";
+        sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
       };
     };
     "tough-cookie-2.5.0" = {
@@ -568,7 +568,7 @@ let
       version = "2.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
-        sha512 = "3xgcny117pqhfncr4gbmagzlnjiqqgq0lrvmljdfcdy64nc0xjfcbf1r08dmp1v1m3s51kq0yxc18nl3j9lbpr5bp5lgmi6719yqlly";
+        sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
       };
     };
     "tunnel-agent-0.6.0" = {
@@ -589,22 +589,22 @@ let
         sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
       };
     };
-    "underscore-1.9.2" = {
+    "underscore-1.12.0" = {
       name = "underscore";
       packageName = "underscore";
-      version = "1.9.2";
+      version = "1.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz";
-        sha512 = "0fpcm4n2qlycl50j6k3fv7baybnzf1wbsm2ng0vwfsdi40fyvsvvl0k1i427hgpknhj5hbcwff3swckw6wx96kw4dgwvldi56v6lzqg";
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz";
+        sha512 = "21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==";
       };
     };
-    "uri-js-4.2.2" = {
+    "uri-js-4.4.1" = {
       name = "uri-js";
       packageName = "uri-js";
-      version = "4.2.2";
+      version = "4.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
-        sha512 = "2fz60s71ghl56ddfiiaws81xpiidlbjk69jyjmahz190d2advy9zdbcwh5if4rgg5hxdbfxhkwiipjrnjy8w834bxsmzambd2p4b3r9";
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz";
+        sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
       };
     };
     "uuid-3.4.0" = {
@@ -613,7 +613,7 @@ let
       version = "3.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
-        sha512 = "3y9pcli1v8nqryqd2c4pxj9kcv92mjc22z4smg08pdjzrbwda19xmjbzms1dwr04995h4carz9s8mldbiqb8708694lwr501r3q6d0y";
+        sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
       };
     };
     "verror-1.10.0" = {
@@ -644,7 +644,7 @@ in
       sources."cookie-0.0.5"
       sources."cookie-signature-0.0.1"
       sources."crc-0.2.0"
-      sources."debug-4.1.1"
+      sources."debug-4.3.2"
       sources."formidable-1.0.11"
       sources."fresh-0.1.0"
       sources."methods-0.0.1"
@@ -673,7 +673,7 @@ in
       sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
     };
     dependencies = [
-      sources."underscore-1.9.2"
+      sources."underscore-1.12.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -706,11 +706,11 @@ in
     version = "3.0.2";
     src = fetchurl {
       url = "https://registry.npmjs.org/redis/-/redis-3.0.2.tgz";
-      sha512 = "26lf40x7al63vywd96j6idqbn8fagv4jp6ar9cc80aili5d59sy14hvb3haw8xhjqxc3481dkmbvza8x3p1dcn3p2az5snlp054pn1w";
+      sha512 = "PNhLCrjU6vKVuMOyFu7oSP296mwBkcE6lrAjruBYG5LgdSqtRBoVQIylrMyVZD/lkF24RSNNatzvYag6HRBHjQ==";
     };
     dependencies = [
-      sources."denque-1.4.1"
-      sources."redis-commands-1.5.0"
+      sources."denque-1.5.0"
+      sources."redis-commands-1.6.0"
       sources."redis-errors-1.2.0"
       sources."redis-parser-3.0.0"
     ];
@@ -727,10 +727,10 @@ in
   connect-redis = nodeEnv.buildNodePackage {
     name = "connect-redis";
     packageName = "connect-redis";
-    version = "4.0.4";
+    version = "5.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/connect-redis/-/connect-redis-4.0.4.tgz";
-      sha512 = "014p1jjd7bzdsd81v0918ac5j4k1qs4qi2nzzndyn50rznd04hx85l23jpicznwc2j3nkz5bj15zbi98ld3akxb5rwl46r5sdp3nyb9";
+      url = "https://registry.npmjs.org/connect-redis/-/connect-redis-5.0.0.tgz";
+      sha512 = "R4nTW5uXeG5s6zr/q4abmtcdloglZrL/A3cpa0JU0RLFJU4mTR553HUY8OZ0ngeySkGDclwQ5xmCcjjKkxdOSg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -748,7 +748,7 @@ in
     version = "3.2.0";
     src = fetchurl {
       url = "https://registry.npmjs.org/async/-/async-3.2.0.tgz";
-      sha512 = "1kwiqca4ql149ywfzbp1lpmqixnh1y9i5aizcd0fvndrq9sn31j0cr38wdgbr5xqvlxgjfs3jwryg7ddnwc8n1b5nlksfjmj48sc7ad";
+      sha512 = "TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -766,15 +766,15 @@ in
     version = "2.88.2";
     src = fetchurl {
       url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz";
-      sha512 = "23hm71jcxrwvp33azx8mx3w6dg21fr4w6lwvkvxyf6ckvhk3hz9dk8lzgkbiyzfl9ylhp4n807xp88ppq4gj5h07cmrgxf6nwxfvjrj";
+      sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
     };
     dependencies = [
-      sources."ajv-6.12.0"
+      sources."ajv-6.12.6"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.9.1"
+      sources."aws4-1.11.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."caseless-0.12.0"
       sources."combined-stream-1.0.8"
@@ -784,13 +784,13 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.1"
+      sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."getpass-0.1.7"
       sources."har-schema-2.0.0"
-      sources."har-validator-5.1.3"
+      sources."har-validator-5.1.5"
       sources."http-signature-1.2.0"
       sources."is-typedarray-1.0.0"
       sources."isstream-0.1.2"
@@ -799,20 +799,20 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.43.0"
-      sources."mime-types-2.1.26"
+      sources."mime-db-1.45.0"
+      sources."mime-types-2.1.28"
       sources."oauth-sign-0.9.0"
       sources."performance-now-2.1.0"
-      sources."psl-1.7.0"
+      sources."psl-1.8.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
-      sources."safe-buffer-5.2.0"
+      sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sshpk-1.16.1"
       sources."tough-cookie-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uri-js-4.2.2"
+      sources."uri-js-4.4.1"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
     ];
diff --git a/pkgs/tools/networking/airfield/node.nix b/pkgs/tools/networking/airfield/node.nix
index 6f3f95714a2..0bcd0eb4b85 100644
--- a/pkgs/tools/networking/airfield/node.nix
+++ b/pkgs/tools/networking/airfield/node.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/tools/networking/amass/default.nix b/pkgs/tools/networking/amass/default.nix
index 39ab6b19114..67dce4c2e8b 100644
--- a/pkgs/tools/networking/amass/default.nix
+++ b/pkgs/tools/networking/amass/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "amass";
-  version = "3.11.1";
+  version = "3.11.2";
 
   src = fetchFromGitHub {
     owner = "OWASP";
     repo = "Amass";
     rev = "v${version}";
-    sha256 = "06nxjlbkzzdf4ag6c1fyszrrfj5hk5870cbqg4k7xz0faa25l6pw";
+    sha256 = "sha256-3J4yT7GTuVzkxMb+fCD3S9u0XBHa4Y0W+BnkDJ4PhWI=";
   };
 
-  vendorSha256 = "0i77m9h5pmshd5v390cisna1zr3x4lndqdcxfmynvbmzha29gyrq";
+  vendorSha256 = "sha256-8GzzihKhrf71lLKgb2i3NnmSctvKb95V5pOGoWAgclk=";
 
   outputs = [ "out" "wordlists" ];
 
diff --git a/pkgs/tools/networking/assh/default.nix b/pkgs/tools/networking/assh/default.nix
index 13018d183ca..3995fc295d1 100644
--- a/pkgs/tools/networking/assh/default.nix
+++ b/pkgs/tools/networking/assh/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub, openssh, makeWrapper }:
+{ lib, buildGoModule, fetchFromGitHub, openssh, makeWrapper }:
 
 buildGoModule rec {
   pname = "assh";
diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix
index 7fcd677044f..0038a5e2e7f 100644
--- a/pkgs/tools/networking/atftp/default.nix
+++ b/pkgs/tools/networking/atftp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atftp";
-  version = "0.7.2";
+  version = "0.7.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/atftp/${pname}-${version}.tar.gz";
-    sha256 = "0hah3fhzl6vfs381883vbvf4d13cdhsyf0x7ncbl55wz9rkq1l0s";
+    sha256 = "sha256-08nNDZcd/Hhtel9AVcNdTmaq/IECrANHPvIlvfftsmo=";
   };
 
   buildInputs = [ readline tcp_wrappers pcre makeWrapper gcc ];
diff --git a/pkgs/tools/networking/autossh/default.nix b/pkgs/tools/networking/autossh/default.nix
index 49fb4d52e0b..9b8e7f712fd 100644
--- a/pkgs/tools/networking/autossh/default.nix
+++ b/pkgs/tools/networking/autossh/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, openssh}:
 
 stdenv.mkDerivation rec {
-  name = "autossh-1.4g";
+  pname = "autossh";
+  version = "1.4g";
 
   src = fetchurl {
-    url = "http://www.harding.motd.ca/autossh/${name}.tgz";
+    url = "http://www.harding.motd.ca/autossh/${pname}-${version}.tgz";
     sha256 = "0xqjw8df68f4kzkns5gcah61s5wk0m44qdk2z1d6388w6viwxhsz";
   };
 
@@ -15,8 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ openssh ];
 
-  installPhase =
-    ''
+  installPhase = ''
       install -D -m755 autossh      $out/bin/autossh                          || return 1
       install -D -m644 CHANGES      $out/share/doc/autossh/CHANGES            || return 1
       install -D -m644 README       $out/share/doc/autossh/README             || return 1
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.harding.motd.ca/autossh/";
     description = "Automatically restart SSH sessions and tunnels";
+    license = licenses.bsd1;
     platforms = platforms.unix;
     maintainers = with maintainers; [ pSub ];
   };
diff --git a/pkgs/tools/networking/badvpn/default.nix b/pkgs/tools/networking/badvpn/default.nix
index 0445a424a40..fd7c3b23adf 100644
--- a/pkgs/tools/networking/badvpn/default.nix
+++ b/pkgs/tools/networking/badvpn/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
 
   meta = {
     inherit (s) version;
-    description = ''A set of network-related (mostly VPN-related) tools'';
+    description = "A set of network-related (mostly VPN-related) tools";
     license = lib.licenses.bsd3 ;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/networking/bgpdump/default.nix b/pkgs/tools/networking/bgpdump/default.nix
index e5159fef101..18d72daa009 100644
--- a/pkgs/tools/networking/bgpdump/default.nix
+++ b/pkgs/tools/networking/bgpdump/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://bitbucket.org/ripencc/bgpdump/";
-    description = ''Analyze dump files produced by Zebra/Quagga or MRT'';
+    description = "Analyze dump files produced by Zebra/Quagga or MRT";
     license = lib.licenses.hpnd;
     maintainers = with lib.maintainers; [ lewo ];
     platforms = with lib.platforms; linux;
diff --git a/pkgs/tools/networking/boundary/default.nix b/pkgs/tools/networking/boundary/default.nix
new file mode 100644
index 00000000000..304972717df
--- /dev/null
+++ b/pkgs/tools/networking/boundary/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, lib, fetchzip }:
+
+let
+  inherit (stdenv.hostPlatform) system;
+  suffix = {
+    x86_64-linux = "linux_amd64";
+    aarch64-linux = "linux_arm64";
+    x86_64-darwin = "darwin_amd64";
+  }."${system}" or (throw "Unsupported system: ${system}");
+  fetchsrc = version: sha256: fetchzip {
+      url = "https://releases.hashicorp.com/boundary/${version}/boundary_${version}_${suffix}.zip";
+      sha256 = sha256."${system}";
+    };
+in
+stdenv.mkDerivation rec {
+  pname = "boundary";
+  version = "0.1.6";
+
+  src = fetchsrc version {
+    x86_64-linux = "sha256-6Pwl8smp6ZX57hzPc7e8gVSqnPHse+RvhU2xprG/2dg=";
+    aarch64-linux = "sha256-/ZhLZ/Sj0h4HvOJthe83Y5Hqpz1UYiaQZxuyR8loI44=";
+    x86_64-darwin = "sha256-s+XoEmup/jvIf+jGI3OPIGFDwsWbgE1yuySLWsC3jJE=";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    install -D boundary $out/bin/boundary
+  '';
+
+  dontPatchELF = true;
+  dontPatchShebangs = true;
+
+  passthru.updateScript = ./update.sh;
+
+  meta = with lib; {
+    homepage = "https://boundaryproject.io/";
+    changelog = "https://github.com/hashicorp/boundary/blob/v${version}/CHANGELOG.md";
+    description = "Enables identity-based access management for dynamic infrastructure";
+    longDescription = ''
+      Boundary provides a secure way to access hosts and critical systems
+      without having to manage credentials or expose your network, and is
+      entirely open source.
+
+      Boundary is designed to be straightforward to understand, highly scalable,
+      and resilient. It can run in clouds, on-prem, secure enclaves and more,
+      and does not require an agent to be installed on every end host.
+    '';
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ jk ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/tools/networking/boundary/update.sh b/pkgs/tools/networking/boundary/update.sh
new file mode 100755
index 00000000000..43733930710
--- /dev/null
+++ b/pkgs/tools/networking/boundary/update.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnused gawk nix-prefetch
+
+set -euo pipefail
+
+ROOT="$(dirname "$(readlink -f "$0")")"
+NIX_DRV="$ROOT/default.nix"
+if [ ! -f "$NIX_DRV" ]; then
+  echo "ERROR: cannot find default.nix in $ROOT"
+  exit 1
+fi
+
+fetch_arch() {
+  VER="$1"; ARCH="$2"
+  URL="https://releases.hashicorp.com/boundary/${VER}/boundary_${VER}_${ARCH}.zip"
+  nix-prefetch "{ stdenv, fetchzip }:
+stdenv.mkDerivation rec {
+  pname = \"boundary\"; version = \"${VER}\";
+  src = fetchzip { url = \"$URL\"; };
+}
+"
+}
+
+replace_sha() {
+  sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV"
+}
+
+# https://releases.hashicorp.com/boundary/0.1.4/boundary_0.1.4_linux_amd64.zip
+BOUNDARY_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/hashicorp/boundary/releases/latest | awk -F'/' '{print $NF}' | sed 's/v//')
+
+BOUNDARY_LINUX_X64_SHA256=$(fetch_arch "$BOUNDARY_VER" "linux_amd64")
+BOUNDARY_DARWIN_X64_SHA256=$(fetch_arch "$BOUNDARY_VER" "darwin_amd64")
+BOUNDARY_LINUX_AARCH64_SHA256=$(fetch_arch "$BOUNDARY_VER" "linux_arm64")
+
+sed -i "s/version = \".*\"/version = \"$BOUNDARY_VER\"/" "$NIX_DRV"
+
+replace_sha "x86_64-linux" "$BOUNDARY_LINUX_X64_SHA256"
+replace_sha "x86_64-darwin" "$BOUNDARY_DARWIN_X64_SHA256"
+replace_sha "aarch64-linux" "$BOUNDARY_LINUX_AARCH64_SHA256"
diff --git a/pkgs/tools/networking/brook/default.nix b/pkgs/tools/networking/brook/default.nix
index f84176495aa..b6f7cb1869a 100644
--- a/pkgs/tools/networking/brook/default.nix
+++ b/pkgs/tools/networking/brook/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "brook";
diff --git a/pkgs/tools/networking/bsd-finger/default.nix b/pkgs/tools/networking/bsd-finger/default.nix
index f3ecf7a9702..189f636cd1f 100644
--- a/pkgs/tools/networking/bsd-finger/default.nix
+++ b/pkgs/tools/networking/bsd-finger/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   preBuild = "cd finger";
 
-  preInstall = '' mkdir -p $out/man/man1 $out/bin '';
+  preInstall = "mkdir -p $out/man/man1 $out/bin ";
 
   meta = with lib; {
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/bukubrow/default.nix b/pkgs/tools/networking/bukubrow/default.nix
index 5188954b763..157720651f4 100644
--- a/pkgs/tools/networking/bukubrow/default.nix
+++ b/pkgs/tools/networking/bukubrow/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, sqlite }: let
+{ lib, rustPlatform, fetchFromGitHub, sqlite }: let
 
 manifest = {
   description = "Bukubrow extension host application";
diff --git a/pkgs/tools/networking/cassowary/default.nix b/pkgs/tools/networking/cassowary/default.nix
index 7d9a07badbb..b918516f926 100644
--- a/pkgs/tools/networking/cassowary/default.nix
+++ b/pkgs/tools/networking/cassowary/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cassowary";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "rogerwelin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HRshuMnRPMzatOYYI//yEtjC46kORGXaAWJJjLHW2+k=";
+    sha256 = "sha256-1so9EMry7U6GfpxgqLpcqC+ZaWAn4qAsnyDZvo0FAZY=";
   };
 
   vendorSha256 = "sha256-d8JPsHBGkZ/MeoHTCLxi6JeNomER/0veWjqmqGal8eE=";
diff --git a/pkgs/tools/networking/chisel/default.nix b/pkgs/tools/networking/chisel/default.nix
new file mode 100644
index 00000000000..56868e07688
--- /dev/null
+++ b/pkgs/tools/networking/chisel/default.nix
@@ -0,0 +1,37 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+, stdenv
+}:
+
+buildGoModule rec {
+  pname = "chisel";
+  version = "1.7.4";
+
+  src = fetchFromGitHub {
+    owner = "jpillora";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-1vg9tJLYbW8pfPpw3gQ15c9Kwj2lFfblMRhOK4yWKb8=";
+  };
+
+  vendorSha256 = "sha256-GzsQ6LXxe9UQc13XbsYFOWPe0EzlyHechchKc6xDkAc=";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/jpillora/chisel/share.BuildVersion=${version}" ];
+
+  # tests require access to the network
+  doCheck = false;
+
+  meta = with lib; {
+    description = "TCP/UDP tunnel over HTTP";
+    longDescription = ''
+      Chisel is a fast TCP/UDP tunnel, transported over HTTP, secured via
+      SSH. Single executable including both client and server. Chisel is
+      mainly useful for passing through firewalls, though it can also be
+      used to provide a secure endpoint into your network.
+    '';
+    homepage = "https://github.com/jpillora/chisel";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/networking/circus/default.nix b/pkgs/tools/networking/circus/default.nix
index 891eb19c835..f24c0e629cb 100644
--- a/pkgs/tools/networking/circus/default.nix
+++ b/pkgs/tools/networking/circus/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3 }:
+{ lib, python3 }:
 
 let
   python = python3.override {
diff --git a/pkgs/tools/networking/clash/default.nix b/pkgs/tools/networking/clash/default.nix
index 590fcf1dbaf..543c86db307 100644
--- a/pkgs/tools/networking/clash/default.nix
+++ b/pkgs/tools/networking/clash/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoModule }:
+{ lib, fetchFromGitHub, buildGoModule }:
 
 buildGoModule rec {
   pname = "clash";
diff --git a/pkgs/tools/networking/connman/connman-notify/default.nix b/pkgs/tools/networking/connman/connman-notify/default.nix
index 9f0c9873e2a..cbf50091303 100644
--- a/pkgs/tools/networking/connman/connman-notify/default.nix
+++ b/pkgs/tools/networking/connman/connman-notify/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitLab, python3Packages, glib, gobject-introspection, wrapGAppsHook }:
+{ lib, fetchFromGitLab, python3Packages, glib, gobject-introspection, wrapGAppsHook }:
 
 python3Packages.buildPythonApplication {
   pname = "connman-notify";
diff --git a/pkgs/tools/networking/connman/connman.nix b/pkgs/tools/networking/connman/connman.nix
index 21fa038707c..d8380340cae 100644
--- a/pkgs/tools/networking/connman/connman.nix
+++ b/pkgs/tools/networking/connman/connman.nix
@@ -55,10 +55,10 @@ let inherit (lib) optionals; in
 
 stdenv.mkDerivation rec {
   pname = "connman";
-  version = "1.38";
+  version = "1.39";
   src = fetchurl {
     url = "mirror://kernel/linux/network/connman/${pname}-${version}.tar.xz";
-    sha256 = "0awkqigvhwwxiapw0x6yd4whl465ka8a4al0v2pcqy9ggjlsqc6b";
+    sha256 = "sha256-n2KnFpt0kcZwof8uM1sNlmMI+y9i4oXHgRBeuQ8YGvM=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/networking/corerad/default.nix b/pkgs/tools/networking/corerad/default.nix
index 64e8e09467d..a7e5026d83a 100644
--- a/pkgs/tools/networking/corerad/default.nix
+++ b/pkgs/tools/networking/corerad/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub, nixosTests }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
 
 buildGoModule rec {
   pname = "corerad";
diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix
index 92493ab109f..4a4578a7356 100644
--- a/pkgs/tools/networking/croc/default.nix
+++ b/pkgs/tools/networking/croc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub, callPackage}:
+{ lib, buildGoModule, fetchFromGitHub, callPackage}:
 
 buildGoModule rec {
   pname = "croc";
diff --git a/pkgs/tools/networking/curl-unix-socket/default.nix b/pkgs/tools/networking/curl-unix-socket/default.nix
index 84b5c1861cd..ab4c3292ea5 100644
--- a/pkgs/tools/networking/curl-unix-socket/default.nix
+++ b/pkgs/tools/networking/curl-unix-socket/default.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, lib, stdenv, fetchFromGitHub }:
+{ buildGoPackage, lib, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "curl-unix-socket-2015-04-10";
diff --git a/pkgs/tools/networking/dd-agent/datadog-agent.nix b/pkgs/tools/networking/dd-agent/datadog-agent.nix
index d980d570226..ad37245d57c 100644
--- a/pkgs/tools/networking/dd-agent/datadog-agent.nix
+++ b/pkgs/tools/networking/dd-agent/datadog-agent.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoPackage, makeWrapper, pythonPackages, pkg-config, systemd, hostname, extraTags ? [] }:
+{ lib, fetchFromGitHub, buildGoPackage, makeWrapper, pythonPackages, pkg-config, systemd, hostname, extraTags ? [] }:
 
 let
   # keep this in sync with github.com/DataDog/agent-payload dependency
diff --git a/pkgs/tools/networking/dd-agent/datadog-process-agent.nix b/pkgs/tools/networking/dd-agent/datadog-process-agent.nix
index a77030bba93..e2c497dad40 100644
--- a/pkgs/tools/networking/dd-agent/datadog-process-agent.nix
+++ b/pkgs/tools/networking/dd-agent/datadog-process-agent.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoPackage  }:
+{ lib, fetchFromGitHub, buildGoPackage  }:
 
 buildGoPackage rec {
   pname = "datadog-process-agent";
diff --git a/pkgs/tools/networking/ddclient/default.nix b/pkgs/tools/networking/ddclient/default.nix
index 3b52c2be252..51454ac1197 100644
--- a/pkgs/tools/networking/ddclient/default.nix
+++ b/pkgs/tools/networking/ddclient/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, perlPackages, iproute, perl }:
+{ lib, fetchurl, perlPackages, iproute, perl }:
 
 perlPackages.buildPerlPackage rec {
   pname = "ddclient";
diff --git a/pkgs/tools/networking/dnscrypt-proxy2/default.nix b/pkgs/tools/networking/dnscrypt-proxy2/default.nix
index 3526562e11c..8aedb403260 100644
--- a/pkgs/tools/networking/dnscrypt-proxy2/default.nix
+++ b/pkgs/tools/networking/dnscrypt-proxy2/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "dnscrypt-proxy2";
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index b8b88e19395..d92408b3669 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -12,11 +12,12 @@ let
   ]);
 in
 stdenv.mkDerivation rec {
-  name = "dnsmasq-2.82";
+  pname = "dnsmasq";
+  version = "2.83";
 
   src = fetchurl {
-    url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.xz";
-    sha256 = "0cn1xd1s6xs78jmrmwjnh9m6w3q38pk6dyqy2phvasqiyd33cll4";
+    url = "http://www.thekelleys.org.uk/dnsmasq/${pname}-${version}.tar.xz";
+    sha256 = "1sjamz1v588qf35m8z6wcqkjk5w12bqhj7d7p48dj8jyn3lgghgz";
   };
 
   postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix
index a04244642ba..68a6660db9f 100644
--- a/pkgs/tools/networking/dnsproxy/default.nix
+++ b/pkgs/tools/networking/dnsproxy/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, buildGoModule }:
+{ lib, fetchFromGitHub, buildGoModule }:
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.33.8";
+  version = "0.34.1";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4QbIcg4C7TQJ1k+PQN0jwtZiXmcO8D609YkNLVyzW8w=";
+    sha256 = "sha256-XwXGhFyPsJWHWea3Cj3X6mOV/oseaRAMaEHoppX+WRw=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/networking/driftnet/default.nix b/pkgs/tools/networking/driftnet/default.nix
index a9f9305169c..042f29d3ca3 100644
--- a/pkgs/tools/networking/driftnet/default.nix
+++ b/pkgs/tools/networking/driftnet/default.nix
@@ -1,31 +1,64 @@
-{ stdenv, lib, fetchFromGitHub, libpcap, libjpeg , libungif, libpng
-, giflib, glib, gtk2, cairo, pango, gdk-pixbuf, atk
-, pkg-config, autoreconfHook }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, cairo
+, giflib
+, glib
+, gtk2-x11
+, libjpeg
+, libpcap
+, libpng
+, libwebsockets
+, pkg-config
+, libuv
+, openssl
+}:
 
-with lib;
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "driftnet";
-  version = "1.1.5";
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    libpcap libjpeg libungif libpng giflib
-    glib gtk2 glib cairo pango gdk-pixbuf atk autoreconfHook
-  ];
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "deiv";
     repo = "driftnet";
-    rev = "0ae4a91";
-    sha256 = "1sagpx0mw68ggvqd9c3crjhghqmj7391mf2cb6cjw1cpd2hcddsj";
+    rev = "v${version}";
+    sha256 = "0kd22aqb25kf54jjv3ml8wy8xm7lmbf0xz1wfp31m08cbzsbizib";
   };
 
-  meta = {
+  # https://github.com/deiv/driftnet/pull/33
+  # remove on version bump from 1.3.0
+  patches = [
+    (fetchpatch {
+      name = "fix-darwin-build";
+      url = "https://github.com/deiv/driftnet/pull/33/commits/bef5f3509ab5710161e9e21ea960a997eada534f.patch";
+      sha256 = "1b7p9fkgp7dxv965l7q7y632s80h3nnrkaqnak2h0hakwv0i4pvm";
+    })
+  ];
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ pkg-config autoreconfHook ];
+
+  buildInputs = [
+    cairo
+    giflib
+    glib
+    gtk2-x11
+    libjpeg
+    libpcap
+    libpng
+    libwebsockets
+    openssl
+    libuv
+  ];
+
+  meta = with lib; {
     description = "Watches network traffic, and picks out and displays JPEG and GIF images for display";
     homepage = "https://github.com/deiv/driftnet";
     maintainers = with maintainers; [ offline ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/networking/driftnet/fix-darwin-build.patch b/pkgs/tools/networking/driftnet/fix-darwin-build.patch
new file mode 100644
index 00000000000..d1bde0f2e60
--- /dev/null
+++ b/pkgs/tools/networking/driftnet/fix-darwin-build.patch
@@ -0,0 +1,61 @@
+diff --git a/src/compat/compat.h b/src/compat/compat.h
+index 6add422..ea80406 100644
+--- a/src/compat/compat.h
++++ b/src/compat/compat.h
+@@ -17,7 +17,7 @@
+     #include <config.h>
+ #endif
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__APPLE__)
+     #include <sys/types.h>
+ #endif
+ 
+diff --git a/src/network/layer2.c b/src/network/layer2.c
+index 763f0ac..2497b72 100644
+--- a/src/network/layer2.c
++++ b/src/network/layer2.c
+@@ -14,7 +14,7 @@
+ 
+ #include <string.h>
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__APPLE__)
+ #include <netinet/in_systm.h>
+ #include <netinet/in.h>
+ #else
+@@ -29,7 +29,7 @@
+ /*
+  * Freebsd and Cygwin doesn't define 'ethhdr'
+  */
+-#if defined(__FreeBSD__) || defined(__CYGWIN__)
++#if defined(__FreeBSD__) || defined(__CYGWIN__) || defined(__APPLE__)
+ 
+ #define ETH_ALEN	6			/* Octets in one ethernet addr	 */
+ #define ETH_P_IP	0x0800		/* Internet Protocol packet	*/
+diff --git a/src/network/layer3.c b/src/network/layer3.c
+index 7864126..aae2041 100644
+--- a/src/network/layer3.c
++++ b/src/network/layer3.c
+@@ -15,7 +15,7 @@
+ #include <string.h>
+ #include <assert.h>
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__APPLE__)
+ #include <netinet/in_systm.h>
+ #include <netinet/in.h>
+ #include <sys/socket.h>
+diff --git a/src/pid.c b/src/pid.c
+index 621834e..94e7dcc 100644
+--- a/src/pid.c
++++ b/src/pid.c
+@@ -14,7 +14,7 @@
+ 
+ #include "compat/compat.h"
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__APPLE__)
+ #include <sys/stat.h>
+ #endif
+ #include <fcntl.h>
diff --git a/pkgs/tools/networking/ferm/default.nix b/pkgs/tools/networking/ferm/default.nix
index f344dec6186..29f9481fe32 100644
--- a/pkgs/tools/networking/ferm/default.nix
+++ b/pkgs/tools/networking/ferm/default.nix
@@ -3,12 +3,12 @@
 let
   inherit (lib.versions) majorMinor;
 in stdenv.mkDerivation rec {
-  version = "2.5.1";
+  version = "2.6";
   pname = "ferm";
 
   src = fetchurl {
     url = "http://ferm.foo-projects.org/download/${majorMinor version}/ferm-${version}.tar.xz";
-    sha256 = "0awl9s243sxgayr2fcmfks8xydhrmb9gy8bd9sfq738dgq7vybjb";
+    sha256 = "sha256-aJVBRl58Bzy9YEyc0Y8RPDHAtBuxJhRyalmxfkQFiIU=";
   };
 
   # perl is used at build time to gather the ferm version.
diff --git a/pkgs/tools/networking/filegive/default.nix b/pkgs/tools/networking/filegive/default.nix
index 3ed250ca4bc..1d7bf884edd 100644
--- a/pkgs/tools/networking/filegive/default.nix
+++ b/pkgs/tools/networking/filegive/default.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, lib, stdenv, fetchurl }:
+{ buildGoPackage, lib, fetchurl }:
 
 buildGoPackage rec {
   name = "filegive-0.7.4";
diff --git a/pkgs/tools/networking/findomain/default.nix b/pkgs/tools/networking/findomain/default.nix
index f4016184029..480a64127ca 100644
--- a/pkgs/tools/networking/findomain/default.nix
+++ b/pkgs/tools/networking/findomain/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "findomain";
-  version = "2.1.5";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner = "Edu4rdSHL";
     repo = pname;
     rev = version;
-    sha256 = "sha256-sGco8ISbm3C8w6FsF5oq7G09WBBTO9cVeoFnuKauMWQ=";
+    sha256 = "sha256-eM3XTZ/Y0Kk5bdC+xskS/btGEVrC50342YBYJdXAlDg=";
   };
 
-  cargoSha256 = "sha256-X7us7mLtOSST5LazxSkej9D2ezEk9GiWdudqy4peSJ8=";
+  cargoSha256 = "sha256-U3WXb6qGGshaWJ3GIC+c3W9Y8Cz0O23J7mVojCwitlk=";
 
   nativeBuildInputs = [ installShellFiles perl ];
   buildInputs = lib.optional stdenv.isDarwin Security;
diff --git a/pkgs/tools/networking/frp/default.nix b/pkgs/tools/networking/frp/default.nix
index cc312b9240d..bc92d465699 100644
--- a/pkgs/tools/networking/frp/default.nix
+++ b/pkgs/tools/networking/frp/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "frp";
-  version = "0.35.0";
+  version = "0.35.1";
 
   src = fetchFromGitHub {
     owner = "fatedier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-T/j+avHRQUz1xPq+I4912ZPj3PqXZN4xo3lzChG+fZ8=";
+    sha256 = "sha256-QnD8Yo1GLlOuCnYgzAIGW8JQ5yihmAZGqDFJ412L+W0=";
   };
 
   vendorSha256 = "sha256-odZPXLn5la2x9QIlT3g7+Rxb9tXGhjTycEvJPUPbM2s=";
diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix
index d994d9d8cec..4e20cbe7441 100644
--- a/pkgs/tools/networking/getmail/default.nix
+++ b/pkgs/tools/networking/getmail/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, python2Packages }:
+{ lib, fetchurl, python2Packages }:
 
 python2Packages.buildPythonApplication rec {
   pname = "getmail";
diff --git a/pkgs/tools/networking/getmail6/default.nix b/pkgs/tools/networking/getmail6/default.nix
new file mode 100644
index 00000000000..40be3d2944a
--- /dev/null
+++ b/pkgs/tools/networking/getmail6/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, python3Packages, lib }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "getmail6";
+  version = "6.14";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1a3bw4wwdapd9n051dgwqldd8gwiipb5shaz08qwp1jndpvylm7d";
+  };
+
+  doCheck = false;
+
+  pythonImportsCheck = [ "getmailcore" ];
+
+  postPatch = ''
+    # getmail spends a lot of effort to build an absolute path for
+    # documentation installation; too bad it is counterproductive now
+    sed -e '/datadir or prefix,/d' -i setup.py
+  '';
+
+  meta = with lib; {
+    description = "A program for retrieving mail";
+    homepage = "https://getmail6.org";
+    updateWalker = true;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ abbe ];
+  };
+}
diff --git a/pkgs/tools/networking/gobgp/default.nix b/pkgs/tools/networking/gobgp/default.nix
new file mode 100644
index 00000000000..8c0e093f9dd
--- /dev/null
+++ b/pkgs/tools/networking/gobgp/default.nix
@@ -0,0 +1,33 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "gobgp";
+  version = "2.23.0";
+
+  src = fetchFromGitHub {
+    owner = "osrg";
+    repo = "gobgp";
+    rev = "v${version}";
+    sha256 = "0r7w1c3rh0wnsrhdpzr2fp1aqdqafrb42f2hra6xwwspr092ixq0";
+  };
+
+  vendorSha256 = "0dmd4r6x76jn8pyvp47x4llzc2wij5m9lchgyaagcb5sfdgbns9x";
+
+  postConfigure = ''
+    export CGO_ENABLED=0
+  '';
+
+  buildFlagsArray = ''
+    -ldflags=
+    -s -w -extldflags '-static'
+  '';
+
+  subPackages = [ "cmd/gobgp" ];
+
+  meta = with lib; {
+    description = "A CLI tool for GoBGP";
+    homepage = "https://osrg.github.io/gobgp/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ higebu ];
+  };
+}
diff --git a/pkgs/tools/networking/goimapnotify/default.nix b/pkgs/tools/networking/goimapnotify/default.nix
index 4232a5a4fed..619e364c884 100644
--- a/pkgs/tools/networking/goimapnotify/default.nix
+++ b/pkgs/tools/networking/goimapnotify/default.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, fetchFromGitLab, lib }:
+{ buildGoPackage, fetchFromGitLab, lib, runtimeShell }:
 
 buildGoPackage rec {
   pname = "goimapnotify";
@@ -13,6 +13,10 @@ buildGoPackage rec {
     sha256 = "1d42gd3m2rkvy985d181dbcm5i3f7xsg2z8z6s4bpvw24pfnzs42";
   };
 
+  postPatch = ''
+    substituteInPlace command.go --replace '"sh"' '"${runtimeShell}"'
+  '';
+
   goDeps = ./deps.nix;
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/goklp/default.nix b/pkgs/tools/networking/goklp/default.nix
index 78117a700bd..10c5c8ea64f 100644
--- a/pkgs/tools/networking/goklp/default.nix
+++ b/pkgs/tools/networking/goklp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "goklp";
diff --git a/pkgs/tools/networking/goreplay/default.nix b/pkgs/tools/networking/goreplay/default.nix
index 564c45d2e14..14d0a16366b 100644
--- a/pkgs/tools/networking/goreplay/default.nix
+++ b/pkgs/tools/networking/goreplay/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub, libpcap }:
+{ lib, buildGoPackage, fetchFromGitHub, libpcap }:
 
 buildGoPackage rec {
   pname = "goreplay";
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 50a19ff2d96..6ff8ba096b4 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -11,11 +11,11 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "2.3.2";
+  version = "2.3.5";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
-    sha256 = "1mcg0d6qiwl3xps65ir2sv5sc868zla5wnfhk24d2b0sg6xp7jwr";
+    sha256 = "sha256-eSRTlTC79VWCnH9Yhr4Lf8+NnI/+CGe3AQvrZwq/vks=";
   };
 
   buildInputs = [ openssl zlib ]
diff --git a/pkgs/tools/networking/http-prompt/default.nix b/pkgs/tools/networking/http-prompt/default.nix
index 59a3bffdc6d..3732fbd879f 100644
--- a/pkgs/tools/networking/http-prompt/default.nix
+++ b/pkgs/tools/networking/http-prompt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages, httpie }:
+{ lib, fetchFromGitHub, python3Packages, httpie }:
 
 python3Packages.buildPythonApplication rec {
   pname = "http-prompt";
diff --git a/pkgs/tools/networking/httpie/default.nix b/pkgs/tools/networking/httpie/default.nix
index 66513819ab8..a323087575b 100644
--- a/pkgs/tools/networking/httpie/default.nix
+++ b/pkgs/tools/networking/httpie/default.nix
@@ -1,31 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages, docutils, fetchpatch }:
+{ lib, fetchFromGitHub, python3Packages, docutils }:
 
 python3Packages.buildPythonApplication rec {
   pname = "httpie";
-  version = "2.2.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
-    owner = "jakubroztocil";
+    owner = "httpie";
     repo = "httpie";
     rev = version;
-    sha256 = "0caazv24jr0844c4mdx77vzwwi5m869n10wa42cydb08ppx1xxj6";
+    sha256 = "00lafjqg9nfnak0nhcr2l2hzzkwn2y6qv0wdkm6r6f69snizy3hf";
   };
 
-  outputs = [ "out" "doc" "man" ];
-
-  propagatedBuildInputs = with python3Packages; [ pygments requests setuptools ];
-  dontUseSetuptoolsCheck = true;
   patches = [
     ./strip-venv.patch
-
-    # Fix `test_ciphers_none_can_be_selected`
-    # TODO: remove on next release
-    (fetchpatch {
-      url = "https://github.com/jakubroztocil/httpie/commit/49e71d252f54871a6bc49cb1cba103d385a543b8.patch";
-      sha256 = "13b2faf50gimj7f17dlx4gmd8ph8ipgihpzfqbvmfjlbf1v95fsj";
-    })
   ];
 
+  outputs = [ "out" "doc" "man" ];
+
+  propagatedBuildInputs = with python3Packages; [ pygments requests requests-toolbelt setuptools ];
+
   checkInputs = with python3Packages; [
     mock
     pytest
@@ -70,15 +63,6 @@ python3Packages.buildPythonApplication rec {
     toHtml CHANGELOG.rst $docdir/html/CHANGELOG.html
     toHtml CONTRIBUTING.rst $docdir/html/CONTRIBUTING.html
 
-    # change a few links to the local files
-    substituteInPlace $docdir/html/index.html \
-      --replace \
-        'https://github.com/jakubroztocil/httpie/blob/master/CHANGELOG.rst' \
-        "CHANGELOG.html" \
-      --replace \
-        'https://github.com/jakubroztocil/httpie/blob/master/CONTRIBUTING.rst' \
-        "CONTRIBUTING.html"
-
     ${docutils}/bin/rst2man \
       --strip-elements-with-class=no-web \
       --title=http \
@@ -94,10 +78,14 @@ python3Packages.buildPythonApplication rec {
     export PATH=${docutils}/bin:$PATH
   '';
 
-  meta = {
+  checkPhase = ''
+    py.test ./httpie ./tests --doctest-modules --verbose ./httpie ./tests -k 'not test_chunked and not test_verbose_chunked and not test_multipart_chunked and not test_request_body_from_file_by_path_chunked'
+  '';
+
+  meta = with lib; {
     description = "A command line HTTP client whose goal is to make CLI human-friendly";
     homepage = "https://httpie.org/";
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ antono relrod schneefux ];
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ antono relrod schneefux SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/networking/httpie/strip-venv.patch b/pkgs/tools/networking/httpie/strip-venv.patch
index 99ea80a3f56..9cfddbfdf78 100644
--- a/pkgs/tools/networking/httpie/strip-venv.patch
+++ b/pkgs/tools/networking/httpie/strip-venv.patch
@@ -1,11 +1,11 @@
 diff --git a/tests/test_docs.py b/tests/test_docs.py
-index 7a41822..720ecf6 100644
+index 340e64d..a6b4dc9 100644
 --- a/tests/test_docs.py
 +++ b/tests/test_docs.py
-@@ -41,12 +41,10 @@ assert filenames
- 
+@@ -42,15 +42,10 @@ assert filenames
  # HACK: hardcoded paths, venv should be irrelevant, etc.
- # TODO: replaces the process with Python code
+ # TODO: simplify by using the Python API instead of a subprocess
+ #       then we wont’t need the paths.
 -VENV_BIN = Path(__file__).parent.parent / 'venv/bin'
 -VENV_PYTHON = VENV_BIN / 'python'
 -VENV_RST2PSEUDOXML = VENV_BIN / 'rst2pseudoxml.py'
@@ -13,7 +13,10 @@ index 7a41822..720ecf6 100644
 +VENV_RST2PSEUDOXML = 'rst2pseudoxml.py'
  
  
--@pytest.mark.skipif(not os.path.exists(VENV_RST2PSEUDOXML), reason='docutils not installed')
+-@pytest.mark.skipif(
+-    not VENV_RST2PSEUDOXML.exists(),
+-    reason='docutils not installed',
+-)
  @pytest.mark.parametrize('filename', filenames)
  def test_rst_file_syntax(filename):
      p = subprocess.Popen(
diff --git a/pkgs/tools/networking/httplab/default.nix b/pkgs/tools/networking/httplab/default.nix
index 22dc500fd4c..40851d370c7 100644
--- a/pkgs/tools/networking/httplab/default.nix
+++ b/pkgs/tools/networking/httplab/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "httplab";
diff --git a/pkgs/tools/networking/httpstat/default.nix b/pkgs/tools/networking/httpstat/default.nix
index a8b9630aab2..27c2a145a65 100644
--- a/pkgs/tools/networking/httpstat/default.nix
+++ b/pkgs/tools/networking/httpstat/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, curl, pythonPackages, glibcLocales }:
+{ lib, fetchFromGitHub, curl, pythonPackages, glibcLocales }:
 
 pythonPackages.buildPythonApplication rec {
   pname = "httpstat";
diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix
index ab215952091..fc7a1ffc4f5 100644
--- a/pkgs/tools/networking/i2pd/default.nix
+++ b/pkgs/tools/networking/i2pd/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = with lib; [ boost zlib openssl ]
     ++ optional upnpSupport miniupnpc;
+
   makeFlags =
     let ynf = a: b: a + "=" + (if b then "yes" else "no"); in
     [ (ynf "USE_AESNI" aesniSupport)
@@ -27,6 +28,8 @@ stdenv.mkDerivation rec {
       (ynf "USE_UPNP"  upnpSupport)
     ];
 
+  enableParallelBuilding = true;
+
   installPhase = ''
     install -D i2pd $out/bin/i2pd
   '';
@@ -36,6 +39,6 @@ stdenv.mkDerivation rec {
     description = "Minimal I2P router written in C++";
     license = licenses.bsd3;
     maintainers = with maintainers; [ edwtjo ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/ipgrep/default.nix b/pkgs/tools/networking/ipgrep/default.nix
index dd85a5dcb61..d1f5316c27b 100644
--- a/pkgs/tools/networking/ipgrep/default.nix
+++ b/pkgs/tools/networking/ipgrep/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   version = "1.0.1";
diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix
index 365a0669e42..59315c4bf4b 100644
--- a/pkgs/tools/networking/isync/default.nix
+++ b/pkgs/tools/networking/isync/default.nix
@@ -1,18 +1,20 @@
 { lib, stdenv, fetchurl, pkg-config, perl
-, openssl, db, zlib, cyrus_sasl
+, openssl, db, cyrus_sasl, zlib
+, Security
 }:
 
 stdenv.mkDerivation rec {
   pname = "isync";
-  version = "1.3.3";
+  version = "1.4.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/isync/${pname}-${version}.tar.gz";
-    sha256 = "10n8ykag0q3ws6fc15xqyg3v980v5nq3kzpablly2rh2z7vkn8gj";
+    sha256 = "0pkqvsdmi85xrhzzc7mz87vdvvvp01lf8akhfdnmsdlks8zbzy44";
   };
 
   nativeBuildInputs = [ pkg-config perl ];
-  buildInputs = [ openssl db cyrus_sasl zlib ];
+  buildInputs = [ openssl db cyrus_sasl zlib ]
+    ++ lib.optionals stdenv.isDarwin [ Security ];
 
   meta = with lib; {
     homepage = "http://isync.sourceforge.net/";
diff --git a/pkgs/tools/networking/jnettop/default.nix b/pkgs/tools/networking/jnettop/default.nix
index e311fef339f..bd31235b6f9 100644
--- a/pkgs/tools/networking/jnettop/default.nix
+++ b/pkgs/tools/networking/jnettop/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     })
   ];
 
-  preConfigure = '' autoconf '';
+  preConfigure = "autoconf ";
 
   meta = {
     description = "Network traffic visualizer";
diff --git a/pkgs/tools/networking/kail/default.nix b/pkgs/tools/networking/kail/default.nix
index 2ddcd6c7d4b..ae431b329ea 100644
--- a/pkgs/tools/networking/kail/default.nix
+++ b/pkgs/tools/networking/kail/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "kail";
diff --git a/pkgs/tools/networking/linkchecker/default.nix b/pkgs/tools/networking/linkchecker/default.nix
index 746a99ede59..ea96ab94037 100644
--- a/pkgs/tools/networking/linkchecker/default.nix
+++ b/pkgs/tools/networking/linkchecker/default.nix
@@ -4,13 +4,13 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "linkchecker";
-  version = "unstable-2020-08-15";
+  version = "10.0.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "0086c28b3a419faa60562f2713346996062c03c2";
-    sha256 = "0am5id8vqlqn1gb9jri0vjgiq5ffgrjq8yzdk1zc98gn2n0397wl";
+    rev = "v" + version;
+    sha256 = "sha256-gcaamRxGn124LZ8rU+WzjRookU3akDO0ZyzI7/S6kFA=";
   };
 
   nativeBuildInputs = [ gettext ];
diff --git a/pkgs/tools/networking/lxi-tools/default.nix b/pkgs/tools/networking/lxi-tools/default.nix
index 3f3e62fb807..92ef7f688a5 100644
--- a/pkgs/tools/networking/lxi-tools/default.nix
+++ b/pkgs/tools/networking/lxi-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub
+{ lib, stdenv, fetchFromGitHub
 , autoreconfHook, pkg-config
 , liblxi, readline, lua
 }:
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ liblxi readline lua ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Tool for communicating with LXI compatible instruments";
     longDescription = ''
       lxi-tools is a collection of open source software tools
diff --git a/pkgs/tools/networking/mailsend/default.nix b/pkgs/tools/networking/mailsend/default.nix
index dd09d91a203..9856634116e 100644
--- a/pkgs/tools/networking/mailsend/default.nix
+++ b/pkgs/tools/networking/mailsend/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
   ];
   meta = {
     inherit (s) version;
-    description = ''CLI email sending tool'';
+    description = "CLI email sending tool";
     license = lib.licenses.bsd3 ;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix
index 4194605df53..6c1f454ca8c 100644
--- a/pkgs/tools/networking/mailutils/default.nix
+++ b/pkgs/tools/networking/mailutils/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mailutils";
-  version = "3.10";
+  version = "3.12";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9";
+    sha256 = "0n51ng1f8yf5zfsnh8s0pj9bnw6icb2r0y78gl2kzijaghhzlhvd";
   };
 
   postPatch = ''
@@ -31,12 +31,6 @@ stdenv.mkDerivation rec {
   patches = [
     ./fix-build-mb-len-max.patch
     ./path-to-cat.patch
-    # mailquota.c:277: undefined reference to `get_size'
-    # https://lists.gnu.org/archive/html/bug-mailutils/2020-08/msg00002.html
-    (fetchpatch {
-      url = "http://git.savannah.gnu.org/cgit/mailutils.git/patch/?id=37713b42a501892469234b90454731d8d8b7a3e6";
-      sha256 = "1mwj77nxvf4xvqf26yjs59jyksnizj0lmbymbzg4kmqynzq3zjny";
-    })
     # Fix cross-compilation
     # https://lists.gnu.org/archive/html/bug-mailutils/2020-11/msg00038.html
     (fetchpatch {
@@ -64,8 +58,6 @@ stdenv.mkDerivation rec {
     (fetchurl { url = "${p}/weed.at"; sha256 = "1101xakhc99f5gb9cs3mmydn43ayli7b270pzbvh7f9rbvh0d0nh"; })
   ];
 
-  NIX_CFLAGS_COMPILE = "-L${libmysqlclient}/lib/mysql -I${libmysqlclient}/include/mysql";
-
   checkInputs = [ dejagnu ];
   doCheck = false; # fails 1 out of a bunch of tests, looks like a bug
   doInstallCheck = false; # fails
diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix
index 51ea6e1a0b3..130a7a18ae0 100644
--- a/pkgs/tools/networking/minio-client/default.nix
+++ b/pkgs/tools/networking/minio-client/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2020-11-25T23-04-07Z";
+  version = "2021-02-10T07-32-57Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "0r4za7jnwmh2wna5l4iv5pz6s5c62f7v4hmbv7misff9qbk4p4k7";
+    sha256 = "sha256-dwgQ322KV1aR1RYSowHkb7Q0Pn7vuiV6Me1s6cMyaEs=";
   };
 
-  vendorSha256 = "0zracgqwhqs3gabrqqm8fm3hyicaadcinsjp5qgprjwd9a3c1zfv";
+  vendorSha256 = "sha256-MXCZZZ7NGDu8NMBzfIiNdRduvj7d7nboN2r8ObGx4dQ=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/modem-manager/default.nix b/pkgs/tools/networking/modem-manager/default.nix
index ec74d1a47a0..06102ac2d90 100644
--- a/pkgs/tools/networking/modem-manager/default.nix
+++ b/pkgs/tools/networking/modem-manager/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "modem-manager";
-  version = "1.14.8";
+  version = "1.14.10";
 
   package = "ModemManager";
   src = fetchurl {
     url = "https://www.freedesktop.org/software/${package}/${package}-${version}.tar.xz";
-    sha256 = "15cjy7zzsxagx649vz0990avin47vpgdmm4ss2msggdla6x2c6py";
+    sha256 = "sha256-TqYLN1p2HhfnuwlbyolFee0OjjOyc9xpi1y+A5R/NX8=";
   };
 
   nativeBuildInputs = [ vala gobject-introspection gettext pkg-config ];
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index b03678858ad..5ddbf24bb6a 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, fetchpatch, zlib, protobuf, ncurses, pkg-config
 , makeWrapper, perlPackages, openssl, autoreconfHook, openssh, bash-completion
-, libutempter ? null, withUtempter ? stdenv.isLinux }:
+, withUtempter ? stdenv.isLinux, libutempter }:
 
 stdenv.mkDerivation rec {
   pname = "mosh";
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
   CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
 
-  meta = {
+  meta = with lib; {
     homepage = "https://mosh.org/";
     description = "Mobile shell (ssh replacement)";
     longDescription = ''
@@ -56,8 +56,8 @@ stdenv.mkDerivation rec {
       Mosh is a replacement for SSH. It's more robust and responsive,
       especially over Wi-Fi, cellular, and long-distance links.
     '';
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [viric];
-    platforms = lib.platforms.unix;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ viric ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
index 8296bc47919..1257c167e76 100644
--- a/pkgs/tools/networking/mtr/default.nix
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -1,17 +1,15 @@
 { stdenv, lib, fetchFromGitHub, autoreconfHook, pkg-config
 , libcap, ncurses
-, withGtk ? false, gtk3 ? null }:
-
-assert withGtk -> gtk3 != null;
+, withGtk ? false, gtk3 }:
 
 stdenv.mkDerivation rec {
   pname = "mtr${lib.optionalString withGtk "-gui"}";
   version = "0.94";
 
   src = fetchFromGitHub {
-    owner  = "traviscross";
-    repo   = "mtr";
-    rev    = "v${version}";
+    owner = "traviscross";
+    repo = "mtr";
+    rev = "v${version}";
     sha256 = "0wnz87cr2lcl74bj8qxq9xgai40az3pk9k0z893scyc8svd61xz6";
   };
 
@@ -38,9 +36,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A network diagnostics tool";
-    homepage    = "https://www.bitwizard.nl/mtr/";
-    license     = licenses.gpl2;
+    homepage = "https://www.bitwizard.nl/mtr/";
+    license = licenses.gpl2;
     maintainers = with maintainers; [ koral orivej raskin globin ];
-    platforms   = platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/nebula/default.nix b/pkgs/tools/networking/nebula/default.nix
index 61f0a00a9b8..06684016abc 100644
--- a/pkgs/tools/networking/nebula/default.nix
+++ b/pkgs/tools/networking/nebula/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/nebula" "cmd/nebula-cert" ];
 
-  buildFlagsArray = [ "-ldflags='-X main.Build=${version}'" ];
+  buildFlagsArray = [ "-ldflags=" "-X main.Build=${version}" ];
 
   meta = with lib; {
     description = "A scalable overlay networking tool with a focus on performance, simplicity and security";
diff --git a/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch b/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch
new file mode 100644
index 00000000000..d3caea1b26f
--- /dev/null
+++ b/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch
@@ -0,0 +1,26 @@
+diff --color -ur a/program/nikto.pl b/program/nikto.pl
+--- a/program/nikto.pl	2021-01-30 12:05:54.915072538 +0100
++++ b/program/nikto.pl	2021-01-30 12:36:42.877729231 +0100
+@@ -223,7 +223,8 @@
+     # Guess Nikto current directory
+     my $NIKTODIR = abs_path($0);
+     chomp($NIKTODIR);
+-    $NIKTODIR =~ s#[\\/]nikto.pl$##;
++    $NIKTODIR =~ s#[\\/]bin[\\/]\.nikto-wrapped$##;
++
+ 
+     # Guess user's home directory -- to support Windows
+     foreach my $var (split(/ /, "HOME USERPROFILE")) {
+@@ -231,10 +232,10 @@
+     }
+ 
+     # Read the conf files in order (previous values are over-written with each, if multiple found)
+-    push(@CF,"$NIKTODIR/nikto.conf.default");
++    push(@CF,"$NIKTODIR/etc/nikto.conf.default");
+     push(@CF,"/etc/nikto.conf");
+     push(@CF,"$home/nikto.conf");
+-    push(@CF,"$NIKTODIR/nikto.conf");
++    push(@CF,"$NIKTODIR/etc/nikto.conf");
+     push(@CF,"nikto.conf");
+     push(@CF,"$VARIABLES{'configfile'}");
+ 
diff --git a/pkgs/tools/networking/nikto/default.nix b/pkgs/tools/networking/nikto/default.nix
new file mode 100644
index 00000000000..e1abcb6c140
--- /dev/null
+++ b/pkgs/tools/networking/nikto/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, perlPackages
+, makeWrapper
+, installShellFiles
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nikto";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "sullo";
+    repo = "nikto";
+    rev = "c83d0461edd75c02677dea53da2896644f35ecab";
+    sha256 = "0vwq2zdxir67cn78ls11qf1smd54nppy266v7ajm5rqdc47q7fy2";
+  };
+
+  # Nikto searches its configuration file based on its current path
+  # This fixes the current path regex for the wrapped executable.
+  patches = [ ./NIKTODIR-nix-wrapper-fix.patch ];
+
+  postPatch = ''
+    # EXECDIR needs to be changed to the path where we copy the programs stuff
+    # Forcing SSLeay is needed for SSL support (the auto mode doesn't seem to work otherwise)
+    substituteInPlace program/nikto.conf.default \
+      --replace "# EXECDIR=/opt/nikto" "EXECDIR=$out/share" \
+      --replace "LW_SSL_ENGINE=auto" "LW_SSL_ENGINE=SSLeay"
+  '';
+
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
+
+  propagatedBuildInputs = [ perlPackages.NetSSLeay ];
+
+  buildInputs = [
+    perlPackages.perl
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -d "$out/share"
+    cp -a program/* "$out/share"
+    install -Dm 755 "program/nikto.pl" "$out/bin/nikto"
+    install -Dm 644 program/nikto.conf.default "$out/etc/nikto.conf"
+    installManPage documentation/nikto.1
+    install -Dm 644 program/docs/nikto_manual.html "$out/share/doc/${pname}/manual.html"
+    install -Dm 644 README.md "$out/share/doc/${pname}/README"
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/nikto \
+      --prefix PERL5LIB : $PERL5LIB
+  '';
+
+  meta = with lib; {
+    description = "Web server scanner";
+    license = licenses.gpl2Plus;
+    homepage = "https://cirt.net/Nikto2";
+    maintainers = with maintainers; [ shamilton ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index 698046358e3..0de96169769 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python2Packages,
+{ lib, fetchFromGitHub, python2Packages,
   asciidoc, cacert, libxml2, libxslt, docbook_xsl }:
 
 python2Packages.buildPythonApplication rec {
diff --git a/pkgs/tools/networking/openresolv/default.nix b/pkgs/tools/networking/openresolv/default.nix
index 068b3e4ae89..bc7db4fc6f3 100644
--- a/pkgs/tools/networking/openresolv/default.nix
+++ b/pkgs/tools/networking/openresolv/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "openresolv";
-  version = "3.11.0";
+  version = "3.12.0";
 
   src = fetchurl {
     url = "mirror://roy/openresolv/${pname}-${version}.tar.xz";
-    sha256 = "0g7wb2880hbr0x99n73m7fgjm7lcdbpxfy2i620zxcq73qfrvspa";
+    sha256 = "sha256-QrMFCOhXoihTXGMeqsk2hi2G7KaMFLXAvzh7oXa5G5c=";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/persepolis/default.nix b/pkgs/tools/networking/persepolis/default.nix
index fd36680c992..5e4f0542d36 100644
--- a/pkgs/tools/networking/persepolis/default.nix
+++ b/pkgs/tools/networking/persepolis/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildPythonApplication, fetchFromGitHub, makeWrapper
+{ lib, buildPythonApplication, fetchFromGitHub, makeWrapper
 , aria
 , libnotify
 , pulseaudio
@@ -47,7 +47,7 @@ buildPythonApplication rec {
   # feed args to wrapPythonApp
   makeWrapperArgs = [
     "--prefix PATH : ${lib.makeBinPath [aria libnotify ]}"
-    ''''${qtWrapperArgs[@]}''
+    "\${qtWrapperArgs[@]}"
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/networking/photon/default.nix b/pkgs/tools/networking/photon/default.nix
index 55dedc09bea..d3f153e44ae 100644
--- a/pkgs/tools/networking/photon/default.nix
+++ b/pkgs/tools/networking/photon/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
 python3Packages.buildPythonApplication rec {
   pname = "photon";
diff --git a/pkgs/tools/networking/pirate-get/default.nix b/pkgs/tools/networking/pirate-get/default.nix
index 76b77da1764..dc9133229af 100644
--- a/pkgs/tools/networking/pirate-get/default.nix
+++ b/pkgs/tools/networking/pirate-get/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages }:
+{ lib, python3Packages }:
 
 with python3Packages;
 
diff --git a/pkgs/tools/networking/pixiecore/default.nix b/pkgs/tools/networking/pixiecore/default.nix
index ec275c5e6a8..6155d411e13 100644
--- a/pkgs/tools/networking/pixiecore/default.nix
+++ b/pkgs/tools/networking/pixiecore/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "pixiecore";
diff --git a/pkgs/tools/networking/polysh/default.nix b/pkgs/tools/networking/polysh/default.nix
index 68cb8fed57a..69e5d0427e5 100644
--- a/pkgs/tools/networking/polysh/default.nix
+++ b/pkgs/tools/networking/polysh/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, python2Packages }:
+{ lib, fetchurl, python2Packages }:
 
 let
   inherit (python2Packages) buildPythonApplication;
diff --git a/pkgs/tools/networking/privoxy/default.nix b/pkgs/tools/networking/privoxy/default.nix
index 2963f2aff52..efb57e7d247 100644
--- a/pkgs/tools/networking/privoxy/default.nix
+++ b/pkgs/tools/networking/privoxy/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   pname = "privoxy";
-  version = "3.0.29";
+  version = "3.0.31";
 
   src = fetchurl {
     url = "mirror://sourceforge/ijbswa/Sources/${version}%20%28stable%29/${pname}-${version}-stable-src.tar.gz";
-    sha256 = "17a8fbdyb0ixc0wwq68fg7xn7l6n7jq67njpq93psmxgzng0dii5";
+    sha256 = "sha256-B3cpo6rHkiKk6NiKZQ2QKNFv1LDWA42o9fXkcSDQBOs=";
   };
 
   hardeningEnable = [ "pie" ];
diff --git a/pkgs/tools/networking/proxify/default.nix b/pkgs/tools/networking/proxify/default.nix
index 7f45d53d41d..6a0bfcc6ee2 100644
--- a/pkgs/tools/networking/proxify/default.nix
+++ b/pkgs/tools/networking/proxify/default.nix
@@ -1,6 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
diff --git a/pkgs/tools/networking/proxychains/default.nix b/pkgs/tools/networking/proxychains/default.nix
index 8eb20538ea9..56a553c0c80 100644
--- a/pkgs/tools/networking/proxychains/default.nix
+++ b/pkgs/tools/networking/proxychains/default.nix
@@ -1,27 +1,33 @@
-{ lib, stdenv, fetchFromGitHub } :
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
 stdenv.mkDerivation rec {
   pname = "proxychains";
-  version = "4.2.0";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "haad";
-    repo = "proxychains";
+    repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "015skh3z1jmm8kxbm3nkqv1w56kcvabdmcbmpwzywxr4xnh3x3pc";
+    sha256 = "083xdg6fsn8c2ns93lvy794rixxq8va6jdf99w1z0xi4j7f1nyjw";
   };
 
   postPatch = ''
-    # Temporary work-around; most likely fixed by next upstream release
-    sed -i Makefile -e '/-lpthread/a LDFLAGS+=-ldl'
+    # Suppress compiler warning. Remove it when upstream fix arrives
+    substituteInPlace Makefile --replace "-Werror" "-Werror -Wno-stringop-truncation"
   '';
+
   postInstall = ''
     cp src/proxychains.conf $out/etc
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Proxifier for SOCKS proxies";
     homepage = "http://proxychains.sourceforge.net";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ fab ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/pssh/default.nix b/pkgs/tools/networking/pssh/default.nix
index b2b08cea844..a17701644c8 100644
--- a/pkgs/tools/networking/pssh/default.nix
+++ b/pkgs/tools/networking/pssh/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pythonPackages, openssh, rsync }:
+{ lib, fetchFromGitHub, pythonPackages, openssh, rsync }:
 
 pythonPackages.buildPythonApplication rec {
   pname = "pssh";
diff --git a/pkgs/tools/networking/pykms/default.nix b/pkgs/tools/networking/pykms/default.nix
index f856f591bf4..d648ff3ec1e 100644
--- a/pkgs/tools/networking/pykms/default.nix
+++ b/pkgs/tools/networking/pykms/default.nix
@@ -1,9 +1,13 @@
-{ lib, stdenv, runtimeShell, fetchFromGitHub, python3, writeText, writeScript
-, coreutils, sqlite }:
-
-with python3.pkgs;
-
+{ lib
+, fetchFromGitHub
+, python3
+, writeText
+, writeShellScript
+, sqlite
+}:
 let
+  pypkgs = python3.pkgs;
+
   dbSql = writeText "create_pykms_db.sql" ''
     CREATE TABLE clients(
       clientMachineId TEXT,
@@ -17,35 +21,31 @@ let
     );
   '';
 
-  dbScript = writeScript "create_pykms_db.sh" (with lib; ''
-    #!${runtimeShell}
-
+  dbScript = writeShellScript "create_pykms_db.sh" ''
     set -eEuo pipefail
 
-    db=$1
+    db=''${1:-/var/lib/pykms/clients.db}
 
     if [ ! -e $db ] ; then
-      ${getBin sqlite}/bin/sqlite3 $db < ${dbSql}
+      ${lib.getBin sqlite}/bin/sqlite3 $db < ${dbSql}
     fi
-  '');
+  '';
 
-in buildPythonApplication rec {
+in
+pypkgs.buildPythonApplication rec {
   pname = "pykms";
-  version = "20190611";
+  version = "unstable-2021-01-25";
 
   src = fetchFromGitHub {
-    owner  = "SystemRage";
-    repo   = "py-kms";
-    rev    = "dead208b1593655377fe8bc0d74cc4bead617103";
-    sha256 = "065qpkfqrahsam1rb43vnasmzrangan5z1pr3p6s0sqjz5l2jydp";
+    owner = "SystemRage";
+    repo = "py-kms";
+    rev = "a3b0c85b5b90f63b33dfa5ae6085fcd52c6da2ff";
+    sha256 = "sha256-u0R0uJMQxHnJUDenxglhQkZza3/1DcyXCILcZVceygA=";
   };
 
   sourceRoot = "source/py-kms";
 
-  propagatedBuildInputs = [ systemd pytz tzlocal ];
-
-  # Fix https://github.com/SystemRage/py-kms/issues/64 :
-  patches = [ ./log-to-current-directory-by-default.patch ];
+  propagatedBuildInputs = with pypkgs; [ systemd pytz tzlocal ];
 
   postPatch = ''
     siteDir=$out/${python3.sitePackages}
@@ -66,25 +66,24 @@ in buildPythonApplication rec {
 
     mv * $siteDir
     for b in Client Server ; do
-      makeWrapper ${python.interpreter} $out/bin/''${b,,} \
-        --argv0 ''${b,,} \
-        --add-flags $siteDir/pykms_$b.py \
-        --prefix PYTHONPATH : "$(toPythonPath ${systemd})"
+      makeWrapper ${python3.interpreter} $out/bin/''${b,,} \
+        --argv0 pykms-''${b,,} \
+        --add-flags $siteDir/pykms_$b.py
     done
 
     install -Dm755 ${dbScript} $out/libexec/create_pykms_db.sh
 
     install -Dm644 ../README.md -t $out/share/doc/pykms
 
-    ${python.interpreter} -m compileall $siteDir
+    ${python3.interpreter} -m compileall $siteDir
 
     runHook postInstall
   '';
 
   meta = with lib; {
     description = "Windows KMS (Key Management Service) server written in Python";
-    homepage    = "https://github.com/SystemRage/py-kms";
-    license     = licenses.mit;
+    homepage = "https://github.com/SystemRage/py-kms";
+    license = licenses.unlicense;
     maintainers = with maintainers; [ peterhoeg ];
   };
 }
diff --git a/pkgs/tools/networking/pykms/log-to-current-directory-by-default.patch b/pkgs/tools/networking/pykms/log-to-current-directory-by-default.patch
deleted file mode 100644
index 7c8c65b63a2..00000000000
--- a/pkgs/tools/networking/pykms/log-to-current-directory-by-default.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-# By default, create log files in current directory, instead of the script directory.
---- ../original/py-kms/pykms_Client.py
-+++ py-kms/pykms_Client.py
-@@ -48,5 +48,5 @@
-                     'choi' : ["CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG", "MINI"]},
-         'lfile' : {'help' : 'Use this option to set an output log file. The default is \"pykms_logclient.log\" or type \"STDOUT\" to view log info on stdout.',
--                   'def' : os.path.dirname(os.path.abspath( __file__ )) + "/pykms_logclient.log", 'des' : "logfile"},
-+                   'def' : "pykms_logclient.log", 'des' : "logfile"},
-         'lsize' : {'help' : 'Use this flag to set a maximum size (in MB) to the output log file. Desactivated by default.', 'def' : 0, 'des': "logsize"},
-         }
---- ../original/py-kms/pykms_Server.py
-+++ py-kms/pykms_Server.py
-@@ -85,5 +85,5 @@
-                     'choi' : ["CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG", "MINI"]},
-         'lfile' : {'help' : 'Use this option to set or not an output log file. The default is \"pykms_logserver.log\" or type \"STDOUT\" to view log info on stdout.',
--                   'def' : os.path.dirname(os.path.abspath( __file__ )) + "/pykms_logserver.log", 'des' : "logfile"},
-+                   'def' : "pykms_logserver.log", 'des' : "logfile"},
-         'lsize' : {'help' : 'Use this flag to set a maximum size (in MB) to the output log file. Desactivated by default.', 'def' : 0, 'des': "logsize"},
-         }
-    '');
diff --git a/pkgs/tools/networking/radvd/default.nix b/pkgs/tools/networking/radvd/default.nix
index 6a4c8a3d4f6..ddd196ebe56 100644
--- a/pkgs/tools/networking/radvd/default.nix
+++ b/pkgs/tools/networking/radvd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "radvd";
-  version = "2.18";
+  version = "2.19";
 
   src = fetchurl {
     url = "http://www.litech.org/radvd/dist/${pname}-${version}.tar.xz";
-    sha256 = "1p2wlv3djvla0r84hdncc3wfa530xigs7z9ssc2v5r1pcpzgxgz1";
+    sha256 = "0h722f17h7cra1sjgrxhrrvx54mm47fs039909yhbabigxch8kjn";
   };
 
   nativeBuildInputs = [ pkg-config bison flex check ];
diff --git a/pkgs/tools/networking/rcon/default.nix b/pkgs/tools/networking/rcon/default.nix
index 1ec988676e4..03c2a1ae1a3 100644
--- a/pkgs/tools/networking/rcon/default.nix
+++ b/pkgs/tools/networking/rcon/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rcon";
-  version = "0.5";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner = "n0la";
     repo = "rcon";
     rev = version;
-    sha256 = "1jsnmsm2qkiv8dan1yncx0qp6zfkcbyvf81c7xwpv6r499ijw1nb";
+    sha256 = "sha256-bHm6JeWmpg42VZQXikHl+BMx9zimRLBQWemTqOxyLhw=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/tools/networking/s3cmd/default.nix b/pkgs/tools/networking/s3cmd/default.nix
index 06f51b0c506..15f6ff3dfa0 100644
--- a/pkgs/tools/networking/s3cmd/default.nix
+++ b/pkgs/tools/networking/s3cmd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildPythonApplication, fetchFromGitHub, python_magic, dateutil }:
+{ lib, buildPythonApplication, fetchFromGitHub, python_magic, dateutil }:
 
 buildPythonApplication rec {
   pname = "s3cmd";
diff --git a/pkgs/tools/networking/s3gof3r/default.nix b/pkgs/tools/networking/s3gof3r/default.nix
index 390b35b0297..4623b68ad4c 100644
--- a/pkgs/tools/networking/s3gof3r/default.nix
+++ b/pkgs/tools/networking/s3gof3r/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchgit }:
+{ lib, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   pname = "s3gof3r";
diff --git a/pkgs/tools/networking/s4cmd/default.nix b/pkgs/tools/networking/s4cmd/default.nix
index 80874649072..95dc02cb5cd 100644
--- a/pkgs/tools/networking/s4cmd/default.nix
+++ b/pkgs/tools/networking/s4cmd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages }:
+{ lib, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "s4cmd";
diff --git a/pkgs/tools/networking/s6-networking/default.nix b/pkgs/tools/networking/s6-networking/default.nix
index 3f10b850ca7..e7dd075df13 100644
--- a/pkgs/tools/networking/s6-networking/default.nix
+++ b/pkgs/tools/networking/s6-networking/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, skawarePackages
+{ lib, stdenv, skawarePackages
 
 # Whether to build the TLS/SSL tools and what library to use
 # acceptable values: "libressl", false
@@ -8,7 +8,6 @@
 
 with skawarePackages;
 let
-  inherit (stdenv) lib;
   sslSupportEnabled = sslSupport != false;
   sslLibs = {
     libressl = libressl;
diff --git a/pkgs/tools/networking/shadowfox/default.nix b/pkgs/tools/networking/shadowfox/default.nix
index c7507925f5f..e6b1c823eb8 100644
--- a/pkgs/tools/networking/shadowfox/default.nix
+++ b/pkgs/tools/networking/shadowfox/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoModule }:
+{ lib, fetchFromGitHub, buildGoModule }:
 
 buildGoModule rec {
   pname = "shadowfox";
diff --git a/pkgs/tools/networking/subfinder/default.nix b/pkgs/tools/networking/subfinder/default.nix
index 4474cba6aee..2844cc2dac0 100644
--- a/pkgs/tools/networking/subfinder/default.nix
+++ b/pkgs/tools/networking/subfinder/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "subfinder";
diff --git a/pkgs/tools/networking/swaks/default.nix b/pkgs/tools/networking/swaks/default.nix
index 85e89989475..fb822177725 100644
--- a/pkgs/tools/networking/swaks/default.nix
+++ b/pkgs/tools/networking/swaks/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "swaks";
-  version = "20190914.0";
+  version = "20201014.0";
 
   src = fetchurl {
     url = "https://www.jetmore.org/john/code/swaks/files/${pname}-${version}.tar.gz";
-    sha256 = "12awq5z4sdd54cxprj834zajxhkpy4jwhzf1fhigcx1zbhdaacsp";
+    sha256 = "0c2sx4nrh4whsqzj6m5ay8d7yqan3aqgg436p8jb25bs91ykn2pv";
   };
 
   buildInputs = [ perl makeWrapper ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://www.jetmore.org/john/code/swaks/";
     description = "A featureful, flexible, scriptable, transaction-oriented SMTP test tool";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [];
     platforms = platforms.all;
   };
diff --git a/pkgs/tools/networking/tcpreplay/default.nix b/pkgs/tools/networking/tcpreplay/default.nix
index 0c322fe9f63..a33bb486568 100644
--- a/pkgs/tools/networking/tcpreplay/default.nix
+++ b/pkgs/tools/networking/tcpreplay/default.nix
@@ -31,5 +31,9 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd3 gpl3 ];
     maintainers = with maintainers; [ eleanor ];
     platforms = platforms.unix;
+    knownVulnerabilities = [
+      "CVE-2020-24265" # https://github.com/appneta/tcpreplay/issues/616
+      "CVE-2020-24266" # https://github.com/appneta/tcpreplay/issues/617
+    ];
   };
 }
diff --git a/pkgs/tools/networking/tdns-cli/default.nix b/pkgs/tools/networking/tdns-cli/default.nix
index 0ed7922874d..9d786d60b12 100644
--- a/pkgs/tools/networking/tdns-cli/default.nix
+++ b/pkgs/tools/networking/tdns-cli/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
   name = "tdns-cli";
diff --git a/pkgs/tools/networking/tendermint/default.nix b/pkgs/tools/networking/tendermint/default.nix
index bd280e75379..059c531cc61 100644
--- a/pkgs/tools/networking/tendermint/default.nix
+++ b/pkgs/tools/networking/tendermint/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, buildGoModule }:
+{ lib, fetchFromGitHub, buildGoModule }:
 
 buildGoModule rec {
   pname = "tendermint";
-  version = "0.34.0";
+  version = "0.34.3";
 
   src = fetchFromGitHub {
     owner = "tendermint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1fnykdk35937ld8dyzjs571klz187jr8wlj8ljn78pajx1cd84k6";
+    sha256 = "sha256-tkIoLYfqlnyyAAgEKyQgE317uwyhc8xRTCTUXi+9r9s=";
   };
 
-  vendorSha256 = "19qx7ab6ar609cxxdsb9i2c3h7icqgf5bhi28lnsdk3bdjxr27vz";
+  vendorSha256 = "sha256-DviK+MkJwcv2Dhwmqra5G/fTaWxXFbUSUVnAkSHjeII=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/termshark/default.nix b/pkgs/tools/networking/termshark/default.nix
index f4e790fea36..7b9a3c42d60 100644
--- a/pkgs/tools/networking/termshark/default.nix
+++ b/pkgs/tools/networking/termshark/default.nix
@@ -1,20 +1,20 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, buildGoModule, wireshark-cli }:
+{ lib, fetchFromGitHub, makeWrapper, buildGoModule, wireshark-cli }:
 
 buildGoModule rec {
   pname = "termshark";
-  version = "2.1.1";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "gcla";
     repo = "termshark";
     rev = "v${version}";
-    sha256 = "14h548apg3zvjvq6yy22hpw2ziy5vmwyr04vv59ls1mjg4qf2v8b";
+    sha256 = "sha256-vS6j8Mcri3SI/6HqtFX/EzVl8S0lx8fWU+0ddjzJz8g=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ wireshark-cli ];
 
-  vendorSha256 = "14apff3vcbndr30765lzi4qswakavb4396bjixxvpxv6i5c04dq7";
+  vendorSha256 = "sha256-md9HHiYOsBimCBjD1FyjTqnskCZksQiEggWd5UW0RPM=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/tox-node/default.nix b/pkgs/tools/networking/tox-node/default.nix
index 85fcea008de..f250b8d6b65 100644
--- a/pkgs/tools/networking/tox-node/default.nix
+++ b/pkgs/tools/networking/tox-node/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub
+{ lib, rustPlatform, fetchFromGitHub
 , libsodium, openssl
 , pkg-config
 }:
@@ -7,13 +7,13 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "tox-node";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "tox-rs";
     repo = "tox-node";
     rev = "v${version}";
-    sha256 = "0bar42nigjwn7dq48rmg74sm3gnfqvb6gnd9g1n0i8nmynd00wvn";
+    sha256 = "sha256-tB6v2NEBdTNHf89USdQOr/pV0mbxxb8ftOYPPJMvz5Y=";
   };
 
   buildInputs = [ libsodium openssl ];
@@ -31,7 +31,7 @@ buildRustPackage rec {
 
   doCheck = false;
 
-  cargoSha256 = "087ccb824hmmxmnn5c2bzww2q888a8zy6y7rwgsdfr8rbay2c909";
+  cargoSha256 = "sha256-kCT2ulB+c2OlsABkyXyzrHfD/G92EPCdTO34FR5oSws=";
 
   meta = with lib; {
     description = "A server application to run tox node written in pure Rust";
diff --git a/pkgs/tools/networking/tridactyl-native/default.nix b/pkgs/tools/networking/tridactyl-native/default.nix
index 2e17f753a5b..ce7325975fb 100644
--- a/pkgs/tools/networking/tridactyl-native/default.nix
+++ b/pkgs/tools/networking/tridactyl-native/default.nix
@@ -7,13 +7,13 @@ stdenv.mkDerivation rec {
   pname = "tridactyl-native";
   # this is actually the version of tridactyl itself; the native messenger will
   # probably not change with every tridactyl version
-  version = "1.20.3";
+  version = "1.20.4";
 
   src = fetchFromGitHub {
     owner = "tridactyl";
     repo = "tridactyl";
     rev = version;
-    sha256 = "064cl9m4hdv69q1af0xjcf2rf30n3pvz6ym2l53w90aq3217amps";
+    sha256 = "sha256-BjjRB9VadQ/MSwNK2QLbcTDoRs6Ua+5MONHtmfq4xz0=";
   };
   sourceRoot = "source/native";
 
diff --git a/pkgs/tools/networking/ua/default.nix b/pkgs/tools/networking/ua/default.nix
index 69bc3fc409b..feb17b283de 100644
--- a/pkgs/tools/networking/ua/default.nix
+++ b/pkgs/tools/networking/ua/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchgit
+{ lib, buildGoPackage, fetchgit
 , pkg-config
 , glib, libxml2
 }:
diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix
index 10bbc963a28..1cea3989ed2 100644
--- a/pkgs/tools/networking/urlwatch/default.nix
+++ b/pkgs/tools/networking/urlwatch/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "urlwatch";
diff --git a/pkgs/tools/networking/waitron/default.nix b/pkgs/tools/networking/waitron/default.nix
index 7efe7018d31..8364cd5763d 100644
--- a/pkgs/tools/networking/waitron/default.nix
+++ b/pkgs/tools/networking/waitron/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-{ lib, stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
 
 buildGoPackage rec {
   name = "waitron-unstable-${version}";
diff --git a/pkgs/tools/networking/wakeonlan/default.nix b/pkgs/tools/networking/wakeonlan/default.nix
new file mode 100644
index 00000000000..48b99cadf2b
--- /dev/null
+++ b/pkgs/tools/networking/wakeonlan/default.nix
@@ -0,0 +1,29 @@
+{ lib, perlPackages, fetchFromGitHub, installShellFiles }:
+
+perlPackages.buildPerlPackage rec {
+  pname = "wakeonlan";
+  version = "0.41";
+
+  src = fetchFromGitHub {
+    owner = "jpoliv";
+    repo = pname;
+    rev = "wakeonlan-${version}";
+    sha256 = "0m48b39lz0yc5ckx2jx8y2p4c8npjngxl9wy86k43xgsd8mq1g3c";
+  };
+
+  outputs = [ "out" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  installPhase = ''
+    install -Dt $out/bin wakeonlan
+    installManPage blib/man1/wakeonlan.1
+  '';
+
+  meta = with lib; {
+    description = "Perl script for waking up computers via Wake-On-LAN magic packets";
+    homepage = "https://github.com/jpoliv/wakeonlan";
+    license = licenses.artistic1;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/tools/networking/weighttp/default.nix b/pkgs/tools/networking/weighttp/default.nix
index 72bd29247ab..7c3d23c0d17 100644
--- a/pkgs/tools/networking/weighttp/default.nix
+++ b/pkgs/tools/networking/weighttp/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchgit, python, libev, wafHook }:
+
 stdenv.mkDerivation rec {
   pname = "weighttp";
   version = "0.4";
@@ -10,11 +11,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ wafHook ];
+
   buildInputs = [ python libev ];
 
-  meta = {
-    platforms = lib.platforms.unix;
+  meta = with lib; {
+    description = "Lightweight and simple webserver benchmarking tool";
     homepage = "https://redmine.lighttpd.net/projects/weighttp/wiki";
-    description = "A lightweight and simple webserver benchmarking tool";
+    platforms = platforms.unix;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/tools/networking/wifite2/default.nix b/pkgs/tools/networking/wifite2/default.nix
index 3b1c3f14ac5..054b77f8c9b 100644
--- a/pkgs/tools/networking/wifite2/default.nix
+++ b/pkgs/tools/networking/wifite2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, python3, wirelesstools
+{ lib, fetchFromGitHub, fetchpatch, python3, wirelesstools
 , aircrack-ng, wireshark-cli, reaverwps-t6x, cowpatty, hashcat, hcxtools
 , hcxdumptool, pyrit, which }:
 
diff --git a/pkgs/tools/networking/wireguard-go/default.nix b/pkgs/tools/networking/wireguard-go/default.nix
index 100de62683d..35c5371113c 100644
--- a/pkgs/tools/networking/wireguard-go/default.nix
+++ b/pkgs/tools/networking/wireguard-go/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchzip }:
+{ lib, buildGoPackage, fetchzip }:
 
 buildGoPackage rec {
   pname = "wireguard-go";
diff --git a/pkgs/tools/networking/wormhole-william/default.nix b/pkgs/tools/networking/wormhole-william/default.nix
index 6476d4f43b1..48f842f60ce 100644
--- a/pkgs/tools/networking/wormhole-william/default.nix
+++ b/pkgs/tools/networking/wormhole-william/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "wormhole-william";
diff --git a/pkgs/tools/networking/wstunnel/default.nix b/pkgs/tools/networking/wstunnel/default.nix
index 161b08a7d39..a851dcd4ead 100644
--- a/pkgs/tools/networking/wstunnel/default.nix
+++ b/pkgs/tools/networking/wstunnel/default.nix
@@ -1,6 +1,6 @@
 { mkDerivation, async, base, base64-bytestring, binary, bytestring
 , classy-prelude, cmdargs, connection, hslogger, mtl, network
-, network-conduit-tls, stdenv, streaming-commons, text
+, network-conduit-tls, streaming-commons, text
 , unordered-containers, websockets
 , hspec, iproute
 , lib, fetchFromGitHub, fetchpatch
diff --git a/pkgs/tools/networking/wuzz/default.nix b/pkgs/tools/networking/wuzz/default.nix
index 73db27f1a94..156841be334 100644
--- a/pkgs/tools/networking/wuzz/default.nix
+++ b/pkgs/tools/networking/wuzz/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "wuzz";
diff --git a/pkgs/tools/networking/xh/default.nix b/pkgs/tools/networking/xh/default.nix
new file mode 100644
index 00000000000..b7246959017
--- /dev/null
+++ b/pkgs/tools/networking/xh/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, rustPlatform, fetchFromGitHub, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "xh";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "ducaale";
+    repo = "xh";
+    rev = "v${version}";
+    sha256 = "0b7q0xbfbrhvpnxbm9bd1ncdza9k2kcmcir3qhqzb2pgsb5b5njx";
+  };
+
+  cargoSha256 = "02fgqys9qf0jzs2n230pyj151v6xbm6wm2rd9qm5gsib6zaq7gfa";
+
+  buildInputs = lib.optional stdenv.isDarwin Security;
+
+  checkFlagsArray = [ "--skip=basic_options" ];
+
+  doInstallCheck = true;
+  postInstallCheck = ''
+    $out/bin/xh --help > /dev/null
+  '';
+
+  meta = with lib; {
+    description = "Yet another HTTPie clone in Rust";
+    homepage = "https://github.com/ducaale/xh";
+    license = licenses.mit;
+    maintainers = with maintainers; [ payas SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/tools/networking/yrd/default.nix b/pkgs/tools/networking/yrd/default.nix
index 7f946718588..75a89b859fe 100644
--- a/pkgs/tools/networking/yrd/default.nix
+++ b/pkgs/tools/networking/yrd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pythonPackages }:
+{ lib, fetchFromGitHub, pythonPackages }:
 
 let
   pname = "yrd";
diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix
index 96de4fc34e4..c17023103f8 100644
--- a/pkgs/tools/networking/zerotierone/default.nix
+++ b/pkgs/tools/networking/zerotierone/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zerotierone";
-  version = "1.6.2";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "zerotier";
     repo = "ZeroTierOne";
     rev = version;
-    sha256 = "0lky68fjrqjsd62g97jkn5a9hzj53g8wb6d2ncx8s21rknpncdar";
+    sha256 = "0a9sjcri96pv4pvvi94g7jyldwfhqqsi1k58maymm0jnqnj91z25";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/nix/cached-nix-shell/default.nix b/pkgs/tools/nix/cached-nix-shell/default.nix
index b495a302618..853bf87346f 100644
--- a/pkgs/tools/nix/cached-nix-shell/default.nix
+++ b/pkgs/tools/nix/cached-nix-shell/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, openssl, pkg-config, ronn, rustPlatform }:
+{ lib, fetchFromGitHub, openssl, pkg-config, ronn, rustPlatform }:
 
 let
   blake3-src = fetchFromGitHub {
diff --git a/pkgs/tools/nix/nar-serve/default.nix b/pkgs/tools/nix/nar-serve/default.nix
index 4b0239a2fa2..146165d880d 100644
--- a/pkgs/tools/nix/nar-serve/default.nix
+++ b/pkgs/tools/nix/nar-serve/default.nix
@@ -1,7 +1,7 @@
 { buildGoModule
 , fetchFromGitHub
 , lib
-, stdenv
+
 }:
 let
   pname = "nar-serve";
diff --git a/pkgs/tools/nix/nix-output-monitor/default.nix b/pkgs/tools/nix/nix-output-monitor/default.nix
index 38e2b060c0c..b177b9a233a 100644
--- a/pkgs/tools/nix/nix-output-monitor/default.nix
+++ b/pkgs/tools/nix/nix-output-monitor/default.nix
@@ -1,5 +1,5 @@
 { mkDerivation, ansi-terminal, async, attoparsec, base, containers
-, directory, HUnit, mtl, nix-derivation, process, relude, lib, stdenv
+, directory, HUnit, mtl, nix-derivation, process, relude, lib
 , stm, text, time, unix, fetchFromGitHub
 }:
 mkDerivation {
diff --git a/pkgs/tools/nix/nix-query-tree-viewer/default.nix b/pkgs/tools/nix/nix-query-tree-viewer/default.nix
index f820f36e49f..353aafa2a7e 100644
--- a/pkgs/tools/nix/nix-query-tree-viewer/default.nix
+++ b/pkgs/tools/nix/nix-query-tree-viewer/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, glib, gtk3, wrapGAppsHook }:
+{ lib, fetchFromGitHub, rustPlatform, glib, gtk3, wrapGAppsHook }:
 
 rustPlatform.buildRustPackage rec {
   pname = "nix-query-tree-viewer";
diff --git a/pkgs/tools/package-management/apk-tools/default.nix b/pkgs/tools/package-management/apk-tools/default.nix
index c1141362f82..fed7de01b98 100644
--- a/pkgs/tools/package-management/apk-tools/default.nix
+++ b/pkgs/tools/package-management/apk-tools/default.nix
@@ -1,20 +1,29 @@
-{ stdenv, lib, fetchurl, lua, openssl, pkg-config, zlib }:
+{ lib, stdenv, fetchFromGitLab, pkg-config, scdoc, openssl, zlib
+, luaSupport ? stdenv.hostPlatform == stdenv.buildPlatform, lua
+}:
 
 stdenv.mkDerivation rec {
   pname = "apk-tools";
-  version = "2.10.5";
+  version = "2.12.2";
 
-  src = fetchurl {
-    url = "https://dev.alpinelinux.org/archive/apk-tools/apk-tools-${version}.tar.xz";
-    sha256 = "00z3fqnv8vk2czdm4p2q4sldq0n8sxyf2qfwppyk7wj59d2sq8dp";
+  src = fetchFromGitLab {
+    domain = "gitlab.alpinelinux.org";
+    owner = "alpine";
+    repo = "apk-tools";
+    rev = "v${version}";
+    sha256 = "1crx2xlswi7i0mwgzrfphpf49ghfnh79fi5dn1sl611j9sy9wa29";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ lua openssl zlib ];
+  nativeBuildInputs = [ pkg-config scdoc ]
+    ++ lib.optionals luaSupport [ lua lua.pkgs.lua-zlib ];
+  buildInputs = [ openssl zlib ] ++ lib.optional luaSupport lua;
+  strictDeps = true;
 
   makeFlags = [
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
     "SBINDIR=$(out)/bin"
     "LIBDIR=$(out)/lib"
+    "LUA=${if luaSupport then "lua" else "no"}"
     "LUA_LIBDIR=$(out)/lib/lua/${lib.versions.majorMinor lua.version}"
     "MANDIR=$(out)/share/man"
     "DOCDIR=$(out)/share/doc/apk"
@@ -30,7 +39,7 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.alpinelinux.org/alpine/apk-tools";
     description = "Alpine Package Keeper";
     maintainers = with maintainers; [ qyliss ];
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = platforms.unix;
     broken = stdenv.isDarwin;
   };
diff --git a/pkgs/tools/package-management/appimage-run/default.nix b/pkgs/tools/package-management/appimage-run/default.nix
index 3bc59f2ad14..98a04dff8f8 100644
--- a/pkgs/tools/package-management/appimage-run/default.nix
+++ b/pkgs/tools/package-management/appimage-run/default.nix
@@ -1,4 +1,4 @@
-{ appimageTools, buildFHSUserEnv, extraPkgs ? pkgs: [] }:
+{ appimageTools, buildFHSUserEnv, extraPkgs ? pkgs: [], appimage-run-tests ? null }:
 
 let
   fhsArgs = appimageTools.defaultFhsEnvArgs;
@@ -8,4 +8,6 @@ in buildFHSUserEnv (fhsArgs // {
   targetPkgs = pkgs: [ appimageTools.appimage-exec ]
     ++ fhsArgs.targetPkgs pkgs ++ extraPkgs pkgs;
   runScript = "appimage-exec.sh";
+
+  passthru.tests.appimage-run = appimage-run-tests;
 })
diff --git a/pkgs/tools/package-management/appimage-run/test.nix b/pkgs/tools/package-management/appimage-run/test.nix
new file mode 100644
index 00000000000..c9bc63c08a8
--- /dev/null
+++ b/pkgs/tools/package-management/appimage-run/test.nix
@@ -0,0 +1,24 @@
+{ runCommand, fetchurl, appimage-run, glibcLocales, file }:
+let
+  # any AppImage usable on cli, really
+  sample-appImage = fetchurl {
+    url = "https://github.com/AppImage/AppImageKit/releases/download/12/appimagetool-x86_64.AppImage";
+    sha256 =  "04ws94q71bwskmhizhwmaf41ma4wabvfgjgkagr8wf3vakgv866r";
+  };
+in
+  runCommand "appimage-run-tests" {
+    buildInputs = [ appimage-run glibcLocales file ];
+    meta.platforms = [ "x86_64-linux" ];
+  }
+  ''
+    export HOME=$(mktemp -d)
+    set -x
+    # regression test for #101137, must come first
+    LANG=fr_FR appimage-run ${sample-appImage} --list ${sample-appImage}
+    # regression test for #108426
+    cp ${sample-appImage} foo.appImage
+    LANG=fr_FR appimage-run ${sample-appImage} --list foo.appImage
+    set +x
+    touch $out
+  ''
+
diff --git a/pkgs/tools/package-management/cargo-kcov/default.nix b/pkgs/tools/package-management/cargo-kcov/default.nix
index 6b825919b60..8b2dbe3e489 100644
--- a/pkgs/tools/package-management/cargo-kcov/default.nix
+++ b/pkgs/tools/package-management/cargo-kcov/default.nix
@@ -1,5 +1,4 @@
-{ stdenv
-, lib
+{ lib
 , rustPlatform
 , fetchFromGitHub
 }:
diff --git a/pkgs/tools/package-management/cargo-outdated/default.nix b/pkgs/tools/package-management/cargo-outdated/default.nix
index 810aa6baa62..80c69d74abf 100644
--- a/pkgs/tools/package-management/cargo-outdated/default.nix
+++ b/pkgs/tools/package-management/cargo-outdated/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-outdated";
-  version = "0.9.13";
+  version = "0.9.14";
 
   src = fetchFromGitHub {
     owner = "kbknapp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1dbhaaw1c3ww0s33r7z8kxks00f9gxv1ppcbmk2fbflhp7caf7fy";
+    sha256 = "sha256-80H0yblEcxP6TTil0dJPZhvMivDLuyvoV0Rmcrykgjs=";
   };
 
-  cargoSha256 = "0nlfn9g7hrzz72lya2p5qb8wwj66300d33hjhnw2ambpj4347rh4";
+  cargoSha256 = "sha256-RACdzaCWfm5rrIX0wrvKSmhLQt1a+2MQqrjTx+etpGo=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
diff --git a/pkgs/tools/package-management/checkinstall/default.nix b/pkgs/tools/package-management/checkinstall/default.nix
index 3a1aa5e464e..704c3ad6409 100644
--- a/pkgs/tools/package-management/checkinstall/default.nix
+++ b/pkgs/tools/package-management/checkinstall/default.nix
@@ -70,5 +70,8 @@ stdenv.mkDerivation {
     maintainers = [ lib.maintainers.eelco ];
     platforms = lib.platforms.linux;
     license = lib.licenses.gpl2;
+    knownVulnerabilities = [
+      "CVE-2020-25031"
+    ];
   };
 }
diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
deleted file mode 100644
index 1d2f3ab0fee..00000000000
--- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{lib, stdenv, fetchurl, apacheAnt, jdk, axis2, dbus_java }:
-
-stdenv.mkDerivation {
-  name = "DisnixWebService-0.10";
-  src = fetchurl {
-    url = "https://github.com/svanderburg/DisnixWebService/releases/download/DisnixWebService-0.10/DisnixWebService-0.10.tar.gz";
-    sha256 = "0m451msd127ay09yb8rbflg68szm8s4hh65j99f7s3mz375vc114";
-  };
-  buildInputs = [ apacheAnt jdk ];
-  PREFIX = ''''${env.out}'';
-  AXIS2_LIB = "${axis2}/lib";
-  AXIS2_WEBAPP = "${axis2}/webapps/axis2";
-  DBUS_JAVA_LIB = "${dbus_java}/share/java";
-  prePatch = ''
-    sed -i -e "s|#JAVA_HOME=|JAVA_HOME=${jdk}|" \
-       -e "s|#AXIS2_LIB=|AXIS2_LIB=${axis2}/lib|" \
-        scripts/disnix-soap-client
-  '';
-  buildPhase = "ant";
-  installPhase = "ant install";
-
-  meta = {
-    description = "A SOAP interface and client for Disnix";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.sander ];
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
deleted file mode 100644
index 14be0924f27..00000000000
--- a/pkgs/tools/package-management/disnix/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, glib, libxml2, libxslt, getopt, gettext, nixUnstable, dysnomia, libintl, libiconv, help2man, doclifter, docbook5, dblatex, doxygen, libnixxml, autoreconfHook }:
-
-stdenv.mkDerivation {
-  name = "disnix-0.10";
-
-  src = fetchurl {
-    url = "https://github.com/svanderburg/disnix/releases/download/disnix-0.10/disnix-0.10.tar.gz";
-    sha256 = "0mciqbc2h60nc0i6pd36w0m2yr96v97ybrzrqzh5f67ac1f0gqwg";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ glib libxml2 libxslt getopt nixUnstable libintl libiconv dysnomia ];
-
-  meta = {
-    description = "A Nix-based distributed service deployment tool";
-    license = lib.licenses.lgpl21Plus;
-    maintainers = with lib.maintainers; [ sander tomberek ];
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
deleted file mode 100644
index 1b9d2eaefcd..00000000000
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ lib, stdenv, fetchurl, dysnomia, disnix, socat, pkg-config, getopt }:
-
-stdenv.mkDerivation {
-  name = "disnixos-0.9";
-
-  src = fetchurl {
-    url = "https://github.com/svanderburg/disnixos/releases/download/disnixos-0.9/disnixos-0.9.tar.gz";
-    sha256 = "0vllm5a8d9dvz5cjiq1mmkc4r4vnljabq42ng0ml85sjn0w7xvm7";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ socat dysnomia disnix getopt ];
-
-  meta = {
-    description = "Provides complementary NixOS infrastructure deployment to Disnix";
-    license = lib.licenses.lgpl21Plus;
-    maintainers = [ lib.maintainers.sander ];
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/package-management/disnix/dydisnix/default.nix b/pkgs/tools/package-management/disnix/dydisnix/default.nix
deleted file mode 100644
index b4c3851a50f..00000000000
--- a/pkgs/tools/package-management/disnix/dydisnix/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool , pkg-config, glib, libxml2, libxslt, getopt, libiconv, gettext, nix, disnix, libnixxml }:
-
-stdenv.mkDerivation rec {
-  version="2020-07-04";
-  name = "dydisnix-${version}";
-
-  src = fetchFromGitHub {
-    owner = "svanderburg";
-    repo = "dydisnix";
-    rev = "e99091f1c2329d562097e35faedee80622d387f0";
-    sha256 = "sha256-XKab2hNGtWDkIEMxE1vMvqQBTP9BvHTabBVfzpH57h0=";
-  };
-
-  nativeBuildInputs = [ pkg-config autoconf automake libtool ];
-  buildInputs = [ glib libxml2 libxslt getopt nix disnix libiconv gettext libnixxml ];
-  preConfigure = ''
-    ./bootstrap
-  '';
-
-  meta = {
-    description = "A toolset enabling self-adaptive redeployment on top of Disnix";
-    longDescription = "Dynamic Disnix is a (very experimental!) prototype extension framework for Disnix supporting dynamic (re)deployment of service-oriented systems.";
-    license = lib.licenses.lgpl21Plus;
-    maintainers = [ lib.maintainers.tomberek ];
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
deleted file mode 100644
index 56ba16afb47..00000000000
--- a/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ lib, stdenv, fetchurl, netcat
-, systemd ? null, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null, mongodb ? null, mongodb-tools ? null, influxdb ? null, supervisor ? null, docker ? null
-, enableApacheWebApplication ? false
-, enableAxis2WebService ? false
-, enableEjabberdDump ? false
-, enableMySQLDatabase ? false
-, enablePostgreSQLDatabase ? false
-, enableSubversionRepository ? false
-, enableTomcatWebApplication ? false
-, enableMongoDatabase ? false
-, enableInfluxDatabase ? false
-, enableSupervisordProgram ? false
-, enableDockerContainer ? true
-, enableLegacy ? false
-, catalinaBaseDir ? "/var/tomcat"
-, jobTemplate ? "systemd"
-, getopt
-}:
-
-assert enableMySQLDatabase -> mysql != null;
-assert enablePostgreSQLDatabase -> postgresql != null;
-assert enableSubversionRepository -> subversion != null;
-assert enableEjabberdDump -> ejabberd != null;
-assert enableMongoDatabase -> (mongodb != null && mongodb-tools != null);
-assert enableInfluxDatabase -> influxdb != null;
-assert enableSupervisordProgram -> supervisor != null;
-assert enableDockerContainer -> docker != null;
-
-stdenv.mkDerivation {
-  name = "dysnomia-0.10";
-  src = fetchurl {
-    url = "https://github.com/svanderburg/dysnomia/releases/download/dysnomia-0.10/dysnomia-0.10.tar.gz";
-    sha256 = "19zg4nhn0f9v4i7c9hhan1i4xv3ljfpl2d0s84ph8byiscvhyrna";
-  };
-
-  preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
-
-  configureFlags = [
-     (if enableApacheWebApplication then "--with-apache" else "--without-apache")
-     (if enableAxis2WebService then "--with-axis2" else "--without-axis2")
-     (if enableEjabberdDump then "--with-ejabberd" else "--without-ejabberd")
-     (if enableMySQLDatabase then "--with-mysql" else "--without-mysql")
-     (if enablePostgreSQLDatabase then "--with-postgresql" else "--without-postgresql")
-     (if enableSubversionRepository then "--with-subversion" else "--without-subversion")
-     (if enableTomcatWebApplication then "--with-tomcat=${catalinaBaseDir}" else "--without-tomcat")
-     (if enableMongoDatabase then "--with-mongodb" else "--without-mongodb")
-     (if enableInfluxDatabase then "--with-influxdb" else "--without-influxdb")
-     (if enableSupervisordProgram then "--with-supervisord" else "--without-supervisord")
-     (if enableDockerContainer then "--with-docker" else "--without-docker")
-     "--with-job-template=${jobTemplate}"
-   ] ++ lib.optional enableLegacy "--enable-legacy";
-
-  buildInputs = [ getopt netcat ]
-    ++ lib.optional stdenv.isLinux systemd
-    ++ lib.optional enableEjabberdDump ejabberd
-    ++ lib.optional enableMySQLDatabase mysql.out
-    ++ lib.optional enablePostgreSQLDatabase postgresql
-    ++ lib.optional enableSubversionRepository subversion
-    ++ lib.optional enableMongoDatabase mongodb
-    ++ lib.optional enableMongoDatabase mongodb-tools
-    ++ lib.optional enableInfluxDatabase influxdb
-    ++ lib.optional enableSupervisordProgram supervisor
-    ++ lib.optional enableDockerContainer docker;
-
-  meta = {
-    description = "Automated deployment of mutable components and services for Disnix";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.sander ];
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/package-management/emplace/default.nix b/pkgs/tools/package-management/emplace/default.nix
index eb6b2b88354..e5da9a1d7b4 100644
--- a/pkgs/tools/package-management/emplace/default.nix
+++ b/pkgs/tools/package-management/emplace/default.nix
@@ -2,21 +2,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "emplace";
-  version = "0.4.2";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "tversteeg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-74jv5GvBSErU5qjd4QmAK4JZhqFoqBf3cNxOGLIqt9U=";
+    sha256 = "sha256-dDFc13IVD4f5UgiHXAcqRKoZEPTn/iBOogT3XfdstK0=";
   };
 
-  cargoSha256 = "sha256-SPHXkvtUL6hdYOE1fUIQLEqWzn68RVBiu6zJQJ/3BxQ=";
+  cargoSha256 = "sha256-QsYOR7tk5cRCF0+xkpJ/F+Z3pjBPxTDFvA1gEi82AOQ=";
 
   meta = with lib; {
     description = "Mirror installed software on multiple machines";
     homepage = "https://github.com/tversteeg/emplace";
-    license = licenses.agpl3;
+    license = licenses.agpl3Plus;
     maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/pkgs/tools/package-management/gx/default.nix b/pkgs/tools/package-management/gx/default.nix
index 920b23f36ab..60fbdd4941f 100644
--- a/pkgs/tools/package-management/gx/default.nix
+++ b/pkgs/tools/package-management/gx/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by go2nix.
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "gx";
diff --git a/pkgs/tools/package-management/gx/go/default.nix b/pkgs/tools/package-management/gx/go/default.nix
index dd14976e633..ad4435c9e2d 100644
--- a/pkgs/tools/package-management/gx/go/default.nix
+++ b/pkgs/tools/package-management/gx/go/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by go2nix.
-{ lib, stdenv, buildGoPackage, fetchFromGitHub
+{ lib, buildGoPackage, fetchFromGitHub
 , gx
 }:
 
diff --git a/pkgs/tools/package-management/holo-build/default.nix b/pkgs/tools/package-management/holo-build/default.nix
new file mode 100644
index 00000000000..8f88ae08762
--- /dev/null
+++ b/pkgs/tools/package-management/holo-build/default.nix
@@ -0,0 +1,59 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, perl, file }:
+
+buildGoModule rec {
+  pname = "holo-build";
+  version = "1.6.1";
+
+  src = fetchFromGitHub {
+    owner = "holocm";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0lypbgf96bcc4m3968xa4il1zwprsdyc0pw6pl9mqq7djxabikd0";
+  };
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace 'VERSION :=' 'VERSION ?='
+    substituteInPlace src/holo-build.sh \
+      --replace '/usr/lib/holo/holo-build' '${placeholder "out"}/lib/holo/holo-build'
+  '';
+
+  vendorSha256 = null;
+
+  nativeBuildInputs = [ installShellFiles perl ];
+
+  subPackages = [ "src/holo-build" ];
+
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/holocm/holo-build/src/holo-build/common.version=${version}" ];
+
+  postBuild = ''
+    make build/man/holo-build.8 VERSION=${version}
+  '';
+
+  checkInputs = [ file ];
+
+  checkPhase = ''
+    ln -s ../../go/bin/holo-build build/holo-build
+    go build -ldflags "-s -w -X github.com/holocm/holo-build/src/holo-build/common.version=${version}" -o build/dump-package ./src/dump-package
+    bash test/compiler/run_tests.sh
+    bash test/interface/run_tests.sh
+  '';
+
+  postInstall = ''
+    installManPage build/man/*
+    installShellCompletion --bash --name holo-build util/autocomplete.bash
+    installShellCompletion --zsh --name _holo-build util/autocomplete.zsh
+
+    # install wrapper script
+    mkdir -p $out/lib/holo
+    mv $out/bin/holo-build $out/lib/holo/holo-build
+    cp src/holo-build.sh $out/bin/holo-build
+  '';
+
+  meta = with lib; {
+    description = "Cross-distribution system package compiler";
+    homepage = "http://holocm.org/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/tools/package-management/libdnf/darwin.patch b/pkgs/tools/package-management/libdnf/darwin.patch
index 56bafb2f7b8..53f2c04f9ef 100644
--- a/pkgs/tools/package-management/libdnf/darwin.patch
+++ b/pkgs/tools/package-management/libdnf/darwin.patch
@@ -1,5 +1,25 @@
---- src/libdnf/hy-iutil.cpp	2020-12-02 07:53:42.000000000 -0800
-+++ src/libdnf/hy-iutil.cpp	2020-12-21 14:24:14.000000000 -0800
+diff --git src/libdnf/config.h src/libdnf/config.h
+index 16121f6f..737d0bc4 100644
+--- src/libdnf/config.h
++++ src/libdnf/config.h
+@@ -18,7 +18,12 @@
+  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+  */
+ 
++
++#ifdef __APPLE__
++#include <stdint.h>
++#else
+ #include <bits/wordsize.h>
++#endif
+
+ 
+ #if __WORDSIZE == 32
+ #include "config-32.h"
+diff --git src/libdnf/hy-iutil.cpp src/libdnf/hy-iutil.cpp
+index 497c560d..5de077fa 100644
+--- src/libdnf/hy-iutil.cpp
++++ src/libdnf/hy-iutil.cpp
 @@ -22,7 +22,7 @@
  #include <errno.h>
  #include <dirent.h>
@@ -9,8 +29,10 @@
  #include <pwd.h>
  #include <unistd.h>
  #include <stdio.h>
---- src/libdnf/hy-util.cpp	2020-12-02 07:53:42.000000000 -0800
-+++ src/libdnf/hy-util.cpp	2020-12-21 14:23:21.000000000 -0800
+diff --git src/libdnf/hy-util.cpp src/libdnf/hy-util.cpp
+index 295fdc1b..9d584b8a 100644
+--- src/libdnf/hy-util.cpp
++++ src/libdnf/hy-util.cpp
 @@ -24,7 +24,20 @@
  #include <ctype.h>
  #include <sys/utsname.h>
diff --git a/pkgs/tools/package-management/libdnf/default.nix b/pkgs/tools/package-management/libdnf/default.nix
index 08702e8bf6b..59df56f86fa 100644
--- a/pkgs/tools/package-management/libdnf/default.nix
+++ b/pkgs/tools/package-management/libdnf/default.nix
@@ -1,15 +1,15 @@
 { gcc9Stdenv, lib, stdenv, fetchFromGitHub, cmake, gettext, pkg-config, gpgme, libsolv, openssl, check
-, pcre, json_c, libmodulemd, libsmartcols, sqlite, librepo, libyaml, rpm }:
+, json_c, libmodulemd, libsmartcols, sqlite, librepo, libyaml, rpm }:
 
 gcc9Stdenv.mkDerivation rec {
   pname = "libdnf";
-  version = "0.55.2";
+  version = "0.58.0";
 
   src = fetchFromGitHub {
     owner = "rpm-software-management";
     repo = pname;
     rev = version;
-    sha256 = "0hiydwfa90nsrqk5ffa6ks1g73wnsgjgq7z7gwq9jj76a7gpfbfq";
+    sha256 = "0an8giv0lm0qqc76fpmqg42ra081mlj62b9r0s1p0sgb3270l76l";
   };
 
   patches = lib.optionals stdenv.isDarwin [ ./darwin.patch ];
diff --git a/pkgs/tools/package-management/librepo/default.nix b/pkgs/tools/package-management/librepo/default.nix
index 9ec5c3c13b3..4009d111307 100644
--- a/pkgs/tools/package-management/librepo/default.nix
+++ b/pkgs/tools/package-management/librepo/default.nix
@@ -13,7 +13,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.12.1";
+  version = "1.13.0";
   pname = "librepo";
 
   outputs = [ "out" "dev" "py" ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "rpm-software-management";
     repo = "librepo";
     rev = version;
-    sha256 = "0793j35fcv6bbz2pkd5rcsmx37hb1f0y48r4758cbfnl9rbp9y4z";
+    sha256 = "sha256-gK1pkcZAJVXx0cYGs8PA4iPSMOwgJZI9Hqrrs1ZITDo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/package-management/microdnf/default.nix b/pkgs/tools/package-management/microdnf/default.nix
index 8e866abb3cc..498d6d21f39 100644
--- a/pkgs/tools/package-management/microdnf/default.nix
+++ b/pkgs/tools/package-management/microdnf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microdnf";
-  version = "3.6.0";
+  version = "3.7.1";
 
   src = fetchFromGitHub {
     owner = "rpm-software-management";
     repo = pname;
     rev = version;
-    sha256 = "0a7lc3qsnblvznzsz3544l3n84184xi85zf7c3m3jhnmpmxsg39h";
+    sha256 = "1is8hqckjdz1h9w44iq1ljyfs5b0qd2cyivl30ny4dv8m8zba4zv";
   };
 
   nativeBuildInputs = [ pkg-config cmake gettext help2man ];
diff --git a/pkgs/tools/package-management/mynewt-newt/default.nix b/pkgs/tools/package-management/mynewt-newt/default.nix
index 2390c33ca03..dd5c36019f2 100644
--- a/pkgs/tools/package-management/mynewt-newt/default.nix
+++ b/pkgs/tools/package-management/mynewt-newt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub, fetchpatch }:
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
 
 buildGoModule rec {
   pname = "mynewt-newt";
diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix
index d22b4216ea9..bd19f30f1c1 100644
--- a/pkgs/tools/package-management/nfpm/default.nix
+++ b/pkgs/tools/package-management/nfpm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-F3SDcO5E0d5/aEJLdy0fJqB6brwf4C9Imtk1R5zOT5A=";
+    sha256 = "sha256-EIHEdU1H5XhhzuWJUEvnKNsuNV8CBJrHBlaZlSfrSro=";
   };
 
-  vendorSha256 = "sha256-fGhe0EukTWk/4tGPiFMit7zBD4380AkgxrQ3pzImsFU=";
+  vendorSha256 = "sha256-aSoryidfAfqPBpOtAXFJsq1ZcqJqpGiX3pZz5GpkKqQ=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/package-management/nix-doc/default.nix b/pkgs/tools/package-management/nix-doc/default.nix
index 66691d9f5c5..695cd2976d8 100644
--- a/pkgs/tools/package-management/nix-doc/default.nix
+++ b/pkgs/tools/package-management/nix-doc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, boost, nix, pkg-config }:
+{ lib, rustPlatform, fetchFromGitHub, boost, nix, pkg-config }:
 
 rustPlatform.buildRustPackage rec {
   pname = "nix-doc";
diff --git a/pkgs/tools/package-management/nix-simple-deploy/default.nix b/pkgs/tools/package-management/nix-simple-deploy/default.nix
index 47734f73fd6..91f9a39514b 100644
--- a/pkgs/tools/package-management/nix-simple-deploy/default.nix
+++ b/pkgs/tools/package-management/nix-simple-deploy/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
   pname = "nix-simple-deploy";
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 495d0aae018..9ab08007ec7 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -45,7 +45,7 @@ common =
           [ autoreconfHook
             autoconf-archive
             bison flex
-            lowdown mdbook
+            (lib.getBin lowdown) mdbook
             jq
            ];
 
@@ -55,7 +55,7 @@ common =
         ]
         ++ lib.optionals stdenv.isDarwin [ Security ]
         ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
-        ++ lib.optionals is24 [ libarchive gmock ]
+        ++ lib.optionals is24 [ libarchive gmock lowdown ]
         ++ lib.optional withLibseccomp libseccomp
         ++ lib.optional withAWS
             ((aws-sdk-cpp.override {
@@ -126,7 +126,7 @@ common =
         ]
         ++ lib.optional (
             stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform ? nix && stdenv.hostPlatform.nix ? system
-        ) ''--with-system=${stdenv.hostPlatform.nix.system}''
+        ) "--with-system=${stdenv.hostPlatform.nix.system}"
            # RISC-V support in progress https://github.com/seccomp/libseccomp/pull/50
         ++ lib.optional (!withLibseccomp) "--disable-seccomp-sandboxing";
 
@@ -226,6 +226,12 @@ in rec {
         url = "https://github.com/NixOS/nix/commit/d4870462f8f539adeaa6dca476aff6f1f31e1981.patch";
         sha256 = "mTvLvuxb2QVybRDgntKMq+b6da/s3YgM/ll2rWBeY/Y=";
       })
+      # Fix the ETag bug. PR merged. Remove when updating to >= 20210125
+      # https://github.com/NixOS/nixpkgs/pull/109309#issuecomment-768331750
+      (fetchpatch {
+        url = "https://github.com/NixOS/nix/commit/c5b42c5a42138329c6d02da0d8a53cb59c6077f4.patch";
+        sha256 = "sha256-d4RNOKMxa4NMbFgYcqWRv2ByHt8F/XUWV+6P9qHz7S4=";
+      })
     ];
 
     inherit storeDir stateDir confDir boehmgc;
diff --git a/pkgs/tools/package-management/nixops/default.nix b/pkgs/tools/package-management/nixops/default.nix
index 96e6ec3f55a..0dcbeb8abfe 100644
--- a/pkgs/tools/package-management/nixops/default.nix
+++ b/pkgs/tools/package-management/nixops/default.nix
@@ -1,16 +1,70 @@
-{ callPackage, fetchurl, fetchpatch }:
+{ lib, python2Packages, libxslt, docbook_xsl_ns, openssh, cacert, nixopsAzurePackages ? []
+, fetchurl, fetchpatch
+}:
 
-callPackage ./generic.nix (rec {
+let
   version = "1.7";
+
+in python2Packages.buildPythonApplication {
+  pname = "nixops";
+  inherit version;
+
   src = fetchurl {
     url = "https://nixos.org/releases/nixops/nixops-${version}/nixops-${version}.tar.bz2";
     sha256 = "091c0b5bca57d4aa20be20e826ec161efe3aec9c788fbbcf3806a734a517f0f3";
   };
+
   patches = [
-    # follow redirect in nixos-infect. Remove with the next release.
     (fetchpatch {
       url = "https://github.com/NixOS/nixops/commit/fb6d4665e8efd858a215bbaaf079ec3f5ebc49b8.patch";
       sha256 = "1hbhykl811zsqlaj3y5m9d8lfsal6ps6n5p16ah6lqy2s18ap9d0";
     })
+    ./optional-virtd.patch
   ];
-})
+
+  buildInputs = [ libxslt ];
+
+  pythonPath = with python2Packages;
+    [ prettytable
+      boto
+      boto3
+      hetzner
+      libcloud
+      adal
+      # Go back to sqlite once Python 2.7.13 is released
+      pysqlite
+      datadog
+      digital-ocean
+      typing
+      ]
+      ++ lib.optional (!libvirt.passthru.libvirt.meta.insecure or true) libvirt
+      ++ nixopsAzurePackages;
+
+  checkPhase =
+  # Ensure, that there are no (python) import errors
+  ''
+    SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt \
+    HOME=$(pwd) \
+      $out/bin/nixops --version
+  '';
+
+  postInstall = ''
+    make -C doc/manual install nixops.1 docbookxsl=${docbook_xsl_ns}/xml/xsl/docbook \
+      docdir=$out/share/doc/nixops mandir=$out/share/man
+
+    mkdir -p $out/share/nix/nixops
+    cp -av "nix/"* $out/share/nix/nixops
+
+    # Add openssh to nixops' PATH. On some platforms, e.g. CentOS and RHEL
+    # the version of openssh is causing errors when have big networks (40+)
+    wrapProgram $out/bin/nixops --prefix PATH : "${openssh}/bin"
+  '';
+
+  meta = {
+    homepage = "https://github.com/NixOS/nixops";
+    description = "NixOS cloud provisioning and deployment tool";
+    maintainers = with lib.maintainers; [ aminechikhaoui eelco rob domenkozar ];
+    platforms = lib.platforms.unix;
+    license = lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/tools/package-management/nixops/generic.nix b/pkgs/tools/package-management/nixops/generic.nix
deleted file mode 100644
index 564256de35d..00000000000
--- a/pkgs/tools/package-management/nixops/generic.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ lib, python2Packages, libxslt, docbook_xsl_ns, openssh, cacert, nixopsAzurePackages ? []
-# version args
-, src, version
-, meta ? {}
-, patches ? null
-}:
-
-python2Packages.buildPythonApplication {
-  name = "nixops-${version}";
-  inherit version src patches;
-
-  buildInputs = [ libxslt ];
-
-  pythonPath = with python2Packages;
-    [ prettytable
-      boto
-      boto3
-      hetzner
-      libcloud
-      adal
-      # Go back to sqlite once Python 2.7.13 is released
-      pysqlite
-      datadog
-      digital-ocean
-      libvirt
-      typing
-    ] ++ nixopsAzurePackages;
-
-  checkPhase =
-  # Ensure, that there are no (python) import errors
-  ''
-    SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt \
-    HOME=$(pwd) \
-      $out/bin/nixops --version
-  '';
-
-  postInstall = ''
-    make -C doc/manual install nixops.1 docbookxsl=${docbook_xsl_ns}/xml/xsl/docbook \
-      docdir=$out/share/doc/nixops mandir=$out/share/man
-
-    mkdir -p $out/share/nix/nixops
-    cp -av "nix/"* $out/share/nix/nixops
-
-    # Add openssh to nixops' PATH. On some platforms, e.g. CentOS and RHEL
-    # the version of openssh is causing errors when have big networks (40+)
-    wrapProgram $out/bin/nixops --prefix PATH : "${openssh}/bin"
-  '';
-
-  meta = {
-    homepage = "https://github.com/NixOS/nixops";
-    description = "NixOS cloud provisioning and deployment tool";
-    maintainers = with lib.maintainers; [ aminechikhaoui eelco rob domenkozar ];
-    platforms = lib.platforms.unix;
-    license = lib.licenses.lgpl3;
-  } // meta;
-}
diff --git a/pkgs/tools/package-management/nixops/nixops-v1_6_1.nix b/pkgs/tools/package-management/nixops/nixops-v1_6_1.nix
deleted file mode 100644
index dc0c733ca7b..00000000000
--- a/pkgs/tools/package-management/nixops/nixops-v1_6_1.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ callPackage, newScope, pkgs, fetchurl }:
-
-callPackage ./generic.nix (rec {
-  version = "1.6.1";
-  src = fetchurl {
-    url = "https://nixos.org/releases/nixops/nixops-${version}/nixops-${version}.tar.bz2";
-    sha256 = "0lfx5fhyg3z6725ydsk0ibg5qqzp5s0x9nbdww02k8s307axiah3";
-  };
-  nixopsAzurePackages = with python2Packages; [
-    azure-storage
-    azure-mgmt-compute
-    azure-mgmt-network
-    azure-mgmt-resource
-    azure-mgmt-storage
-  ];
-  # nixops is incompatible with the most recent versions of listed
-  # azure-mgmt-* packages, therefore we are pinning them to
-  # package-private versions, so that they don't get trampled by
-  # updates.
-  # see
-  # https://github.com/NixOS/nixops/issues/1065
-  python2Packages = pkgs.python2Packages.override {
-    overrides = (self: super: let callPackage = newScope self; in {
-      azure-mgmt-compute = callPackage ./azure-mgmt-compute { };
-      azure-mgmt-network = callPackage ./azure-mgmt-network { };
-      azure-mgmt-nspkg = callPackage ./azure-mgmt-nspkg { };
-      azure-mgmt-resource = callPackage ./azure-mgmt-resource { };
-      azure-mgmt-storage = callPackage ./azure-mgmt-storage { };
-      azure-storage = callPackage ./azure-storage { };
-    });
-  };
-})
diff --git a/pkgs/tools/package-management/nixops/optional-virtd.patch b/pkgs/tools/package-management/nixops/optional-virtd.patch
new file mode 100644
index 00000000000..3697fdde8f2
--- /dev/null
+++ b/pkgs/tools/package-management/nixops/optional-virtd.patch
@@ -0,0 +1,24 @@
+diff --git a/nixops/backends/libvirtd.py b/nixops/backends/libvirtd.py
+index bc5f4af7..edd1348b 100644
+--- a/nixops/backends/libvirtd.py
++++ b/nixops/backends/libvirtd.py
+@@ -8,12 +8,18 @@ import shutil
+ import string
+ import subprocess
+ import time
+-import libvirt
+ 
+ from nixops.backends import MachineDefinition, MachineState
+ import nixops.known_hosts
+ import nixops.util
+ 
++try:
++    import libvirt
++except:
++    class libvirt(object):
++        def __getattribute__(self, name):
++            raise ValueError("The libvirt backend has been disabled because of security issues.")
++
+ # to prevent libvirt errors from appearing on screen, see
+ # https://www.redhat.com/archives/libvirt-users/2017-August/msg00011.html
+ 
diff --git a/pkgs/tools/package-management/nixops/unstable.nix b/pkgs/tools/package-management/nixops/unstable.nix
deleted file mode 100644
index 94975807dea..00000000000
--- a/pkgs/tools/package-management/nixops/unstable.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ callPackage, fetchurl }:
-
-# To upgrade pick the hydra job of the nixops revision that you want to upgrade
-# to from: https://hydra.nixos.org/job/nixops/master/tarball
-# Then copy the URL to the tarball.
-
-callPackage ./generic.nix (rec {
-  version = "1.7pre2764_932bf43";
-  src = fetchurl {
-    url = "https://hydra.nixos.org/build/92372343/download/2/nixops-${version}.tar.bz2";
-    sha256 = "f35bf81bf2805473ea54248d0ee92d163d00a1992f3f75d17e8cf430db1f9919";
-  };
-})
diff --git a/pkgs/tools/package-management/nixpkgs-review/default.nix b/pkgs/tools/package-management/nixpkgs-review/default.nix
index b1a86f3137e..d3fcac6277f 100644
--- a/pkgs/tools/package-management/nixpkgs-review/default.nix
+++ b/pkgs/tools/package-management/nixpkgs-review/default.nix
@@ -1,9 +1,8 @@
-{ stdenv
+{ lib
 , python3
 , fetchFromGitHub
 , nixFlakes
 , git
-, lib
 }:
 
 python3.pkgs.buildPythonApplication rec {
diff --git a/pkgs/tools/package-management/nixui/nixui.nix b/pkgs/tools/package-management/nixui/nixui.nix
index 6f3f95714a2..0bcd0eb4b85 100644
--- a/pkgs/tools/package-management/nixui/nixui.nix
+++ b/pkgs/tools/package-management/nixui/nixui.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/tools/package-management/nixui/node-packages.nix b/pkgs/tools/package-management/nixui/node-packages.nix
index b5b42e9164a..0b6857cf716 100644
--- a/pkgs/tools/package-management/nixui/node-packages.nix
+++ b/pkgs/tools/package-management/nixui/node-packages.nix
@@ -1,6 +1,6 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
@@ -49,22 +49,22 @@ let
         sha1 = "309f10ba29f2002f74a92fb870b8a53ba2131593";
       };
     };
-    "underscore-1.4.4" = {
+    "underscore-1.12.0" = {
       name = "underscore";
       packageName = "underscore";
-      version = "1.4.4";
+      version = "1.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz";
+        sha512 = "21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==";
       };
     };
-    "underscore-1.9.2" = {
+    "underscore-1.4.4" = {
       name = "underscore";
       packageName = "underscore";
-      version = "1.9.2";
+      version = "1.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz";
-        sha512 = "0fpcm4n2qlycl50j6k3fv7baybnzf1wbsm2ng0vwfsdi40fyvsvvl0k1i427hgpknhj5hbcwff3swckw6wx96kw4dgwvldi56v6lzqg";
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
       };
     };
   };
@@ -93,7 +93,7 @@ in
           sources."underscore-1.4.4"
         ];
       })
-      sources."underscore-1.9.2"
+      sources."underscore-1.12.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/tools/package-management/protontricks/default.nix b/pkgs/tools/package-management/protontricks/default.nix
index e4e60442c8f..ec5017c54c7 100644
--- a/pkgs/tools/package-management/protontricks/default.nix
+++ b/pkgs/tools/package-management/protontricks/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonApplication rec {
   pname = "protontricks";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "Matoking";
     repo = pname;
     rev = version;
-    sha256 = "0a5727igwafwvj8rr5lv0lx8rlfji3qkzmrbp0d15w5dc4fhknp0";
+    sha256 = "0i7p0jj7avmq3b2qlcpwcflipndrnwsvwvhc5aal7rm95aa7xhja";
   };
 
   patches = [
diff --git a/pkgs/tools/package-management/protontricks/steam-run.patch b/pkgs/tools/package-management/protontricks/steam-run.patch
index 536072cafc4..619d80bd8a7 100644
--- a/pkgs/tools/package-management/protontricks/steam-run.patch
+++ b/pkgs/tools/package-management/protontricks/steam-run.patch
@@ -1,5 +1,5 @@
 diff --git a/src/protontricks/cli.py b/src/protontricks/cli.py
-index 6506dae..2f762c9 100755
+index fec0563..d158b96 100755
 --- a/src/protontricks/cli.py
 +++ b/src/protontricks/cli.py
 @@ -14,7 +14,7 @@ import os
@@ -38,7 +38,7 @@ index 6506dae..2f762c9 100755
      else:
          logger.info("Steam Runtime disabled.")
  
-@@ -194,7 +189,7 @@ def main(args=None):
+@@ -201,7 +196,7 @@ def main(args=None):
              winetricks_path=winetricks_path,
              proton_app=proton_app,
              steam_app=steam_app,
@@ -46,8 +46,8 @@ index 6506dae..2f762c9 100755
 +            steam_runtime=steam_runtime,
              command=[winetricks_path, "--gui"]
          )
-         return
-@@ -261,7 +256,7 @@ def main(args=None):
+ 
+@@ -269,7 +264,7 @@ def main(args=None):
              winetricks_path=winetricks_path,
              proton_app=proton_app,
              steam_app=steam_app,
@@ -56,7 +56,7 @@ index 6506dae..2f762c9 100755
              command=[winetricks_path] + args.winetricks_command)
      elif args.command:
          run_command(
-@@ -269,7 +264,7 @@ def main(args=None):
+@@ -277,7 +272,7 @@ def main(args=None):
              proton_app=proton_app,
              steam_app=steam_app,
              command=args.command,
@@ -66,7 +66,7 @@ index 6506dae..2f762c9 100755
              # escaping it
              cwd=steam_app.install_path,
 diff --git a/src/protontricks/steam.py b/src/protontricks/steam.py
-index 215b31d..aa545b8 100644
+index fa5772d..4f30cd3 100644
 --- a/src/protontricks/steam.py
 +++ b/src/protontricks/steam.py
 @@ -11,7 +11,7 @@ from .util import lower_dict
@@ -78,7 +78,7 @@ index 215b31d..aa545b8 100644
      "find_appid_proton_prefix", "get_steam_lib_paths", "get_steam_apps",
      "get_custom_proton_installations"
  )
-@@ -245,37 +245,6 @@ def find_steam_path():
+@@ -254,37 +254,6 @@ def find_steam_path():
      return None, None
  
  
@@ -117,7 +117,7 @@ index 215b31d..aa545b8 100644
  APPINFO_STRUCT_SECTION = "<LLLLQ20sL"
  
 diff --git a/src/protontricks/util.py b/src/protontricks/util.py
-index a850427..390fc01 100644
+index d513b46..c48e41f 100644
 --- a/src/protontricks/util.py
 +++ b/src/protontricks/util.py
 @@ -6,7 +6,7 @@ import stat
@@ -129,7 +129,7 @@ index a850427..390fc01 100644
  
  logger = logging.getLogger("protontricks")
  
-@@ -25,70 +25,10 @@ def lower_dict(d):
+@@ -25,93 +25,10 @@ def lower_dict(d):
      return {k.lower(): v for k, v in d.items()}
  
  
@@ -155,26 +155,49 @@ index a850427..390fc01 100644
 -    return ":".join(paths)
 -
 -
+-RUNTIME_ROOT_GLOB_PATTERNS = (
+-    "var/*/files/",
+-    "*/files/"
+-)
+-
+-
 -def get_runtime_library_paths(steam_runtime_path, proton_app):
 -    """
 -    Get LD_LIBRARY_PATH value to run a command using Steam Runtime
 -    """
--    if proton_app.required_tool_app:
+-    def find_runtime_app_root(runtime_app):
+-        """
+-        Find the runtime root (the directory containing the root fileystem
+-        used for the container) for separately installed Steam Runtime app
+-        """
+-        for pattern in RUNTIME_ROOT_GLOB_PATTERNS:
+-            try:
+-                return next(
+-                    runtime_app.install_path.glob(pattern)
+-                )
+-            except StopIteration:
+-                pass
+-
+-        raise RuntimeError(
+-            "Could not find Steam Runtime runtime root for {}".format(
+-                runtime_app.name
+-            )
+-        )
+-
+-    if proton_app.required_tool_appid:
 -        # bwrap based Steam Runtime is used for Proton installations that
 -        # use separate Steam runtimes
 -        # TODO: Try to run the Wine binaries inside an user namespace somehow.
 -        # Newer Steam Runtime environments may rely on a newer glibc than what
 -        # is available on the host system, which may cause potential problems
 -        # otherwise.
--        runtime_root = next(
--            proton_app.required_tool_app.install_path.glob("*/files/")
--        )
+-        runtime_root = find_runtime_app_root(proton_app.required_tool_app)
 -        return "".join([
 -            str(proton_app.install_path / "dist" / "lib"), os.pathsep,
 -            str(proton_app.install_path / "dist" / "lib64"), os.pathsep,
 -            get_host_library_paths(), os.pathsep,
--            str(runtime_root / "i686-pc-linux-gnu" / "lib"), os.pathsep,
--            str(runtime_root / "x86_64-pc-linux-gnu" / "lib")
+-            str(runtime_root / "lib" / "i386-linux-gnu"), os.pathsep,
+-            str(runtime_root / "lib" / "x86_64-linux-gnu")
 -        ])
 -
 -    # Traditional LD_LIBRARY_PATH based Steam Runtime is used otherwise
@@ -202,7 +225,7 @@ index a850427..390fc01 100644
  )
  
  
-@@ -149,7 +89,7 @@ def create_wine_bin_dir(proton_app):
+@@ -172,7 +89,7 @@ def create_wine_bin_dir(proton_app):
  
  def run_command(
          winetricks_path, proton_app, steam_app, command,
@@ -211,16 +234,23 @@ index a850427..390fc01 100644
          **kwargs):
      """Run an arbitrary command with the correct environment variables
      for the given Proton app
-@@ -157,7 +97,7 @@ def run_command(
+@@ -180,13 +97,13 @@ def run_command(
      The environment variables are set for the duration of the call
      and restored afterwards
  
 -    If 'steam_runtime_path' is provided, run the command using Steam Runtime
 +    If 'steam_runtime' is provided, run the command using Steam Runtime
      """
-     # Make a copy of the environment variables to restore later
-     environ_copy = os.environ.copy()
-@@ -200,7 +140,7 @@ def run_command(
+     # Check for incomplete Steam Runtime installation
+     runtime_install_incomplete = \
+         proton_app.required_tool_appid and not proton_app.required_tool_app
+ 
+-    if steam_runtime_path and runtime_install_incomplete:
++    if steam_runtime and runtime_install_incomplete:
+         raise RuntimeError(
+             "{} is missing the required Steam Runtime. You may need to launch "
+             "a Steam app using this Proton version to finish the "
+@@ -234,7 +151,7 @@ def run_command(
      os.environ.pop("WINEARCH", "")
  
      wine_bin_dir = None
@@ -229,7 +259,7 @@ index a850427..390fc01 100644
          if proton_app.required_tool_app:
              runtime_name = proton_app.required_tool_app.name
              logger.info(
-@@ -217,8 +157,6 @@ def run_command(
+@@ -251,8 +168,6 @@ def run_command(
          # that load the underlying Proton Wine executables with Steam Runtime
          # and Proton libraries instead of system libraries
          wine_bin_dir = create_wine_bin_dir(proton_app=proton_app)
@@ -239,10 +269,10 @@ index a850427..390fc01 100644
              str(wine_bin_dir), os.pathsep, os.environ["PATH"]
          ])
 diff --git a/tests/test_cli.py b/tests/test_cli.py
-index 19e1137..2ef56d6 100644
+index b612dfa..c4d1de0 100644
 --- a/tests/test_cli.py
 +++ b/tests/test_cli.py
-@@ -114,9 +114,6 @@ class TestCLIRun:
+@@ -115,9 +115,6 @@ class TestCLIRun:
          assert str(command.args[0]).endswith(".local/bin/winetricks")
          assert command.args[1] == "winecfg"
          assert command.env["PATH"].startswith(str(wine_bin_dir))
diff --git a/pkgs/tools/package-management/python2nix/default.nix b/pkgs/tools/package-management/python2nix/default.nix
index 3cce599c052..b6ffe9abc02 100644
--- a/pkgs/tools/package-management/python2nix/default.nix
+++ b/pkgs/tools/package-management/python2nix/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pythonPackages }:
+{ lib, fetchFromGitHub, pythonPackages }:
 
 pythonPackages.buildPythonApplication {
   name = "python2nix-20140927";
diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix
index 18477e987a5..5c72dc07152 100644
--- a/pkgs/tools/package-management/rpm/default.nix
+++ b/pkgs/tools/package-management/rpm/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchpatch
 , pkg-config, autoreconfHook
 , fetchurl, cpio, zlib, bzip2, file, elfutils, libbfd, libgcrypt, libarchive, nspr, nss, popt, db, xz, python, lua, llvmPackages
-, sqlite
+, sqlite, zstd
 }:
 
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "man" ];
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ cpio zlib bzip2 file libarchive libgcrypt nspr nss db xz python lua sqlite ]
+  buildInputs = [ cpio zlib zstd bzip2 file libarchive libgcrypt nspr nss db xz python lua sqlite ]
                 ++ lib.optionals stdenv.cc.isClang [ llvmPackages.openmp ];
 
   # rpm/rpmlib.h includes popt.h, and then the pkg-config file mentions these as linkage requirements
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
     "--enable-python"
     "--enable-ndb"
     "--enable-sqlite"
+    "--enable-zstd"
     "--localstatedir=/var"
     "--sharedstatedir=/com"
   ];
diff --git a/pkgs/tools/package-management/smlpkg/default.nix b/pkgs/tools/package-management/smlpkg/default.nix
new file mode 100644
index 00000000000..f3f7750f1bd
--- /dev/null
+++ b/pkgs/tools/package-management/smlpkg/default.nix
@@ -0,0 +1,42 @@
+{ lib, stdenv, fetchFromGitHub, mlton, unzip }:
+
+stdenv.mkDerivation rec {
+  pname = "smlpkg";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "diku-dk";
+    repo = "smlpkg";
+    rev = "v${version}";
+    sha256 = "1xmbdnfc34ia0a78dhkfv5jyadxndinhw8c47l1mjd4l7n8vqnph";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ mlton ];
+
+  # Set as an environment variable in all the phase scripts.
+  MLCOMP = "mlton";
+
+  buildFlags = ["all"];
+  installFlags = ["prefix=$(out)"];
+
+  doCheck = true;
+
+  checkInputs = [ unzip ];
+
+  # We cannot run the pkgtests, as Nix does not allow network
+  # connections.
+  checkPhase = ''
+    runHook preCheck
+    make -C src test
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Generic package manager for Standard ML libraries and programs";
+    homepage = "https://github.com/diku-dk/smlpkg";
+    license = licenses.mit;
+    maintainers = with maintainers; [ athas ];
+  };
+}
diff --git a/pkgs/tools/security/1password-gui/default.nix b/pkgs/tools/security/1password-gui/default.nix
index ead8aae7d1c..709d1667209 100644
--- a/pkgs/tools/security/1password-gui/default.nix
+++ b/pkgs/tools/security/1password-gui/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "1password";
-  version = "0.9.9-3";
+  version = "0.9.12-3";
 
   src = fetchurl {
     url = "https://onepassword.s3.amazonaws.com/linux/appimage/${pname}-${version}.AppImage";
-    hash = "sha256-REuES0yTjTsBHapmj1YLCTIq2cIVtr7Z8ZiEgMCrwrs=";
+    hash = "sha256-IK4BuZKM2U8vz7m8waJhoh3tQ539wGLcIDNiYGUou24=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/2fa/default.nix b/pkgs/tools/security/2fa/default.nix
index c8518ef0a9f..b06454e736c 100644
--- a/pkgs/tools/security/2fa/default.nix
+++ b/pkgs/tools/security/2fa/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   version = "1.2.0";
diff --git a/pkgs/tools/security/aide/default.nix b/pkgs/tools/security/aide/default.nix
index 49291775e37..8993208e16e 100644
--- a/pkgs/tools/security/aide/default.nix
+++ b/pkgs/tools/security/aide/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "aide";
-  version = "0.16.2";
+  version = "0.17";
 
   src = fetchurl {
     url = "https://github.com/aide/aide/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "15xp47sz7kk1ciffw3f5xw2jg2mb2lqrbr3q6p4bkbz5dap9iy8p";
+    sha256 = "sha256-T9iNHV3ccMaYxlGeu8BcjTLD9tgTe7/e/q66r9bbhns=";
   };
 
   buildInputs = [ flex bison libmhash zlib acl attr libselinux pcre ];
diff --git a/pkgs/tools/security/aws-iam-authenticator/default.nix b/pkgs/tools/security/aws-iam-authenticator/default.nix
index 851eed43ade..f0eda76821d 100644
--- a/pkgs/tools/security/aws-iam-authenticator/default.nix
+++ b/pkgs/tools/security/aws-iam-authenticator/default.nix
@@ -1,18 +1,22 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "aws-iam-authenticator";
-  version = "0.4.0";
-
-  goPackagePath = "github.com/kubernetes-sigs/aws-iam-authenticator";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ghl2vms9wmvczdl2raqhy0gffxmk24h158gjb5mlw7rggzvb7bg";
+    sha256 = "1xfc3a0dik4930va30sbl6687v6i5irv96fwis9lrqh5rjqnblqp";
   };
 
+  vendorSha256 = null;
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=v${version}" ];
+
+  subPackages = [ "cmd/aws-iam-authenticator" ];
+
   meta = with lib; {
     homepage = "https://github.com/kubernetes-sigs/aws-iam-authenticator";
     description = "AWS IAM credentials for Kubernetes authentication";
diff --git a/pkgs/tools/security/aws-okta/default.nix b/pkgs/tools/security/aws-okta/default.nix
index 73d95f52b8c..08508dd157a 100644
--- a/pkgs/tools/security/aws-okta/default.nix
+++ b/pkgs/tools/security/aws-okta/default.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, fetchFromGitHub, libusb1, pkg-config, lib, stdenv, libiconv }:
+{ buildGoPackage, fetchFromGitHub, libusb1, pkg-config, lib, libiconv }:
 
 buildGoPackage rec {
   pname = "aws-okta";
diff --git a/pkgs/tools/security/bash-supergenpass/default.nix b/pkgs/tools/security/bash-supergenpass/default.nix
index 9276c9b1167..3eb192e8fcc 100644
--- a/pkgs/tools/security/bash-supergenpass/default.nix
+++ b/pkgs/tools/security/bash-supergenpass/default.nix
@@ -8,15 +8,15 @@
 
 stdenv.mkDerivation {
   pname = "bash-supergenpass";
-  version = "unstable-2018-04-18";
+  version = "unstable-2020-02-03";
 
   nativeBuildInputs = [ makeWrapper ];
 
   src = fetchFromGitHub {
     owner = "lanzz";
     repo = "bash-supergenpass";
-    rev = "ece772b9ec095946ac4ea985cda5561b211e56f0";
-    sha256 = "1gkbrycyyl7y3klbfx7xjvvfw5df1h4fj6x1f73gglfy6nk8ffnd";
+    rev = "e5d96599b65d65a37148996f00f9d057e522e4d8";
+    sha256 = "1d8csp94l2p5y5ln53aza5qf246rwmd10043x0x1yrswqrrya40f";
   };
 
   installPhase = ''
@@ -24,7 +24,9 @@ stdenv.mkDerivation {
     wrapProgram "$out/bin/supergenpass" --prefix PATH : "${lib.makeBinPath [ openssl coreutils gnugrep ]}"
   '';
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = unstableGitUpdater {
+    url = "https://github.com/lanzz/bash-supergenpass.git";
+  };
 
   meta = with lib; {
     description = "Bash shell-script implementation of SuperGenPass password generation";
diff --git a/pkgs/tools/security/bitwarden/default.nix b/pkgs/tools/security/bitwarden/default.nix
index 8763c361d70..8f264ef942e 100644
--- a/pkgs/tools/security/bitwarden/default.nix
+++ b/pkgs/tools/security/bitwarden/default.nix
@@ -17,11 +17,11 @@ let
   pname = "bitwarden";
 
   version = {
-    x86_64-linux = "1.23.1";
+    x86_64-linux = "1.24.6";
   }.${system} or "";
 
   sha256 = {
-    x86_64-linux = "1jv6w1g6b9c4xa5zy7pgzrkn8k4pyy3cdkh0nw2czn1cw2gaccs1";
+    x86_64-linux = "sha256-PaquU2CrtIJS1s9TKshmKxfs0L3Jhvs/sgO4ZrlJFzA=";
   }.${system} or "";
 
   meta = with lib; {
diff --git a/pkgs/tools/security/bitwarden_rs/default.nix b/pkgs/tools/security/bitwarden_rs/default.nix
index 3b623cefd0d..2cce00693a4 100644
--- a/pkgs/tools/security/bitwarden_rs/default.nix
+++ b/pkgs/tools/security/bitwarden_rs/default.nix
@@ -8,13 +8,13 @@ let
 
 in rustPlatform.buildRustPackage rec {
   pname = "bitwarden_rs";
-  version = "1.17.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "dani-garcia";
     repo = pname;
     rev = version;
-    sha256 = "0hi29vy23a5r23pgzdssd2gvim8vw2vmykck5cl5phq11a3az31p";
+    sha256 = "1iww8fhh4indmgw1j35whqyakd4bppmiyjpcdf2qrzg52x5binh0";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ in rustPlatform.buildRustPackage rec {
 
   RUSTC_BOOTSTRAP = 1;
 
-  cargoSha256 = "0hv3k5l85nz4syzamranhi237fiwkjnda8v5ssnm2nsmcm7ih9k8";
+  cargoSha256 = "0ga7ahlszja8ilng8xsrwdy7zy6bbci4mf00lknladjhlw16wibf";
   cargoBuildFlags = [ featuresFlag ];
 
   checkPhase = ''
@@ -40,7 +40,7 @@ in rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Unofficial Bitwarden compatible server written in Rust";
     homepage = "https://github.com/dani-garcia/bitwarden_rs";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ msteen ];
   };
 }
diff --git a/pkgs/tools/security/bitwarden_rs/vault.nix b/pkgs/tools/security/bitwarden_rs/vault.nix
index bef7fc8d6be..57f52d91bb0 100644
--- a/pkgs/tools/security/bitwarden_rs/vault.nix
+++ b/pkgs/tools/security/bitwarden_rs/vault.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwarden_rs-vault";
-  version = "2.17.1";
+  version = "2.18.1b";
 
   src = fetchurl {
     url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz";
-    sha256 = "1kd21higniszk1na5ag7q4g0l7h6ddl91gpbjbwym28hsbjvxla7";
+    sha256 = "sha256-MwHTx4ITr2GuBS6qXD4m3aCinpJHQa0Wp0Bbmgg7ATQ=";
   };
 
   buildCommand = ''
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     description = "Integrates the web vault into bitwarden_rs";
     homepage = "https://github.com/dani-garcia/bw_web_builds";
     platforms = platforms.all;
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ msteen ];
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ msteen mic92 ];
   };
 }
diff --git a/pkgs/tools/security/ccid/default.nix b/pkgs/tools/security/ccid/default.nix
index b20b513ac28..e715cf50418 100644
--- a/pkgs/tools/security/ccid/default.nix
+++ b/pkgs/tools/security/ccid/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ccid";
-  version = "1.4.33";
+  version = "1.4.34";
 
   src = fetchurl {
     url = "https://ccid.apdu.fr/files/${pname}-${version}.tar.bz2";
-    sha256 = "0974h2v9wq0j0ajw3c7yckaw8wqcppb2npfhfhmv9phijy9xlmjj";
+    sha256 = "sha256-5vdkW1mpooROtLGn7/USlg1/BKRlSvAvf9L4re1dtAo=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/security/certmgr/default.nix b/pkgs/tools/security/certmgr/default.nix
index 47848b25b43..e2318c853f1 100644
--- a/pkgs/tools/security/certmgr/default.nix
+++ b/pkgs/tools/security/certmgr/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub, fetchpatch }:
+{ lib, buildGoPackage, fetchFromGitHub, fetchpatch }:
 
 let
   generic = { patches ? [] }:
diff --git a/pkgs/tools/security/certstrap/default.nix b/pkgs/tools/security/certstrap/default.nix
index f0c756f54f9..ff6522f1d35 100644
--- a/pkgs/tools/security/certstrap/default.nix
+++ b/pkgs/tools/security/certstrap/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "certstrap";
diff --git a/pkgs/tools/security/cfssl/default.nix b/pkgs/tools/security/cfssl/default.nix
index 835c5daa72c..e92fe7b951f 100644
--- a/pkgs/tools/security/cfssl/default.nix
+++ b/pkgs/tools/security/cfssl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub, go-rice }:
+{ lib, buildGoModule, fetchFromGitHub, go-rice }:
 
 buildGoModule rec {
   pname = "cfssl";
diff --git a/pkgs/tools/security/chrome-token-signing/default.nix b/pkgs/tools/security/chrome-token-signing/default.nix
index 4966c6412ab..5c2e6b4de15 100644
--- a/pkgs/tools/security/chrome-token-signing/default.nix
+++ b/pkgs/tools/security/chrome-token-signing/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, mkDerivation, fetchFromGitHub, qmake, pcsclite, pkg-config, opensc }:
+{ lib, mkDerivation, fetchFromGitHub, qmake, pcsclite, pkg-config, opensc }:
 
 mkDerivation rec {
   pname = "chrome-token-signing";
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index eb9fc8e7b95..bad5f3f476e 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clamav";
-  version = "0.103.0";
+  version = "0.103.1";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz";
-    sha256 = "0ih5x1rscg2m64y0z20njj7435q8k7ss575cfw7aipdzfx979a9j";
+    sha256 = "sha256-cwjEe4myaK87nzYUBSiSekn/PmM6nJwKrCcS2BBW4lc=";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
diff --git a/pkgs/tools/security/cloudbrute/default.nix b/pkgs/tools/security/cloudbrute/default.nix
index 06f0dd413a5..84a59ec495f 100644
--- a/pkgs/tools/security/cloudbrute/default.nix
+++ b/pkgs/tools/security/cloudbrute/default.nix
@@ -1,6 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
diff --git a/pkgs/tools/security/creddump/default.nix b/pkgs/tools/security/creddump/default.nix
index 7a936408433..e9e5685acf4 100644
--- a/pkgs/tools/security/creddump/default.nix
+++ b/pkgs/tools/security/creddump/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitLab, python2, python2Packages }:
+{ lib, fetchFromGitLab, python2, python2Packages }:
 
 python2Packages.buildPythonApplication rec {
   pname = "creddump";
diff --git a/pkgs/tools/security/crlfuzz/default.nix b/pkgs/tools/security/crlfuzz/default.nix
index feddd893cec..88bd45bb5e1 100644
--- a/pkgs/tools/security/crlfuzz/default.nix
+++ b/pkgs/tools/security/crlfuzz/default.nix
@@ -1,6 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
diff --git a/pkgs/tools/security/crowbar/default.nix b/pkgs/tools/security/crowbar/default.nix
index 2f197421e1f..e58f77457de 100644
--- a/pkgs/tools/security/crowbar/default.nix
+++ b/pkgs/tools/security/crowbar/default.nix
@@ -3,7 +3,7 @@
 , nmap
 , openvpn
 , python3Packages
-, lib, stdenv
+, lib
 , tigervnc
 }:
 
diff --git a/pkgs/tools/security/crunch/default.nix b/pkgs/tools/security/crunch/default.nix
index 2422a2278bb..0c7620124d1 100644
--- a/pkgs/tools/security/crunch/default.nix
+++ b/pkgs/tools/security/crunch/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, which }:
 
-stdenv.mkDerivation  rec {
+stdenv.mkDerivation rec {
   pname = "crunch";
   version = "3.6";
 
@@ -24,6 +24,7 @@ stdenv.mkDerivation  rec {
     description = "Wordlist generator";
     homepage = "https://sourceforge.net/projects/crunch-wordlist/";
     platforms = platforms.unix;
+    license = with licenses; [ gpl2Only ];
     maintainers = with maintainers; [ lethalman lnl7 ];
   };
 }
diff --git a/pkgs/tools/security/deepsea/default.nix b/pkgs/tools/security/deepsea/default.nix
index 855549bb0c8..e351eb7a79d 100644
--- a/pkgs/tools/security/deepsea/default.nix
+++ b/pkgs/tools/security/deepsea/default.nix
@@ -1,6 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
diff --git a/pkgs/tools/security/dnsrecon/default.nix b/pkgs/tools/security/dnsrecon/default.nix
index 65b18c5c822..5eda4e75f94 100644
--- a/pkgs/tools/security/dnsrecon/default.nix
+++ b/pkgs/tools/security/dnsrecon/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3 }:
+{ lib, fetchFromGitHub, python3 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "dnsrecon";
diff --git a/pkgs/tools/security/dnsx/default.nix b/pkgs/tools/security/dnsx/default.nix
index 1a82467201d..35f033cb983 100644
--- a/pkgs/tools/security/dnsx/default.nix
+++ b/pkgs/tools/security/dnsx/default.nix
@@ -1,6 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
diff --git a/pkgs/tools/security/doas/default.nix b/pkgs/tools/security/doas/default.nix
index 6867256ea90..7da3b8e9f06 100644
--- a/pkgs/tools/security/doas/default.nix
+++ b/pkgs/tools/security/doas/default.nix
@@ -1,5 +1,5 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
 , fetchFromGitHub
 , bison
 , pam
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "doas";
-  version = "6.8";
+  version = "6.8.1";
 
   src = fetchFromGitHub {
     owner = "Duncaen";
     repo = "OpenDoas";
     rev = "v${version}";
-    sha256 = "1dlwnvy8r6slxcy260gfkximp1ms510wdslpfq9y6xvd2qi5izcb";
+    sha256 = "sha256-F0FVVspGDZmzxy4nsb/wsEoCw4eHscymea7tIKrWzD0=";
   };
 
   # otherwise confuses ./configure
diff --git a/pkgs/tools/security/doppler/default.nix b/pkgs/tools/security/doppler/default.nix
index 08a83f8c9b2..1222ade4ad7 100644
--- a/pkgs/tools/security/doppler/default.nix
+++ b/pkgs/tools/security/doppler/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.21.0";
+  version = "3.22.0";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-ll4PabDy5xnyi+cZdjvSySizRCxthRY7uHLzdYP6U5M=";
+    sha256 = "sha256-Vx+f2IgCOdRxCVppkJNzVDBnsWjt4X96PyCJl9MmfWI=";
   };
 
   vendorSha256 = "sha256-rQrlnIYYnRc+cqyiyJoh1YqxD61doyjte7ehrX4RDTI=";
diff --git a/pkgs/tools/security/enpass/default.nix b/pkgs/tools/security/enpass/default.nix
index 3b25dd58b34..7e2c0fcdb33 100644
--- a/pkgs/tools/security/enpass/default.nix
+++ b/pkgs/tools/security/enpass/default.nix
@@ -79,7 +79,9 @@ let
       # lsof must be in PATH for proper operation
       wrapProgram $out/bin/Enpass \
         --set LD_LIBRARY_PATH "${libPath}" \
-        --prefix PATH : ${lsof}/bin
+        --prefix PATH : ${lsof}/bin \
+        --unset QML2_IMPORT_PATH \
+        --unset QT_PLUGIN_PATH
     '';
   };
   updater = {
diff --git a/pkgs/tools/security/ffuf/default.nix b/pkgs/tools/security/ffuf/default.nix
index 084601a4122..6af8b6fcba9 100644
--- a/pkgs/tools/security/ffuf/default.nix
+++ b/pkgs/tools/security/ffuf/default.nix
@@ -1,20 +1,20 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
   pname = "ffuf";
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jb2x0ybcb9zkqm7flpmr0hd3171xvnn6kxmfcgds4x8l9fbmxnr";
+    sha256 = "sha256-XSdFLfSYDdKI7BYo9emYanvZeSFGxiNLYxuw5QKAyRc=";
   };
 
-  vendorSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
+  vendorSha256 = "sha256-szT08rIozAuliOmge5RFX4NeVrJ2pCVyfotrHuvc0UU=";
 
   # tests don't pass due to an issue with the memory addresses
   # https://github.com/ffuf/ffuf/issues/367
diff --git a/pkgs/tools/security/fido2luks/default.nix b/pkgs/tools/security/fido2luks/default.nix
index e0dcdadb7b0..24115ba923f 100644
--- a/pkgs/tools/security/fido2luks/default.nix
+++ b/pkgs/tools/security/fido2luks/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , rustPlatform
 , fetchFromGitHub
 , cryptsetup
@@ -9,13 +9,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fido2luks";
-  version = "0.2.15";
+  version = "0.2.16";
 
   src = fetchFromGitHub {
     owner = "shimunn";
     repo = pname;
     rev = version;
-    sha256 = "1v5gxcz4zbc673i5kbsnjq8bikf7jdbn3wjfz1wppjrgwnkgvsh9";
+    sha256 = "sha256-WOdbdJAcMZHSnf7AkGnEumjaDut9J8VwSJYjqLUtPXs=";
   };
 
   buildInputs = [ cryptsetup ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
     export LIBCLANG_PATH="${llvmPackages.libclang}/lib"
   '';
 
-  cargoSha256 = "19drjql13z8bw257z10kjppxm25jlfgrpc9g1jf68ka5j2b3nx7k";
+  cargoSha256 = "sha256-4VuM1bPkl9XCI9XsZIJvw3kHSKgT4P7x6I83F2KCFD0=";
 
   meta = with lib; {
     description = "Decrypt your LUKS partition using a FIDO2 compatible authenticator";
diff --git a/pkgs/tools/security/fierce/default.nix b/pkgs/tools/security/fierce/default.nix
index 3d6472cbb44..797a2db211b 100644
--- a/pkgs/tools/security/fierce/default.nix
+++ b/pkgs/tools/security/fierce/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3 }:
+{ lib, fetchFromGitHub, python3 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "fierce";
diff --git a/pkgs/tools/security/gau/default.nix b/pkgs/tools/security/gau/default.nix
index 98045a107e5..46498e49cff 100644
--- a/pkgs/tools/security/gau/default.nix
+++ b/pkgs/tools/security/gau/default.nix
@@ -1,6 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
diff --git a/pkgs/tools/security/gencfsm/default.nix b/pkgs/tools/security/gencfsm/default.nix
index d19f07595e8..53127173f79 100644
--- a/pkgs/tools/security/gencfsm/default.nix
+++ b/pkgs/tools/security/gencfsm/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-appindicator" ];
 
-  preFixup = ''gappsWrapperArgs+=(--prefix PATH : ${encfs}/bin)'';
+  preFixup = "gappsWrapperArgs+=(--prefix PATH : ${encfs}/bin)";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/tools/security/gnome-keysign/default.nix b/pkgs/tools/security/gnome-keysign/default.nix
index db0e88a805b..a94be8295ea 100644
--- a/pkgs/tools/security/gnome-keysign/default.nix
+++ b/pkgs/tools/security/gnome-keysign/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , fetchFromGitLab
 , fetchpatch
 , python3
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index 90ae4300fa6..1030ce3e791 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     sed -i 's/$SOURCE_DATE_EPOCH/''${SOURCE_DATE_EPOCH}/' doc/Makefile.in
   '' + lib.optionalString ( stdenv.isLinux && pcsclite != null) ''
     sed -i 's,"libpcsclite\.so[^"]*","${lib.getLib pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
-  ''; #" fix Emacs syntax highlighting :-(
+  '';
 
   pinentryBinaryPath = pinentry.binaryPath or "bin/pinentry";
   configureFlags = [
diff --git a/pkgs/tools/security/go-cve-search/default.nix b/pkgs/tools/security/go-cve-search/default.nix
new file mode 100644
index 00000000000..e68970b0b26
--- /dev/null
+++ b/pkgs/tools/security/go-cve-search/default.nix
@@ -0,0 +1,32 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "go-cve-search";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "s-index";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0hbv829daviskwsyp9xjcvl52m22986b2cylf2rldnxw5x8zqdvd";
+  };
+
+  vendorSha256 = "0bhxk39ivbkhwjvq6415lax1pzn208b7px1id0d1nry93bk2zynd";
+
+  # Tests requires network access
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A lightweight CVE search tool";
+    longDescription = ''
+      go-cve-search is a lightweight tool to search CVE (Common Vulnerabilities
+      and Exposures).
+    '';
+    homepage = "https://github.com/s-index/go-cve-search";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix
index d85c6ca2869..c208b44bfd6 100644
--- a/pkgs/tools/security/gopass/default.nix
+++ b/pkgs/tools/security/gopass/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , makeWrapper
 , buildGoModule
 , fetchFromGitHub
@@ -12,7 +13,7 @@
 
 buildGoModule rec {
   pname = "gopass";
-  version = "1.11.0";
+  version = "1.12.0";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -20,10 +21,12 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0plg3hck6yqxcazjczx9m5palzz5h3qs5minzmmq8yzvfwi0shic";
+    sha256 = "0y3dcikw6gl436mhza5j0b3lm49jzl590a9ry53rkmzrv2lqx9w6";
   };
 
-  vendorSha256 = "1sycbcld5qyriqb771l52drxy4vhzm4nh9q5s6kn70nq1s2a3h7x";
+  vendorSha256 = "09lbkm7c361c2s87qi1wpfsqgpp3r862wcn98dzdg5j6pvpgwbag";
+
+  subPackages = [ "." ];
 
   doCheck = false;
 
@@ -47,9 +50,7 @@ buildGoModule rec {
   '';
 
   postFixup = ''
-    for bin in $out/bin/*; do
-      wrapProgram $bin --prefix PATH : "${wrapperPath}"
-    done
+    wrapProgram $out/bin/gopass --prefix PATH : "${wrapperPath}"
   '';
 
   meta = with lib; {
@@ -57,6 +58,7 @@ buildGoModule rec {
     homepage = "https://www.gopass.pw/";
     license = licenses.mit;
     maintainers = with maintainers; [ andir rvolosatovs ];
+    changelog = "https://github.com/gopasspw/gopass/blob/v${version}/CHANGELOG.md";
     platforms = platforms.unix;
 
     longDescription = ''
diff --git a/pkgs/tools/security/gospider/default.nix b/pkgs/tools/security/gospider/default.nix
index f32ecdc94e6..f4b750d394a 100644
--- a/pkgs/tools/security/gospider/default.nix
+++ b/pkgs/tools/security/gospider/default.nix
@@ -1,6 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix
index 49530213985..dc4b487747c 100644
--- a/pkgs/tools/security/grype/default.nix
+++ b/pkgs/tools/security/grype/default.nix
@@ -1,21 +1,21 @@
 { buildGoModule
 , docker
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.6.1";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0schq11vckvdj538mnkdzhxl452nrssqrfapab9qc44yxdi1wf8k";
+    sha256 = "sha256-co00Ye/QVNSG4h67m56+37JLilBVzHxUwMs1vS3wYX4=";
   };
 
-  vendorSha256 = "0lna7zhsj3wnw83nv0dp93aj869pplb51gqzrkka7vnqp0rjcw50";
+  vendorSha256 = "sha256-q7n8WLw/A2wr3z5h7zaFERY7lO5UIsmTD2mrcH/vpNs=";
 
   propagatedBuildInputs = [ docker ];
 
diff --git a/pkgs/tools/security/hcxtools/default.nix b/pkgs/tools/security/hcxtools/default.nix
index a1ba32b35ed..20e28fa1253 100644
--- a/pkgs/tools/security/hcxtools/default.nix
+++ b/pkgs/tools/security/hcxtools/default.nix
@@ -1,16 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, curl, openssl, zlib }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, curl, openssl, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "hcxtools";
-  version = "6.0.3";
+  version = "6.1.5";
 
   src = fetchFromGitHub {
     owner = "ZerBea";
     repo = pname;
     rev = version;
-    sha256 = "0s9l5mvzcv6hnj7h28piabnm66b09hk2l57vb85ny35w99hzpkc0";
+    sha256 = "1xvr89r6287788bx5qbw9sr8jvmajps0rpc7fvh9bfzb6zw2rq6w";
   };
 
+  nativeBuildInputs = [ pkg-config ];
   buildInputs = [ curl openssl zlib ];
 
   makeFlags = [
diff --git a/pkgs/tools/security/hologram/default.nix b/pkgs/tools/security/hologram/default.nix
index 6ec4d7776e1..9c1c896d889 100644
--- a/pkgs/tools/security/hologram/default.nix
+++ b/pkgs/tools/security/hologram/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "hologram-2018-03-19";
diff --git a/pkgs/tools/security/httpdump/default.nix b/pkgs/tools/security/httpdump/default.nix
new file mode 100644
index 00000000000..c2e5a62969b
--- /dev/null
+++ b/pkgs/tools/security/httpdump/default.nix
@@ -0,0 +1,29 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+, libpcap
+}:
+
+buildGoModule rec {
+  pname = "httpdump";
+  version = "20210126-${lib.strings.substring 0 7 rev}";
+  rev = "d2e0deadca5f9ec2544cb252da3c450966d1860e";
+
+  src = fetchFromGitHub {
+    owner = "hsiafan";
+    repo = pname;
+    inherit rev;
+    sha256 = "0yh8kxy1k23lln09b614limwk9y59r7cn5qhbnzc06ga4mxfczv2";
+  };
+
+  vendorSha256 = "0lb1p63lzn1ngj54bar9add7w0azvgcq3azhv9c5glk3ykv9c3iy";
+
+  propagatedBuildInputs = [ libpcap ];
+
+  meta = with lib; {
+    description = "Parse and display HTTP traffic from network device or pcap file";
+    homepage = "https://github.com/hsiafan/httpdump";
+    license = with licenses; [ bsd2 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/httpx/default.nix b/pkgs/tools/security/httpx/default.nix
index 7135baab375..bff9e03bc6f 100644
--- a/pkgs/tools/security/httpx/default.nix
+++ b/pkgs/tools/security/httpx/default.nix
@@ -1,6 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
diff --git a/pkgs/tools/security/ike-scan/default.nix b/pkgs/tools/security/ike-scan/default.nix
new file mode 100644
index 00000000000..5d54e36585d
--- /dev/null
+++ b/pkgs/tools/security/ike-scan/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, autoconf
+, automake
+, autoreconfHook
+, fetchFromGitHub
+, fetchpatch
+, openssl
+, stdenv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ike-scan";
+  version = "1.9.4";
+
+  src = fetchFromGitHub {
+    owner = "royhills";
+    repo = pname;
+    rev = version;
+    sha256 = "01a39bk9ma2lm59q320m9g11909if5gc3qynd8pzn6slqiq5r8kw";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    openssl
+  ];
+
+  configureFlags = [ "--with-openssl=${openssl.dev}" ];
+
+  patches = [
+    # Using the same patches as for the Fedora RPM
+    (fetchpatch {
+      # Memory leaks, https://github.com/royhills/ike-scan/pull/15
+      url = "https://github.com/royhills/ike-scan/pull/15/commits/d864811de08dcddd65ac9b8d0f2acf5d7ddb9dea.patch";
+      sha256 = "0wbrq89dl8js7cdivd0c45hckmflan33cpgc3qm5s3az6r4mjljm";
+    })
+    (fetchpatch {
+      # Unknown vendor IDs,  https://github.com/royhills/ike-scan/pull/18, was merged but not released
+      url = "https://github.com/royhills/ike-scan/pull/18/commits/e065ddbe471880275dc7975e7da235e7a2097c22.patch";
+      sha256 = "13ly01c96nnd5yh7rxrhv636csm264m5xf2a1inprrzxkkri5sls";
+    })
+  ];
+
+  meta = with lib; {
+    description = "Tool to discover, fingerprint and test IPsec VPN servers";
+    longDescription = ''
+      ike-scan is a command-line tool that uses the IKE protocol to discover,
+      fingerprint and test IPsec VPN servers.
+    '';
+    homepage = "https://github.com/royhills/ike-scan";
+    license = with licenses; [ gpl3Plus ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index 50724d1199a..f1268717a91 100644
--- a/pkgs/tools/security/keybase/default.nix
+++ b/pkgs/tools/security/keybase/default.nix
@@ -6,7 +6,7 @@
 
 buildGoPackage rec {
   pname = "keybase";
-  version = "5.5.2";
+  version = "5.6.1";
 
   goPackagePath = "github.com/keybase/client";
   subPackages = [ "go/kbnm" "go/keybase" ];
@@ -17,7 +17,7 @@ buildGoPackage rec {
     owner = "keybase";
     repo = "client";
     rev = "v${version}";
-    sha256 = "01k50mank6cdc7q3yd8m7xi8vmyklsqlmz7hw17a35lqcsjzy9zj";
+    sha256 = "12b0jdwhnvxb51x3pq0g0f23grv9yjbxmpsz36n8ab3j0fvmfg0g";
   };
 
   patches = [
diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix
index 54be692b007..cfc282c303c 100644
--- a/pkgs/tools/security/keybase/gui.nix
+++ b/pkgs/tools/security/keybase/gui.nix
@@ -4,17 +4,17 @@
 , runtimeShell, gsettings-desktop-schemas }:
 
 let
-  versionSuffix = "20201016183637.d4ebf7d999";
+  versionSuffix = "20210125164223.f3b21527b9";
 in
 
 stdenv.mkDerivation rec {
   pname = "keybase-gui";
-  version = "5.5.2"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
+  version = "5.6.1"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
 
   src = fetchurl {
 
     url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version + "-" + versionSuffix}_amd64.deb";
-    sha256 = "0qwbqnc6dhfnx3gdwl1lyhdsbclaxpkv3zr3dmxfx1242s64v0c1";
+    sha256 = "12ckfd02j0f3p3pdlwc640f61z1wzblf2414h6fkf5vzd289h35p";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/keybase/kbfs.nix b/pkgs/tools/security/keybase/kbfs.nix
index 6916d6b99bd..67abb57394c 100644
--- a/pkgs/tools/security/keybase/kbfs.nix
+++ b/pkgs/tools/security/keybase/kbfs.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub, keybase }:
+{ lib, buildGoPackage, fetchFromGitHub, keybase }:
 
 buildGoPackage {
   pname = "kbfs";
diff --git a/pkgs/tools/security/keycard-cli/default.nix b/pkgs/tools/security/keycard-cli/default.nix
index 4c276cb6e90..6e67358b675 100644
--- a/pkgs/tools/security/keycard-cli/default.nix
+++ b/pkgs/tools/security/keycard-cli/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "keycard-cli";
-  version = "0.4.0";
+  version = "0.6.0";
 
   goPackagePath = "github.com/status-im/keycard-cli";
   subPackages = [ "." ];
@@ -14,7 +14,7 @@ buildGoPackage rec {
     owner = "status-im";
     repo = pname;
     rev = version;
-    sha256 = "0917vl5lw8wgvyn5l8q6xa8bqh342fibaa38syr8hmz8b09qkh38";
+    sha256 = "sha256-ejFvduZs3eWc6efr9o4pXb6qw2QWWQTtkTxF80vOGNU=";
   };
 
   buildFlagsArray = [
diff --git a/pkgs/tools/security/knockknock/default.nix b/pkgs/tools/security/knockknock/default.nix
index 7a00f183f15..960667e72de 100644
--- a/pkgs/tools/security/knockknock/default.nix
+++ b/pkgs/tools/security/knockknock/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python2Packages, hping }:
+{ lib, fetchFromGitHub, python2Packages, hping }:
 let
   rev  = "bf14bbff";
 in python2Packages.buildPythonApplication rec {
diff --git a/pkgs/tools/security/lesspass-cli/default.nix b/pkgs/tools/security/lesspass-cli/default.nix
index 20473d1003e..ce64b6847fe 100644
--- a/pkgs/tools/security/lesspass-cli/default.nix
+++ b/pkgs/tools/security/lesspass-cli/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3, fetchFromGitHub }:
+{ lib, python3, fetchFromGitHub }:
 
 let
   inherit (python3.pkgs) buildPythonApplication pytest mock pexpect;
diff --git a/pkgs/tools/security/masscan/default.nix b/pkgs/tools/security/masscan/default.nix
index 0f45edcff6c..b58163630c6 100644
--- a/pkgs/tools/security/masscan/default.nix
+++ b/pkgs/tools/security/masscan/default.nix
@@ -1,17 +1,23 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, libpcap }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, installShellFiles
+, makeWrapper
+, libpcap
+}:
 
 stdenv.mkDerivation rec {
   pname = "masscan";
-  version = "1.3.0";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
-    owner  = "robertdavidgraham";
-    repo   = "masscan";
-    rev    = version;
-    sha256 = "04nlnficybgxa16kq9fwrrfjsbyiaps4mikfqgdr206fkqk9i05y";
+    owner = "robertdavidgraham";
+    repo = "masscan";
+    rev = version;
+    sha256 = "sha256-mnGC/moQANloR5ODwRjzJzBa55OEZ9QU+9WpAHxQE/g=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
 
   makeFlags = [ "PREFIX=$(out)" "GITVER=${version}" "CC=cc" ];
 
@@ -20,13 +26,13 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    mkdir -p $out/share/man/man8
+    installManPage doc/masscan.8
+
     mkdir -p $out/share/{doc,licenses}/masscan
     mkdir -p $out/etc/masscan
 
     cp data/exclude.conf $out/etc/masscan
     cp -t $out/share/doc/masscan doc/algorithm.js doc/howto-afl.md doc/bot.html
-    cp doc/masscan.8 $out/share/man/man8/masscan.8
     cp LICENSE $out/share/licenses/masscan/LICENSE
 
     wrapProgram $out/bin/masscan --prefix LD_LIBRARY_PATH : "${libpcap}/lib"
@@ -34,9 +40,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Fast scan of the Internet";
-    homepage    = "https://github.com/robertdavidgraham/masscan";
-    license     = licenses.agpl3;
-    platforms   = platforms.unix;
+    homepage = "https://github.com/robertdavidgraham/masscan";
+    changelog = "https://github.com/robertdavidgraham/masscan/releases/tag/${version}";
+    license = licenses.agpl3Only;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ rnhmjoj ];
   };
 }
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 83db469db6e..7ffbb5c0323 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.26"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.29"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 8660d72e5d9..926d955d2e8 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 0cdd01a0c4432348b45e1a0f5b5b9983b6ce6c48
-  ref: refs/tags/6.0.26
+  revision: f54a838fa686f495854a71cb32fadcb1853b6201
+  ref: refs/tags/6.0.29
   specs:
-    metasploit-framework (6.0.26)
+    metasploit-framework (6.0.29)
       actionpack (~> 5.2.2)
       activerecord (~> 5.2.2)
       activesupport (~> 5.2.2)
@@ -31,9 +31,9 @@ GIT
       metasploit-concern
       metasploit-credential
       metasploit-model
-      metasploit-payloads (= 2.0.27)
+      metasploit-payloads (= 2.0.28)
       metasploit_data_models
-      metasploit_payloads-mettle (= 1.0.5)
+      metasploit_payloads-mettle (= 1.0.6)
       mqtt
       msgpack
       nessus_rest
@@ -92,7 +92,7 @@ GIT
 GEM
   remote: https://rubygems.org/
   specs:
-    Ascii85 (1.0.3)
+    Ascii85 (1.1.0)
     actionpack (5.2.4.4)
       actionview (= 5.2.4.4)
       activesupport (= 5.2.4.4)
@@ -124,23 +124,23 @@ GEM
     arel-helpers (2.12.0)
       activerecord (>= 3.1.0, < 7)
     aws-eventstream (1.1.0)
-    aws-partitions (1.417.0)
-    aws-sdk-core (3.111.2)
+    aws-partitions (1.424.0)
+    aws-sdk-core (3.112.0)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.239.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.220.0)
-      aws-sdk-core (~> 3, >= 3.109.0)
+    aws-sdk-ec2 (1.224.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-iam (1.46.0)
-      aws-sdk-core (~> 3, >= 3.109.0)
+    aws-sdk-iam (1.47.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kms (1.41.0)
-      aws-sdk-core (~> 3, >= 3.109.0)
+    aws-sdk-kms (1.42.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.87.0)
-      aws-sdk-core (~> 3, >= 3.109.0)
+    aws-sdk-s3 (1.88.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.1)
     aws-sigv4 (1.2.2)
@@ -183,10 +183,10 @@ GEM
     hrr_rb_ssh (0.3.0.pre2)
       ed25519 (~> 1.2)
     http_parser.rb (0.6.0)
-    i18n (1.8.7)
+    i18n (1.8.8)
       concurrent-ruby (~> 1.0)
     io-console (0.5.7)
-    irb (1.3.2)
+    irb (1.3.3)
       reline (>= 0.1.5)
     jmespath (1.4.0)
     jsobfu (0.4.2)
@@ -214,7 +214,7 @@ GEM
       activemodel (~> 5.2.2)
       activesupport (~> 5.2.2)
       railties (~> 5.2.2)
-    metasploit-payloads (2.0.27)
+    metasploit-payloads (2.0.28)
     metasploit_data_models (4.1.1)
       activerecord (~> 5.2.2)
       activesupport (~> 5.2.2)
@@ -224,12 +224,12 @@ GEM
       pg
       railties (~> 5.2.2)
       recog (~> 2.0)
-    metasploit_payloads-mettle (1.0.5)
+    metasploit_payloads-mettle (1.0.6)
     method_source (1.0.0)
     mini_portile2 (2.5.0)
     minitest (5.14.3)
     mqtt (0.5.0)
-    msgpack (1.3.3)
+    msgpack (1.4.2)
     multipart-post (2.1.1)
     mustermann (1.1.1)
       ruby2_keywords (~> 0.0.1)
@@ -238,7 +238,7 @@ GEM
     net-ssh (6.1.0)
     network_interface (0.0.2)
     nexpose (7.2.1)
-    nio4r (2.5.4)
+    nio4r (2.5.5)
     nokogiri (1.11.1)
       mini_portile2 (~> 2.5.0)
       racc (~> 1.4)
@@ -252,15 +252,15 @@ GEM
       pcaprub
     patch_finder (1.0.2)
     pcaprub (0.13.0)
-    pdf-reader (2.4.1)
-      Ascii85 (~> 1.0.0)
+    pdf-reader (2.4.2)
+      Ascii85 (~> 1.0)
       afm (~> 0.2.1)
       hashery (~> 2.0)
       ruby-rc4
       ttfunk
     pg (1.2.3)
     public_suffix (4.0.6)
-    puma (5.1.1)
+    puma (5.2.1)
       nio4r (~> 2.0)
     racc (1.5.2)
     rack (2.2.3)
@@ -281,10 +281,10 @@ GEM
       thor (>= 0.19.0, < 2.0)
     rake (13.0.3)
     rb-readline (0.5.5)
-    recog (2.3.18)
+    recog (2.3.19)
       nokogiri
     redcarpet (3.5.1)
-    reline (0.2.2)
+    reline (0.2.3)
       io-console (~> 0.5)
     rex-arch (0.1.14)
       rex-text
@@ -294,7 +294,7 @@ GEM
       rex-core
       rex-struct2
       rex-text
-    rex-core (0.1.14)
+    rex-core (0.1.15)
     rex-encoder (0.1.5)
       metasm
       rex-arch
@@ -343,7 +343,7 @@ GEM
       openssl-cmac
       rubyntlm
       windows_error
-    rubyntlm (0.6.2)
+    rubyntlm (0.6.3)
     rubyzip (2.3.0)
     sawyer (0.8.2)
       addressable (>= 2.3.5)
@@ -361,19 +361,20 @@ GEM
       daemons (~> 1.0, >= 1.0.9)
       eventmachine (~> 1.0, >= 1.0.4)
       rack (>= 1, < 3)
-    thor (1.0.1)
+    thor (1.1.0)
     thread_safe (0.3.6)
     tilt (2.0.10)
     ttfunk (1.7.0)
     tzinfo (1.2.9)
       thread_safe (~> 0.1)
-    tzinfo-data (1.2020.6)
+    tzinfo-data (1.2021.1)
       tzinfo (>= 1.0.0)
     unf (0.1.4)
       unf_ext
     unf_ext (0.0.7.7)
     warden (1.2.9)
       rack (>= 2.0.9)
+    webrick (1.7.0)
     websocket-driver (0.7.3)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
@@ -381,7 +382,8 @@ GEM
     xdr (3.0.2)
       activemodel (>= 4.2, < 7.0)
       activesupport (>= 4.2, < 7.0)
-    xmlrpc (0.3.1)
+    xmlrpc (0.3.2)
+      webrick
     zeitwerk (2.4.2)
 
 PLATFORMS
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 0d9475ddfa0..e11b1dd2990 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -8,13 +8,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.0.26";
+  version = "6.0.29";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-ayW0MsV3TQnta+bP9kNL6m3hFPrn6lbsiAbXw7WOmBA=";
+    sha256 = "sha256-QDgInLW/uOBGf0ioPPBMUZv/c9tA7OtTOfp2CEAjf24=";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index a4ea5ec8c4f..d33ca7ce03f 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -94,10 +94,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0658m37jjjn6drzqg1gk4p6c205mgp7g1jh2d00n4ngghgmz5qvs";
+      sha256 = "1ds4v9xgsyvijnlflak4dzf1qwmda9yd5bv8jwsb56nngd399rlw";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.1.0";
   };
   aws-eventstream = {
     groups = ["default"];
@@ -114,60 +114,60 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1difs2ynpizrq0jdww075camiagkkxncyfb1qi4s19hfsn8xp3j0";
+      sha256 = "1dxyx3pnih7g23hq794ldapsszddcmldxf6pq3z99q4d8rg8rrqp";
       type = "gem";
     };
-    version = "1.417.0";
+    version = "1.424.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bfj1cnpp0ljr9jc44kljdwl5399cbqlvlqkz6fxq5i4r6ckggi4";
+      sha256 = "15lynby6r91p9hh5h92pg4jr8xgnjr52px5ax0p0wncdw4vz0skp";
       type = "gem";
     };
-    version = "3.111.2";
+    version = "3.112.0";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x3hw3ld27gxj0mmbaj4dw6aw90kr06mkjfx5wxxb807krp5giza";
+      sha256 = "1lg8vh124viba77b0qhi5j8xx8b4wxdiyycl4kaawmddwhr33zx9";
       type = "gem";
     };
-    version = "1.220.0";
+    version = "1.224.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j0llz7m9qymfn54vim99k0fjg6vsw71ylcagz1csay6qkjxipg7";
+      sha256 = "16152qidkisakl2iqvghrjnccq279pahb953q5a4q0ipk5imw2c1";
       type = "gem";
     };
-    version = "1.46.0";
+    version = "1.47.0";
   };
   aws-sdk-kms = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02f70a4rr5h2na7navjhaf3n15ifq95zdl1avsryyxdvqzm5gzwm";
+      sha256 = "00wgf83cdy6z77b2y0ld0aqiidfyldi71hx0z8b73gxjdlbwpq1i";
       type = "gem";
     };
-    version = "1.41.0";
+    version = "1.42.0";
   };
   aws-sdk-s3 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0capqhvm08ngq74n33ym0khixkdj342jpikssw57avdmd8g6kaq7";
+      sha256 = "029iqr52fxxz8d6jb2g4k76i7nnjyspvjdlx52xah25zzhp3bx7v";
       type = "gem";
     };
-    version = "1.87.0";
+    version = "1.88.0";
   };
   aws-sigv4 = {
     groups = ["default"];
@@ -424,10 +424,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kr0bx9323fv5ys6nlhsy05kmwcbs94h6ac7ka9qqywy0vbdvrrv";
+      sha256 = "0k7q3pwm0l1qvx6sc3d4dxmdxqx2pc63lbfjwv0k0higq94rinvs";
       type = "gem";
     };
-    version = "1.8.7";
+    version = "1.8.8";
   };
   io-console = {
     groups = ["default"];
@@ -444,10 +444,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "166xravh6r82w46d8hcjrg55gnyjdf0501g16lb48i2h06k363l2";
+      sha256 = "00c95xk8c9wzcs5imsrm85jk06y8l4dbnzhvqap98nprr9mxxnvl";
       type = "gem";
     };
-    version = "1.3.2";
+    version = "1.3.3";
   };
   jmespath = {
     groups = ["default"];
@@ -524,12 +524,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "0cdd01a0c4432348b45e1a0f5b5b9983b6ce6c48";
-      sha256 = "044qissw7mq6i3n5dsp7z8af2vga9d1zdkz6dgnhjkbpqlrb89bb";
+      rev = "f54a838fa686f495854a71cb32fadcb1853b6201";
+      sha256 = "0vkz4d00hxps759ypv20vdrzz6si9kq3ra28gx3f1f5znnf0hf20";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.0.26";
+    version = "6.0.29";
   };
   metasploit-model = {
     groups = ["default"];
@@ -546,10 +546,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c3jn9gjy1bknyd7wrwwfbcjwlmijd6nnsjzyqc7yszjjy0yqca2";
+      sha256 = "1xln6zgdiimrbwjbdhi9008bjhmwqm13zky4310pvr7g8riffwqx";
       type = "gem";
     };
-    version = "2.0.27";
+    version = "2.0.28";
   };
   metasploit_data_models = {
     groups = ["default"];
@@ -566,10 +566,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z6gnidpcpdm80vvl0yw1h10kchkaw9whcsv2kwy7ih6247l7nbq";
+      sha256 = "1mxhybic6myh993fs4jmp0hz998ryf362y0b33wqanff1n8aj75k";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "1.0.6";
   };
   method_source = {
     groups = ["default"];
@@ -616,10 +616,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lva6bkvb4mfa0m3bqn4lm4s4gi81c40jvdcsrxr6vng49q9daih";
+      sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6";
       type = "gem";
     };
-    version = "1.3.3";
+    version = "1.4.2";
   };
   multipart-post = {
     groups = ["default"];
@@ -696,10 +696,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cbwp1kbv6b2qfxv8sarv0d0ilb257jihlvdqj8f5pdm0ksq1sgk";
+      sha256 = "0xbrmq1pvmszrwf40lzwmf8krs2b56720i7wsz9gh274qljkzklf";
       type = "gem";
     };
-    version = "2.5.4";
+    version = "2.5.5";
   };
   nokogiri = {
     groups = ["default"];
@@ -786,10 +786,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0987glcd02mqglplmp1camivqx61jsyik21n99vrmi8s2p7h4mbh";
+      sha256 = "1cxladxy18dhk4a3b263crq8hyxb3q0c7ifxrb5nr1bs6y0pk8i6";
       type = "gem";
     };
-    version = "2.4.1";
+    version = "2.4.2";
   };
   pg = {
     groups = ["default"];
@@ -816,10 +816,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13640p5fk19705ygp8j6p07lccag3d80bx8bmjgpd5zsxxsdc50b";
+      sha256 = "10kj484ppkjdg1j8jac4bxdv1082bd6g6xhrj70chlp7lkgl8ggh";
       type = "gem";
     };
-    version = "5.1.1";
+    version = "5.2.1";
   };
   racc = {
     groups = ["default"];
@@ -916,10 +916,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0inz904fbsjscjs71lxxj4070lm1klm27m9prmrhqybc0hr95l69";
+      sha256 = "00czf392immsaff10snjxky2vpnfck1bgszpckx15y2kydag5k9i";
       type = "gem";
     };
-    version = "2.3.18";
+    version = "2.3.19";
   };
   redcarpet = {
     groups = ["default"];
@@ -936,10 +936,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zinl7l63gzy6y477j8w1azfm5655h2026hxl49w4c73qcfdjj3x";
+      sha256 = "18xpix2hn4x4hihn0fjsv6i7jr7zjfbwzs94hwn48klyq3yrym2h";
       type = "gem";
     };
-    version = "0.2.2";
+    version = "0.2.3";
   };
   rex-arch = {
     groups = ["default"];
@@ -966,10 +966,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mmsckkrds6jvg1b4sdq4cv9s1q0idjiy1k8kjfvgylz96ap0vlw";
+      sha256 = "1bjz0mhxijvfq535hpzswr83yrq3ghkkmqna63yjsabh61qpxx16";
       type = "gem";
     };
-    version = "0.1.14";
+    version = "0.1.15";
   };
   rex-encoder = {
     groups = ["default"];
@@ -1176,10 +1176,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy";
+      sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv";
       type = "gem";
     };
-    version = "0.6.2";
+    version = "0.6.3";
   };
   rubyzip = {
     groups = ["default"];
@@ -1256,10 +1256,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xbhkmyhlxwzshaqa7swy2bx6vd64mm0wrr8g3jywvxy7hg0cwkm";
+      sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.1.0";
   };
   thread_safe = {
     groups = ["default"];
@@ -1306,10 +1306,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "131dgg2sz3j15vp71xaijlb72nlii9fn8v5dc4vr6q7hrdq4kjf4";
+      sha256 = "0ik16lnsyr2739jzwl4r5sz8q639lqw8f9s68iszwhm2pcq8p4w2";
       type = "gem";
     };
-    version = "1.2020.6";
+    version = "1.2021.1";
   };
   unf = {
     groups = ["default"];
@@ -1341,6 +1341,16 @@
     };
     version = "1.2.9";
   };
+  webrick = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7";
+      type = "gem";
+    };
+    version = "1.7.0";
+  };
   websocket-driver = {
     groups = ["default"];
     platforms = [];
@@ -1386,10 +1396,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yihlrbipgiivgpkbx06qx8wgbic0jm26by6jymdwxb01zsd0yj1";
+      sha256 = "1xa79ry3976ylap38cr5g6q3m81plm611flqd3dwgnmgbkycb6jp";
       type = "gem";
     };
-    version = "0.3.1";
+    version = "0.3.2";
   };
   zeitwerk = {
     groups = ["default"];
diff --git a/pkgs/tools/security/notary/default.nix b/pkgs/tools/security/notary/default.nix
index fa3db0c3623..ab6ec0b1681 100644
--- a/pkgs/tools/security/notary/default.nix
+++ b/pkgs/tools/security/notary/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoPackage, libtool }:
+{ lib, fetchFromGitHub, buildGoPackage, libtool }:
 
 buildGoPackage rec {
   pname = "notary";
diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix
index 7e9d3d52e56..2df24e63d89 100644
--- a/pkgs/tools/security/nuclei/default.nix
+++ b/pkgs/tools/security/nuclei/default.nix
@@ -1,6 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
diff --git a/pkgs/tools/security/onioncircuits/default.nix b/pkgs/tools/security/onioncircuits/default.nix
index bdaf087004a..8c5083ee8af 100644
--- a/pkgs/tools/security/onioncircuits/default.nix
+++ b/pkgs/tools/security/onioncircuits/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit, python3, intltool, gtk3, gobject-introspection, gnome3 }:
+{ lib, fetchgit, python3, intltool, gtk3, gobject-introspection, gnome3 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "onioncircuits";
diff --git a/pkgs/tools/security/pbis/default.nix b/pkgs/tools/security/pbis/default.nix
index a2533c1c6a0..7561b1fae98 100644
--- a/pkgs/tools/security/pbis/default.nix
+++ b/pkgs/tools/security/pbis/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     fi
     NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${lib.getDev libxml2}/include/libxml2 -Wno-error=array-bounds -Wno-error=pointer-sign -Wno-error=deprecated-declarations -Wno-error=unused-variable"
   '';
-  configureScript = ''../configure'';
+  configureScript = "../configure";
   configureFlags = [
     "CFLAGS=-O"
     "--docdir=${placeholder "prefix"}/share/doc"
diff --git a/pkgs/tools/security/pcsc-safenet/default.nix b/pkgs/tools/security/pcsc-safenet/default.nix
new file mode 100644
index 00000000000..3610343fc27
--- /dev/null
+++ b/pkgs/tools/security/pcsc-safenet/default.nix
@@ -0,0 +1,96 @@
+{ stdenv
+, lib
+, fetchurl
+, autoPatchelfHook
+, dpkg
+, gtk2
+, openssl
+, pcsclite
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pcsc-safenet";
+  version = "10.0.37-0";
+
+  # https://aur.archlinux.org/packages/sac-core/
+  src = fetchurl {
+    url = "https://storage.spidlas.cz/public/soft/safenet/SafenetAuthenticationClient-core-${version}_amd64.deb";
+    sha256 = "1r9739bhal7ramj1rpawaqvik45xbs1c756l1da96din638gzy5l";
+  };
+
+  dontBuild = true;
+  dontConfigure = true;
+
+  unpackPhase = ''
+    dpkg-deb -x $src .
+  '';
+
+  buildInputs = [
+    gtk2
+    openssl
+    pcsclite
+  ];
+
+  runtimeDependencies = [
+    openssl
+  ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    dpkg
+  ];
+
+  installPhase = ''
+    # Set up for pcsc drivers
+    mkdir -p pcsc/drivers
+    mv usr/share/eToken/drivers/* pcsc/drivers/
+    rm -r usr/share/eToken/drivers
+
+    # Move binaries out
+    mv usr/bin bin
+
+    # Move UI to bin
+    mv usr/share/SAC/SACUIProcess bin/
+    rm -r usr/share/SAC
+
+    mkdir $out
+    cp -r {bin,etc,lib,pcsc,usr,var} $out/
+
+    cd "$out/lib/"
+    ln -sf libeToken.so.10.0.37 libeTPkcs11.so
+    ln -sf libeToken.so.10.0.37 libeToken.so.10.0
+    ln -sf libeToken.so.10.0.37 libeToken.so.10
+    ln -sf libeToken.so.10.0.37 libeToken.so
+    ln -sf libcardosTokenEngine.so.10.0.37 libcardosTokenEngine.so.10.0
+    ln -sf libcardosTokenEngine.so.10.0.37 libcardosTokenEngine.so.10
+    ln -sf libcardosTokenEngine.so.10.0.37 libcardosTokenEngine.so
+
+    cd $out/pcsc/drivers/aks-ifdh.bundle/Contents/Linux/
+    ln -sf libAksIfdh.so.10.0 libAksIfdh.so
+    ln -sf libAksIfdh.so.10.0 libAksIfdh.so.10
+
+    ln -sf ${openssl.out}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0
+  '';
+
+  dontAutoPatchelf = true;
+
+  # Patch DYN shared libraries (autoPatchElfHook only patches EXEC | INTERP).
+  postFixup = ''
+    autoPatchelf "$out"
+
+    runtime_rpath="${lib.makeLibraryPath runtimeDependencies}"
+
+    for mod in $(find "$out" -type f -name '*.so.*'); do
+      mod_rpath="$(patchelf --print-rpath "$mod")"
+      patchelf --set-rpath "$runtime_rpath:$mod_rpath" "$mod"
+    done;
+  '';
+
+  meta = with lib; {
+    homepage = "https://safenet.gemalto.com/multi-factor-authentication/security-applications/authentication-client-token-management";
+    description = "Safenet Authentication Client";
+    platforms = [ "x86_64-linux" ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ wldhx ];
+  };
+}
diff --git a/pkgs/tools/security/pinentry/mac.nix b/pkgs/tools/security/pinentry/mac.nix
index f208576561e..9c328d472c4 100644
--- a/pkgs/tools/security/pinentry/mac.nix
+++ b/pkgs/tools/security/pinentry/mac.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, xcbuildHook, libiconv, ncurses, Cocoa }:
 
 stdenv.mkDerivation {
-  name = "pinentry-mac-0.9.4";
+  pname = "pinentry-mac";
+  version = "0.9.4";
 
   src = fetchFromGitHub {
     owner = "matthewbauer";
diff --git a/pkgs/tools/security/pius/default.nix b/pkgs/tools/security/pius/default.nix
index 7d038a1aeab..3612caa196c 100644
--- a/pkgs/tools/security/pius/default.nix
+++ b/pkgs/tools/security/pius/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, lib, stdenv, python3Packages, gnupg, perl }:
+{ fetchFromGitHub, lib, python3Packages, gnupg, perl }:
 
 let version = "3.0.0"; in
 python3Packages.buildPythonApplication {
diff --git a/pkgs/tools/security/proxmark3/proxmark3-rrg.nix b/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
new file mode 100644
index 00000000000..04def66d03c
--- /dev/null
+++ b/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
@@ -0,0 +1,38 @@
+{ lib, stdenv, mkDerivation, fetchFromGitHub, pkg-config, gcc-arm-embedded, bluez5
+, readline
+
+, hardwarePlatform ? "PM3RDV4"
+
+, hardwarePlatformExtras ? "" }:
+
+mkDerivation rec {
+  pname = "proxmark3-rrg";
+  version = "4.9237";
+
+  src = fetchFromGitHub {
+    owner = "RfidResearchGroup";
+    repo = "proxmark3";
+    rev = "v${version}";
+    sha256 = "13xrhvrsm73rfgqpgca6a37c3jixdkxvfggmacnnx5fdfb393bfx";
+  };
+
+  nativeBuildInputs = [ pkg-config gcc-arm-embedded ];
+  buildInputs = [ bluez5 readline ];
+
+  makeFlags = [
+    "PLATFORM=${hardwarePlatform}"
+    "PLATFORM_EXTRAS=${hardwarePlatformExtras}"
+  ];
+
+  installPhase = ''
+    install -Dt $out/bin client/proxmark3
+    install -Dt $out/firmware bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf
+  '';
+
+  meta = with lib; {
+    description = "Client for proxmark3, powerful general purpose RFID tool";
+    homepage = "https://rfidresearchgroup.com/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ nyanotech ];
+  };
+}
diff --git a/pkgs/tools/security/pyrit/default.nix b/pkgs/tools/security/pyrit/default.nix
index ead55036425..dc1d0b97f87 100644
--- a/pkgs/tools/security/pyrit/default.nix
+++ b/pkgs/tools/security/pyrit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, python2Packages, openssl, zlib, libpcap, opencl-headers, ocl-icd }:
+{ lib, fetchFromGitHub, python2Packages, openssl, zlib, libpcap, opencl-headers, ocl-icd }:
 
 let
   version = "2019-12-13";
diff --git a/pkgs/tools/security/qdigidoc/default.nix b/pkgs/tools/security/qdigidoc/default.nix
index 2b769ee0a15..8ba6937c448 100644
--- a/pkgs/tools/security/qdigidoc/default.nix
+++ b/pkgs/tools/security/qdigidoc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, mkDerivation, fetchgit, fetchurl, cmake, darkhttpd, gettext, makeWrapper, pkg-config
+{ lib, mkDerivation, fetchgit, fetchurl, cmake, darkhttpd, gettext, makeWrapper, pkg-config
 , libdigidocpp, opensc, openldap, openssl, pcsclite, qtbase, qttranslations, qtsvg }:
 
 mkDerivation rec {
diff --git a/pkgs/tools/security/rage/default.nix b/pkgs/tools/security/rage/default.nix
index d70e58d7293..3724637c604 100644
--- a/pkgs/tools/security/rage/default.nix
+++ b/pkgs/tools/security/rage/default.nix
@@ -21,6 +21,9 @@ rustPlatform.buildRustPackage rec {
     Security
   ];
 
+  # cargo test has an x86-only dependency
+  doCheck = stdenv.hostPlatform.isx86;
+
   postBuild = ''
     cargo run --example generate-docs
     cargo run --example generate-completions
diff --git a/pkgs/tools/security/rng-tools/default.nix b/pkgs/tools/security/rng-tools/default.nix
index 617224a6af3..76aea2bbd51 100644
--- a/pkgs/tools/security/rng-tools/default.nix
+++ b/pkgs/tools/security/rng-tools/default.nix
@@ -14,13 +14,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "rng-tools";
-  version = "6.9";
+  version = "6.11";
 
   src = fetchFromGitHub {
     owner = "nhorman";
     repo = "rng-tools";
     rev = "v${version}";
-    sha256 = "065jf26s8zkicb95zc9ilksjdq9gqrh5vcx3mhi6mypbnamn6w98";
+    sha256 = "sha256-qheJaeVX2zuv0mvKEd6wcbSHFjiJE0t5hVCJiRSKm3M=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/security/safe/default.nix b/pkgs/tools/security/safe/default.nix
index 2f0f4501fd2..503cfbd9e86 100644
--- a/pkgs/tools/security/safe/default.nix
+++ b/pkgs/tools/security/safe/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , buildGoPackage
 , fetchFromGitHub
 }:
diff --git a/pkgs/tools/security/saml2aws/default.nix b/pkgs/tools/security/saml2aws/default.nix
index ade299ec589..57a92ef4b99 100644
--- a/pkgs/tools/security/saml2aws/default.nix
+++ b/pkgs/tools/security/saml2aws/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "saml2aws";
diff --git a/pkgs/tools/security/sequoia/default.nix b/pkgs/tools/security/sequoia/default.nix
index 706c9edc481..b0172ff1d50 100644
--- a/pkgs/tools/security/sequoia/default.nix
+++ b/pkgs/tools/security/sequoia/default.nix
@@ -23,16 +23,18 @@ assert pythonSupport -> pythonPackages != null;
 
 rustPlatform.buildRustPackage rec {
   pname = "sequoia";
-  version = "1.0.0";
+  # Upstream has separate version numbering for the library and the CLI frontend.
+  # This derivation provides the CLI frontend, and thus uses its version number.
+  version = "0.24.0";
 
   src = fetchFromGitLab {
     owner = "sequoia-pgp";
     repo = "sequoia";
-    rev = "v${version}";
-    sha256 = "0y80bl786m29ww3272qsl1ql0xc3pwd6iiqlkv3nmhnjsmygbn0d";
+    rev = "sq/v${version}";
+    sha256 = "0zavkf0grkqljyiywcprsiv8igidk8vc3yfj3fzqvbhm43vnnbdw";
   };
 
-  cargoSha256 = "03ngywa5z0c7qmdmhynk13xcivhg8gpivvpzg2gxp34gfr7j438l";
+  cargoSha256 = "172f0gsy5hssrqv0l1np3c0qd1ayp6nqbpqmgwrkc4l37y5fn232";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/security/sops/default.nix b/pkgs/tools/security/sops/default.nix
index 9eddc308a4f..ae6f000fe3f 100644
--- a/pkgs/tools/security/sops/default.nix
+++ b/pkgs/tools/security/sops/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "sops";
diff --git a/pkgs/tools/security/ssh-to-pgp/default.nix b/pkgs/tools/security/ssh-to-pgp/default.nix
new file mode 100644
index 00000000000..487cc44cdd7
--- /dev/null
+++ b/pkgs/tools/security/ssh-to-pgp/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchFromGitHub, buildGoModule, gnupg }:
+
+buildGoModule rec {
+  pname = "ssh-to-pgp";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "Mic92";
+    repo = "ssh-to-pgp";
+    rev = version;
+    sha256 = "sha256-TDrpnWAez8muysMdmKFBDZfK8CyhGn1VqHB8+zD6jSk=";
+  };
+
+  vendorSha256 = "sha256-ZF/WsmqmGHZIAGTPKJ70UhtmssNhiInEZfzrKxQLw9I=";
+
+  checkInputs = [ gnupg ];
+  checkPhase = ''
+    HOME=$TMPDIR go test .
+  '';
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Convert ssh private keys to PGP";
+    homepage = "https://github.com/Mic92/ssh-to-pgp";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mic92 ];
+  };
+}
diff --git a/pkgs/tools/security/subjs/default.nix b/pkgs/tools/security/subjs/default.nix
index 5b9a237d49c..1b7986c0a77 100644
--- a/pkgs/tools/security/subjs/default.nix
+++ b/pkgs/tools/security/subjs/default.nix
@@ -1,6 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index 1e6af55baab..0f969288a24 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sudo";
-  version = "1.9.5p1";
+  version = "1.9.5p2";
 
   src = fetchurl {
     url = "https://www.sudo.ws/dist/${pname}-${version}.tar.gz";
-    sha256 = "10kqdfbfpf3vk5ihz5gwynv4pxdf1lg6ircrlanyygb549yg7pad";
+    sha256 = "0y093z4f3822rc88g9asdch12nljdamp817vjxk04mca7ks2x7jk";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/security/sudolikeaboss/default.nix b/pkgs/tools/security/sudolikeaboss/default.nix
index bdaf8f129d0..53f99636b45 100644
--- a/pkgs/tools/security/sudolikeaboss/default.nix
+++ b/pkgs/tools/security/sudolikeaboss/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by go2nix, then modified by hand for Darwin support.
-{ lib, stdenv, buildGoPackage, fetchFromGitHub, darwin }:
+{ lib, buildGoPackage, fetchFromGitHub, darwin }:
 
 buildGoPackage rec {
   pname = "sudolikeaboss-unstable";
diff --git a/pkgs/tools/security/tcpcrypt/default.nix b/pkgs/tools/security/tcpcrypt/default.nix
index 23b79af73cd..eb889cfef16 100644
--- a/pkgs/tools/security/tcpcrypt/default.nix
+++ b/pkgs/tools/security/tcpcrypt/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sha256 = "0a015rlyvagz714pgwr85f8gjq1fkc0il7d7l39qcgxrsp15b96w";
   };
 
-  postUnpack = ''mkdir -vp $sourceRoot/m4'';
+  postUnpack = "mkdir -vp $sourceRoot/m4";
 
   outputs = [ "bin" "dev" "out" ];
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/security/teler/default.nix b/pkgs/tools/security/teler/default.nix
index 1acb9e5609e..2ca92c909b3 100644
--- a/pkgs/tools/security/teler/default.nix
+++ b/pkgs/tools/security/teler/default.nix
@@ -1,20 +1,20 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
   pname = "teler";
-  version = "1.0.1";
+  version = "1.0.2-dev";
 
   src = fetchFromGitHub {
     owner = "kitabisa";
     repo = "teler";
     rev = "v${version}";
-    sha256 = "07pfqgms5cj4y6zm984qjmmw1c8j9yjbgrp2spi9vzk96s3k3qn3";
+    sha256 = "sha256-Hmoj44/rprM9oSFAsRWLszew0RvCTjdHISUSrx/4IPs=";
   };
 
-  vendorSha256 = "06szi2jw3nayd7pljjlww2gsllgnfg8scnjmc6qv5xl6gf797kdz";
+  vendorSha256 = "sha256-L+wjurURpesCA2IK0r1sxvOUvNJT1wiRp75kpe6LH5s=";
 
   # test require internet access
   doCheck = false;
diff --git a/pkgs/tools/security/terrascan/default.nix b/pkgs/tools/security/terrascan/default.nix
index fddd10da618..b37273aeb1d 100644
--- a/pkgs/tools/security/terrascan/default.nix
+++ b/pkgs/tools/security/terrascan/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.2.0";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1kjis0ylvmv1gvzp5qvi9a7x4611bjv8yx5mb6nkc0a8lscwb4c3";
+    sha256 = "sha256-RZFh9RVU8RwtLGIP7OWnf0yNsXfElqWSXieljqp8ahU=";
   };
 
-  vendorSha256 = "0yfybzwjvnan4qf5w25k22iwh5hp9v8si93p4jv9bx25rw91swws";
+  vendorSha256 = "sha256-Ya/33ocPhY5OSnCEyULsOIHaxwb1yNEle3JEYo/7/Yk=";
 
   # tests want to download a vulnerable Terraform project
   doCheck = false;
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index b4adbfe8c64..8766e957aaf 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -30,11 +30,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.4.6";
+  version = "0.4.4.7";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "1p0zpqmbskygx0wmiijhprg8r45n2wqbbjl7kv4gbb83b0alq5az";
+    sha256 = "1vh5kdx7s74il8a6gr7jydbpv0an01nla4y2r8w7h33z2wk2jv9j";
   };
 
   outputs = [ "out" "geoip" ];
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
   passthru = {
     tests.tor = nixosTests.tor;
     updateScript = import ./update.nix {
-      inherit (stdenv) lib;
+      inherit lib;
       inherit
         writeScript
         common-updater-scripts
diff --git a/pkgs/tools/security/tpm-luks/default.nix b/pkgs/tools/security/tpm-luks/default.nix
index 25e28f15831..2af4a742208 100644
--- a/pkgs/tools/security/tpm-luks/default.nix
+++ b/pkgs/tools/security/tpm-luks/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation {
     description = "LUKS key storage in TPM NVRAM";
     homepage    = "https://github.com/shpedoikal/tpm-luks/";
     maintainers = [ maintainers.tstrobel ];
+    license = with licenses; [ gpl2Only ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/urlhunter/default.nix b/pkgs/tools/security/urlhunter/default.nix
index 3364b622ad6..ebc628e563c 100644
--- a/pkgs/tools/security/urlhunter/default.nix
+++ b/pkgs/tools/security/urlhunter/default.nix
@@ -1,6 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
-, lib, stdenv
+, lib
 }:
 
 buildGoModule rec {
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index 3af00b9a22b..51261768550 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, buildGoPackage, installShellFiles, nixosTests }:
+{ lib, fetchFromGitHub, buildGoPackage, installShellFiles, nixosTests }:
 
 buildGoPackage rec {
   pname = "vault";
-  version = "1.6.1";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "1pgyyl2zgnr3wy4k8c5xsk2s5dpl97xdfq67lpfss7fz1bij8x47";
+    sha256 = "1g6fz6dl90cb5pnvvmkndqgncfjy50j9jw3xzn8s91yzvvld8ds7";
   };
 
   goPackagePath = "github.com/hashicorp/vault";
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index 775bd8c6951..b30f8d1af13 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -1,26 +1,26 @@
 { lib, stdenv, fetchurl, unzip }:
 
 let
-  version = "1.6.1";
+  version = "1.6.2";
 
   sources = let
     base = "https://releases.hashicorp.com/vault/${version}";
   in {
     x86_64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_amd64.zip";
-      sha256 = "1la2pylcj9y5gr7hr4aaa49427y3lgxi2phhl46pqmr7an62pkbm";
+      sha256 = "1vcxnky8qnn2ib33r9604cbjrgm939ddrhwqcjylbv217cmc9alf";
     };
     i686-linux = fetchurl {
       url = "${base}/vault_${version}_linux_386.zip";
-      sha256 = "1a2rhv5bpv43qp74a49msrwr7djzy86irsn73jl0xnkh0k6ijci1";
+      sha256 = "0mcav36dcmvky8v4y65jvh837i72aqz7arv2ivjpajym3gf7qrq1";
     };
     x86_64-darwin = fetchurl {
       url = "${base}/vault_${version}_darwin_amd64.zip";
-      sha256 = "0snswwai2ya26crm3ksifrmbdnajr36v4vamh7g65plg6vzban9a";
+      sha256 = "1is7s445jc4ll2lyfxgjwwl89fly1l8kskqp2p8z179d8hhgd0ms";
     };
     aarch64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_arm64.zip";
-      sha256 = "0ix99da3xd4z200dgvpfc2h1sfx6l8cipichvfjlj39md45grs89";
+      sha256 = "0i5d87a393464r68rjv83bjhg51yaysccqbwaaydmzk1m45icg7x";
     };
   };
 
diff --git a/pkgs/tools/security/volatility/default.nix b/pkgs/tools/security/volatility/default.nix
index 80cd0d971a3..6cc5ddbfb4c 100644
--- a/pkgs/tools/security/volatility/default.nix
+++ b/pkgs/tools/security/volatility/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pythonPackages }:
+{ lib, fetchFromGitHub, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
   pname = "volatility";
diff --git a/pkgs/tools/security/vulnix/default.nix b/pkgs/tools/security/vulnix/default.nix
index e95adf3e1e6..a7ce0fb4b6e 100644
--- a/pkgs/tools/security/vulnix/default.nix
+++ b/pkgs/tools/security/vulnix/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , python3Packages
 , nix
 , ronn
diff --git a/pkgs/tools/security/xortool/default.nix b/pkgs/tools/security/xortool/default.nix
new file mode 100644
index 00000000000..1e8b6aee5d3
--- /dev/null
+++ b/pkgs/tools/security/xortool/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonApplication
+, docopt
+, fetchFromGitHub
+, importlib-metadata
+, poetry-core
+}:
+
+buildPythonApplication rec {
+  pname = "xortool";
+  version = "1.0.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "hellman";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "19lfadi28r89bl5q8fhrxgjgs3nx3kgjd4rdg7wbvzi1cn29c5n7";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [ docopt importlib-metadata ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "xortool" ];
+
+  meta = with lib; {
+    description = "Tool to analyze multi-byte XOR cipher";
+    homepage = "https://github.com/hellman/xortool";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/system/at/default.nix b/pkgs/tools/system/at/default.nix
index db3c066c0ba..11a45fbe391 100644
--- a/pkgs/tools/system/at/default.nix
+++ b/pkgs/tools/system/at/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = ''The classical Unix `at' job scheduling command'';
+    description = "The classical Unix `at' job scheduling command";
     license = lib.licenses.gpl2Plus;
     homepage = "https://packages.qa.debian.org/at";
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/system/autocpu-freq/default.nix b/pkgs/tools/system/auto-cpufreq/default.nix
index 7e23b8b5b0f..b4bef5fc5e3 100644
--- a/pkgs/tools/system/autocpu-freq/default.nix
+++ b/pkgs/tools/system/auto-cpufreq/default.nix
@@ -1,27 +1,32 @@
-{ lib, stdenv, python3Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
 python3Packages.buildPythonPackage rec {
   pname = "auto-cpufreq";
-  version = "1.5.1";
+  version = "1.5.3";
 
   src = fetchFromGitHub {
     owner = "AdnanHodzic";
     repo = pname;
     rev = "v${version}";
-    sha256 = "uVhftO6AqFnZ0uaEYRAPvVskkouNOXPtNVYXx7WJKyw=";
+    sha256 = "sha256-NDIdQ4gUN2jG+VWXsv3fdUogZxOOiNtnbekD30+jx6M=";
   };
 
   propagatedBuildInputs = with python3Packages; [ click distro psutil ];
 
   doCheck = false;
-  pythonImportsCheck = [ "source" ];
+  pythonImportsCheck = [ "auto_cpufreq" ];
 
   # patch to prevent script copying and to disable install
   patches = [ ./prevent-install-and-copy.patch ];
 
   postInstall = ''
     # copy script manually
-    cp ${src}/scripts/cpufreqctl.sh $out/bin/cpufreqctl
+    cp ${src}/scripts/cpufreqctl.sh $out/bin/cpufreqctl.auto-cpufreq
+
+    # systemd service
+    mkdir -p $out/lib/systemd/system
+    cp ${src}/scripts/auto-cpufreq.service $out/lib/systemd/system
+    substituteInPlace $out/lib/systemd/system/auto-cpufreq.service --replace "/usr/local" $out
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/system/autocpu-freq/prevent-install-and-copy.patch b/pkgs/tools/system/auto-cpufreq/prevent-install-and-copy.patch
index 28c524e1497..232ac780341 100644
--- a/pkgs/tools/system/autocpu-freq/prevent-install-and-copy.patch
+++ b/pkgs/tools/system/auto-cpufreq/prevent-install-and-copy.patch
@@ -1,100 +1,44 @@
-diff --git a/scripts/cpufreqctl.sh b/scripts/cpufreqctl.sh
-index 63a2b5b..e157efe 100755
---- a/scripts/cpufreqctl.sh
-+++ b/scripts/cpufreqctl.sh
-@@ -467,35 +467,21 @@ fi
+diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py
+index 482a544..d142013 100644
+--- a/auto_cpufreq/core.py
++++ b/auto_cpufreq/core.py
+@@ -163,31 +163,13 @@ def get_current_gov():
+     return print("Currently using:", getoutput("cpufreqctl.auto-cpufreq --governor").strip().split(" ")[0], "governor")
  
- if [ $OPTION = "--install" ]
- then
--  echo 'installing helpers...'
--  cp $0 /usr/bin/
--  echo 'installing policy...'
--  cp $(dirname "$(readlink -f "$0")")/konkor.cpufreq.policy /usr/share/polkit-1/actions/
--  echo 'installing fonts...'
--  mkdir -p /usr/share/fonts/truetype/cpufreq
--  cp $(dirname "$(readlink -f "$0")")/fonts/cpufreq.ttf /usr/share/fonts/truetype/cpufreq/
--  echo "done"
-+  echo "install is disabled in the nix package"
-   exit
- fi
- if [ $OPTION = "--update-fonts" ]
- then
--  fc-cache -f
-+  echo "update-fonts is disabled in the nix package"
-   exit
- fi
- if [ $OPTION = "--uninstall" ]
- then
--  echo 'uninstalling cpufreqctl helper...'
--  rm /usr/bin/cpufreqctl
--  echo 'uninstalling policy...'
--  rm /usr/share/polkit-1/actions/konkor.cpufreq.policy
--  echo 'uninstalling fonts...'
--  rm -rf /usr/share/fonts/truetype/cpufreq
--  echo "done"
-+  echo "uninstall is disabled in the nix package"
-   exit
- fi
- if [ $OPTION = "--reset" ]
- then
--  echo 'reset to default values...'
--  dconf reset -f "/org/gnome/shell/extensions/cpufreq/"
-+  echo "reset is disabled in the nix package"
-   exit
- fi
-diff --git a/source/core.py b/source/core.py
-index 531c0c4..2e27e65 100644
---- a/source/core.py
-+++ b/source/core.py
-@@ -24,8 +24,6 @@ warnings.filterwarnings("ignore")
- # - re-enable CPU fan speed display and make more generic and not only for thinkpad
- # - replace get system/CPU load from: psutil.getloadavg() | available in 5.6.2)
- 
--SCRIPTS_DIR = Path("/usr/local/share/auto-cpufreq/scripts/")
--
- # from the highest performance to the lowest
- ALL_GOVERNORS = ("performance", "ondemand", "conservative", "schedutil", "userspace", "powersave")
- CPUS = os.cpu_count()
-@@ -156,34 +154,16 @@ def cpufreqctl():
-     """
-     deploy cpufreqctl script
-     """
+ def cpufreqctl():
+-    """
+-    deploy cpufreqctl script
+-    """
 -
 -    # detect if running on a SNAP
 -    if os.getenv('PKG_MARKER') == "SNAP":
 -        pass
 -    else:
--        # deploy cpufreqctl script (if missing)
+-        # deploy cpufreqctl.auto-cpufreq script
 -        if os.path.isfile("/usr/bin/cpufreqctl"):
--            shutil.copy("/usr/bin/cpufreqctl", "/usr/bin/cpufreqctl.auto-cpufreq.bak")
--            shutil.copy(SCRIPTS_DIR / "cpufreqctl.sh", "/usr/bin/cpufreqctl")
+-            shutil.copy(SCRIPTS_DIR / "cpufreqctl.sh", "/usr/bin/cpufreqctl.auto-cpufreq")
 -        else:
--            shutil.copy(SCRIPTS_DIR / "cpufreqctl.sh", "/usr/bin/cpufreqctl")
+-            shutil.copy(SCRIPTS_DIR / "cpufreqctl.sh", "/usr/bin/cpufreqctl.auto-cpufreq")
 +    # scripts are already in the correct place
 +    pass
  
  
  def cpufreqctl_restore():
-     """
-     restore original cpufreqctl script
-     """
+-    """
+-    remove cpufreqctl.auto-cpufreq script
+-    """
 -    # detect if running on a SNAP
 -    if os.getenv('PKG_MARKER') == "SNAP":
 -        pass
 -    else:
--        # restore original cpufreqctl script
--        if os.path.isfile("/usr/bin/cpufreqctl.auto-cpufreq.bak"):
--            os.system("cp /usr/bin/cpufreqctl.auto-cpufreq.bak /usr/bin/cpufreqctl")
--            os.remove("/usr/bin/cpufreqctl.auto-cpufreq.bak")
--        # ToDo: implement mechanism to make sure cpufreqctl (auto-cpufreq) file is
--        # restored if overwritten by system. But during tool removal to also remove it
--        # in def cpufreqctl
+-        if os.path.isfile("/usr/bin/cpufreqctl.auto-cpufreq"):
+-            os.remove("/usr/bin/cpufreqctl.auto-cpufreq")
 +    # no need to restore
 +    pass
  
- 
  def footer(l=79):
-@@ -209,71 +189,13 @@ def remove_complete_msg():
+     print("\n" + "-" * l + "\n")
+@@ -212,74 +194,12 @@ def remove_complete_msg():
  
  
  def deploy_daemon():
@@ -116,7 +60,7 @@ index 531c0c4..2e27e65 100644
 -    except:
 -        print("\nERROR:\nWas unable to turn off bluetooth on boot")
 -
--    auto_cpufreq_log_file.touch(exist_ok=True)
+-    auto_cpufreq_log_path.touch(exist_ok=True)
 -
 -    print("\n* Deploy auto-cpufreq install script")
 -    shutil.copy(SCRIPTS_DIR / "auto-cpufreq-install.sh", "/usr/bin/auto-cpufreq-install")
@@ -125,10 +69,10 @@ index 531c0c4..2e27e65 100644
 -    shutil.copy(SCRIPTS_DIR / "auto-cpufreq-remove.sh", "/usr/bin/auto-cpufreq-remove")
 -
 -    call("/usr/bin/auto-cpufreq-install", shell=True)
+-
 +    # prevent needless copying and system changes
 +    pass
  
- 
  # remove auto-cpufreq daemon
  def remove():
 -
@@ -136,7 +80,7 @@ index 531c0c4..2e27e65 100644
 -    if not os.path.exists("/usr/bin/auto-cpufreq-remove"):
 -        print("\nauto-cpufreq daemon is not installed.\n")
 -        sys.exit(1)
--        
+-
 -    print("\n" + "-" * 21 + " Removing auto-cpufreq daemon " + "-" * 22 + "\n")
 -
 -    print("* Turn on bluetooth on boot")
@@ -159,8 +103,11 @@ index 531c0c4..2e27e65 100644
 -    os.remove("/usr/bin/auto-cpufreq-remove")
 -
 -    # delete log file
--    if auto_cpufreq_log_file.exists():
--        auto_cpufreq_log_file.unlink()
+-    if auto_cpufreq_log_path.exists():
+-        if auto_cpufreq_log_file is not None:
+-            auto_cpufreq_log_file.close()
+-
+-        auto_cpufreq_log_path.unlink()
 -
 -    # restore original cpufrectl script
 -    cpufreqctl_restore()
@@ -169,10 +116,47 @@ index 531c0c4..2e27e65 100644
  
  def gov_check():
      for gov in get_avail_gov():
-@@ -798,4 +720,4 @@ def running_daemon():
-         exit(1)
-     elif os.getenv("PKG_MARKER") == "SNAP" and dcheck == "enabled":
-         deploy_complete_msg()
--        exit(1)
-\ No newline at end of file
-+        exit(1)
+diff --git a/scripts/cpufreqctl.sh b/scripts/cpufreqctl.sh
+index 63a2b5b..e157efe 100755
+--- a/scripts/cpufreqctl.sh
++++ b/scripts/cpufreqctl.sh
+@@ -467,35 +467,21 @@ fi
+ 
+ if [ $OPTION = "--install" ]
+ then
+-  echo 'installing helpers...'
+-  cp $0 /usr/bin/
+-  echo 'installing policy...'
+-  cp $(dirname "$(readlink -f "$0")")/konkor.cpufreq.policy /usr/share/polkit-1/actions/
+-  echo 'installing fonts...'
+-  mkdir -p /usr/share/fonts/truetype/cpufreq
+-  cp $(dirname "$(readlink -f "$0")")/fonts/cpufreq.ttf /usr/share/fonts/truetype/cpufreq/
+-  echo "done"
++  echo "install is disabled in the nix package"
+   exit
+ fi
+ if [ $OPTION = "--update-fonts" ]
+ then
+-  fc-cache -f
++  echo "update-fonts is disabled in the nix package"
+   exit
+ fi
+ if [ $OPTION = "--uninstall" ]
+ then
+-  echo 'uninstalling cpufreqctl helper...'
+-  rm /usr/bin/cpufreqctl
+-  echo 'uninstalling policy...'
+-  rm /usr/share/polkit-1/actions/konkor.cpufreq.policy
+-  echo 'uninstalling fonts...'
+-  rm -rf /usr/share/fonts/truetype/cpufreq
+-  echo "done"
++  echo "uninstall is disabled in the nix package"
+   exit
+ fi
+ if [ $OPTION = "--reset" ]
+ then
+-  echo 'reset to default values...'
+-  dconf reset -f "/org/gnome/shell/extensions/cpufreq/"
++  echo "reset is disabled in the nix package"
+   exit
+ fi
diff --git a/pkgs/tools/system/awstats/default.nix b/pkgs/tools/system/awstats/default.nix
index b04532d842f..88162780cb7 100644
--- a/pkgs/tools/system/awstats/default.nix
+++ b/pkgs/tools/system/awstats/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, perlPackages, jdk }:
+{ lib, fetchurl, perlPackages, jdk }:
 
 perlPackages.buildPerlPackage rec {
   pname = "awstats";
diff --git a/pkgs/tools/system/bottom/default.nix b/pkgs/tools/system/bottom/default.nix
index d138ed4d8c1..29c1d6376fe 100644
--- a/pkgs/tools/system/bottom/default.nix
+++ b/pkgs/tools/system/bottom/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bottom";
-  version = "0.5.6";
+  version = "0.5.7";
 
   src = fetchFromGitHub {
     owner = "ClementTsang";
     repo = pname;
     rev = version;
-    sha256 = "sha256-88uEEsb+coX8PTKrem+0t5AkamCmqJsFYsENFTZSsys=";
+    sha256 = "sha256-9L7FtYIaWSOwNQ8zOLvxjt51o8A5MqqfF/iIyJs2TJA=";
   };
 
   prePatch = ''
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.IOKit;
 
-  cargoSha256 = "sha256-qnh4Tl6JRgxBJbu+t9IJX/XChIR15rTRLvsl+/ZvPxY=";
+  cargoSha256 = "sha256-4oH1A88Qn0c6hkE/1b6mTrEIph8xT98j+DkP9/5JALs=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/system/bpytop/default.nix b/pkgs/tools/system/bpytop/default.nix
index b59222200c1..6754d0806b6 100644
--- a/pkgs/tools/system/bpytop/default.nix
+++ b/pkgs/tools/system/bpytop/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bpytop";
-  version = "1.0.59";
+  version = "1.0.61";
 
   src = fetchFromGitHub {
     owner = "aristocratos";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-RlrUUIbZRNTvxU8LVW0/ZcARlKDVvSMlkN0+6BgAink=";
+    sha256 = "sha256-E6blMhDkZa3Wbdbsw7f8jdHwHFINOQ48XC5pQdkVPtQ=";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/system/cm-rgb/default.nix b/pkgs/tools/system/cm-rgb/default.nix
index 9c75fe78c99..47fdba50c5e 100644
--- a/pkgs/tools/system/cm-rgb/default.nix
+++ b/pkgs/tools/system/cm-rgb/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , buildPythonApplication
 , fetchFromGitHub
 , atk
diff --git a/pkgs/tools/system/consul-template/default.nix b/pkgs/tools/system/consul-template/default.nix
index 7604584e167..a285c720eaa 100644
--- a/pkgs/tools/system/consul-template/default.nix
+++ b/pkgs/tools/system/consul-template/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "consul-template";
diff --git a/pkgs/tools/system/di/default.nix b/pkgs/tools/system/di/default.nix
index fcf4054c182..6dcd3e87f68 100644
--- a/pkgs/tools/system/di/default.nix
+++ b/pkgs/tools/system/di/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "di";
-  version = "4.48";
+  version = "4.48.0.1";
 
   src = fetchurl {
     url = "https://gentoo.com/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0crvvfsxh8ryc0j19a2x52i9zacvggm8zi6j3kzygkcwnpz4km8r";
+    sha256 = "sha256-YFCFRDGeq2h/UXKme/NnnCuFdtw2Vim6Y3SbytaItGc=";
   };
 
   makeFlags = [ "INSTALL_DIR=$(out)" ];
diff --git a/pkgs/tools/system/envconsul/default.nix b/pkgs/tools/system/envconsul/default.nix
index 1706b32449e..9e8180b318a 100644
--- a/pkgs/tools/system/envconsul/default.nix
+++ b/pkgs/tools/system/envconsul/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "envconsul";
diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix
index 2f2d35ef1e7..906ca618e46 100644
--- a/pkgs/tools/system/facter/default.nix
+++ b/pkgs/tools/system/facter/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "facter";
-  version = "3.14.14";
+  version = "3.14.16";
 
   src = fetchFromGitHub {
-    sha256 = "07pfa11i3nn2dk5g3c1qj3g7d2s8gd2fr0lmfijndaqxm7gjrn1a";
+    sha256 = "sha256-VZIeyLJBlh5/r0EHinSiPiQyCNUBFBYjDZ6nTVnZBbE=";
     rev = version;
     repo = pname;
     owner = "puppetlabs";
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index 9529ccad399..f7e041a849d 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, lib, stdenv, libgcrypt, readline, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.6";
+  version = "1.6.7";
   pname = "freeipmi";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${pname}-${version}.tar.gz";
-    sha256 = "1ava5s0babfwx6dqi87phzyzjjgyah7avhljrxrjwn2cniwh38yg";
+    sha256 = "1gyyx99q02p3v2nqm3h53mkjd33l0hrapwg4alg6qr9k74qik1dv";
   };
 
   buildInputs = [ libgcrypt readline libgpgerror ];
diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix
index 53e69cd8cd6..0c63bf651ba 100644
--- a/pkgs/tools/system/gdu/default.nix
+++ b/pkgs/tools/system/gdu/default.nix
@@ -1,5 +1,4 @@
 { lib
-, stdenv
 , buildGoModule
 , fetchFromGitHub
 , installShellFiles
@@ -7,16 +6,16 @@
 
 buildGoModule rec {
   pname = "gdu";
-  version = "4.2.0";
+  version = "4.3.2";
 
   src = fetchFromGitHub {
     owner = "dundee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ppsz7ys08lmg5s7lszqc2zcp2vjm54aai3yr3sb4jf3knbmyg5g";
+    sha256 = "sha256-m4J797bmQzKuyA01JgDLVlf+PbXDVXWtYbID/0QVLxE=";
   };
 
-  vendorSha256 = "058h71gmgi3n4b697myi5890arzw8fkzmxlm1aiwzyfh3k9iv0wh";
+  vendorSha256 = "sha256-kIMd0xzQ+c+jCpX2+qdD/GcFEirR15PMInbEV184EBU=";
 
   buildFlagsArray = [ "-ldflags=-s -w -X github.com/dundee/gdu/build.Version=${version}" ];
 
diff --git a/pkgs/tools/system/go-audit/default.nix b/pkgs/tools/system/go-audit/default.nix
new file mode 100644
index 00000000000..9670a4d0684
--- /dev/null
+++ b/pkgs/tools/system/go-audit/default.nix
@@ -0,0 +1,29 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "go-audit";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "slackhq";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "02iwjzaz2ks0zmwijaijwzc3gn9mhn7xpx369ylgaz68arlapfjg";
+  };
+
+  vendorSha256 = "11kb7xm82s0d8d06b2jknwn3dfh4i0a1dv0740y47vk62sf6f05i";
+
+  # Tests need network access
+  doCheck = false;
+
+  meta = with lib; {
+    description = "An alternative to the auditd daemon";
+    homepage = "https://github.com/slackhq/go-audit";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/system/gotop/default.nix b/pkgs/tools/system/gotop/default.nix
index b49307f500f..1cc0ba87739 100644
--- a/pkgs/tools/system/gotop/default.nix
+++ b/pkgs/tools/system/gotop/default.nix
@@ -1,18 +1,20 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "gotop";
-  version = "4.0.1";
+  version = "4.1.1";
 
   src = fetchFromGitHub {
     owner = "xxxserxxx";
     repo = pname;
     rev = "v${version}";
-    sha256 = "10qfzmq1wdgpvv319khzicalix1x4fqava0wry3bzz84k5c9dabs";
+    sha256 = "sha256-3t6I4ah9gUmPlIBRL86BdgiUaMNiKNEeoUSRMASz1Yc=";
   };
 
   runVend = true;
-  vendorSha256 = "09vdhdgj74ifdhl6rmxddkvk7ls26jn8gswzcxf9389zkjzi7822";
+  vendorSha256 = "sha256-GcIaUIuTiSY1aKxRtclfl7hMNaZZx4uoVG7ahjF/4Hs=";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.Version=v${version}" ];
 
   preCheck = ''
     export HOME=$(mktemp -d)
@@ -21,7 +23,8 @@ buildGoModule rec {
   meta = with lib; {
     description = "A terminal based graphical activity monitor inspired by gtop and vtop";
     homepage = "https://github.com/xxxserxxx/gotop";
-    license = licenses.agpl3;
+    changelog = "https://github.com/xxxserxxx/gotop/blob/v${version}/CHANGELOG.md";
+    license = licenses.mit;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/system/honcho/default.nix b/pkgs/tools/system/honcho/default.nix
index f39c7dd793c..b653f240724 100644
--- a/pkgs/tools/system/honcho/default.nix
+++ b/pkgs/tools/system/honcho/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pythonPackages }:
+{ lib, fetchFromGitHub, pythonPackages }:
 
 let
   inherit (pythonPackages) python;
diff --git a/pkgs/tools/system/hwinfo/default.nix b/pkgs/tools/system/hwinfo/default.nix
index 925b60d5434..9048aa966f7 100644
--- a/pkgs/tools/system/hwinfo/default.nix
+++ b/pkgs/tools/system/hwinfo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hwinfo";
-  version = "21.71";
+  version = "21.72";
 
   src = fetchFromGitHub {
     owner = "opensuse";
     repo = "hwinfo";
     rev = version;
-    sha256 = "1g671fvkg6r30n9vwwlqpdd6yn6jf7n9ynjmslblk7kbnabzayby";
+    sha256 = "sha256-T/netiZqox+qa19wH+h8cbsGbiM+9VrSEIjccrPYqws=";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/system/inxi/default.nix b/pkgs/tools/system/inxi/default.nix
index 1ef871c9d30..b941c5f7275 100644
--- a/pkgs/tools/system/inxi/default.nix
+++ b/pkgs/tools/system/inxi/default.nix
@@ -22,13 +22,13 @@ let
     ++ recommendedDisplayInformationPrograms;
 in stdenv.mkDerivation rec {
   pname = "inxi";
-  version = "3.2.02-2";
+  version = "3.3.01-1";
 
   src = fetchFromGitHub {
     owner = "smxi";
     repo = "inxi";
     rev = version;
-    sha256 = "sha256-WHfW0empveOxC3jvYq46jlvVZDb8JLne5JHPtFE6nTs=";
+    sha256 = "sha256-wY9wsxBByxqy9qk/7UoKiUSpFGS1rFpdyTs3ig6OJRs=";
   };
 
   buildInputs = [ perl makeWrapper ];
diff --git a/pkgs/tools/system/ior/default.nix b/pkgs/tools/system/ior/default.nix
index 326602e3d4d..c2616797da3 100644
--- a/pkgs/tools/system/ior/default.nix
+++ b/pkgs/tools/system/ior/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, openmpi, perl, autoreconfHook }:
+{ lib, stdenv, fetchFromGitHub, mpi, perl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "ior";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ openmpi perl ];
+  buildInputs = [ mpi perl ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/tools/system/ipmitool/default.nix b/pkgs/tools/system/ipmitool/default.nix
index 1d315004018..2f0e2c600d0 100644
--- a/pkgs/tools/system/ipmitool/default.nix
+++ b/pkgs/tools/system/ipmitool/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation {
   dontDisableStatic = static;
 
   meta = with lib; {
-    description = ''Command-line interface to IPMI-enabled devices'';
+    description = "Command-line interface to IPMI-enabled devices";
     license = licenses.bsd3;
     homepage = "https://sourceforge.net/projects/ipmitool/";
     platforms = platforms.unix;
diff --git a/pkgs/tools/system/journalwatch/default.nix b/pkgs/tools/system/journalwatch/default.nix
index 0ec7ef36623..3d85d13149c 100644
--- a/pkgs/tools/system/journalwatch/default.nix
+++ b/pkgs/tools/system/journalwatch/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder, systemd, pytest }:
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, systemd, pytest }:
 
 buildPythonPackage rec {
   pname = "journalwatch";
diff --git a/pkgs/tools/system/jump/default.nix b/pkgs/tools/system/jump/default.nix
index d91df3232c8..fa0c2f73922 100644
--- a/pkgs/tools/system/jump/default.nix
+++ b/pkgs/tools/system/jump/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "jump";
-  version = "0.30.1";
+  version = "0.40.0";
 
   src = fetchFromGitHub {
     owner = "gsamokovarov";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0mph3bqfjnw3yf0a6ml3ccmkr1shviwvvq4d04ky4gppfy6z51jy";
+    sha256 = "sha256-8Lfta4qDXYVSHG3UI8iUA6vIjBe5OIX7n0LC4OW1qMU=";
   };
 
-  vendorSha256 = "1500vim2lmkkls758pwhlx3piqbw6ap0nnhdwz9pcxih4s4as2nk";
+  vendorSha256 = null;
 
   doCheck = false;
 
diff --git a/pkgs/tools/system/localtime/default.nix b/pkgs/tools/system/localtime/default.nix
index 99e0674016b..798e3b3e883 100644
--- a/pkgs/tools/system/localtime/default.nix
+++ b/pkgs/tools/system/localtime/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoPackage, m4 }:
+{ lib, fetchFromGitHub, buildGoPackage, m4 }:
 
 buildGoPackage rec {
   name = "localtime-2017-11-07";
diff --git a/pkgs/tools/system/logcheck/default.nix b/pkgs/tools/system/logcheck/default.nix
index bdf2a4bcd30..6fd66b40e15 100644
--- a/pkgs/tools/system/logcheck/default.nix
+++ b/pkgs/tools/system/logcheck/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "logcheck";
-  version = "1.3.20";
+  version = "1.3.22";
   _name    = "logcheck_${version}";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/l/logcheck/${_name}.tar.xz";
-    sha256 = "1rmkvxhcwr9gb6z4dlgr6rrx5l70hshlxdggs6qx0w1ljcmx1dlz";
+    sha256 = "sha256-e7XeRNlFsexlVskK2OnLTmNV/ES2xWU+/+AElexV6E4=";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index 44c5e42a490..e727734be6d 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -15,14 +15,14 @@ with lib;
 let
   go-d-plugin = callPackage ./go.d.plugin.nix {};
 in stdenv.mkDerivation rec {
-  version = "1.28.0";
+  version = "1.29.1";
   pname = "netdata";
 
   src = fetchFromGitHub {
     owner = "netdata";
     repo = "netdata";
     rev = "v${version}";
-    sha256 = "1266jbfw55r1zh00xi6c90j2fs9hw8hmsb7686rh04l8mffny9f4";
+    sha256 = "sha256-Wmfqxjy0kCy8vsegoe+Jn5Az/XEZxeHZDRMLmOrp+Iw=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/system/nq/default.nix b/pkgs/tools/system/nq/default.nix
index 9e6522b2028..551d18618a7 100644
--- a/pkgs/tools/system/nq/default.nix
+++ b/pkgs/tools/system/nq/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     description = "Unix command line queue utility";
     homepage = "https://github.com/chneukirchen/nq";
     license = licenses.publicDomain;
-    platforms = platforms.linux;
+    platforms = platforms.all;
     maintainers = with maintainers; [ cstrahan ];
   };
 }
diff --git a/pkgs/tools/system/pcstat/default.nix b/pkgs/tools/system/pcstat/default.nix
index 9e0f6fe147e..d01b08a1434 100644
--- a/pkgs/tools/system/pcstat/default.nix
+++ b/pkgs/tools/system/pcstat/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage {
   pname = "pcstat-unstable";
diff --git a/pkgs/tools/system/ps_mem/default.nix b/pkgs/tools/system/ps_mem/default.nix
index dcca1a86da7..152bb1150e5 100644
--- a/pkgs/tools/system/ps_mem/default.nix
+++ b/pkgs/tools/system/ps_mem/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, pythonPackages, fetchFromGitHub }:
+{ lib, pythonPackages, fetchFromGitHub }:
 
 let
   version = "3.13";
diff --git a/pkgs/tools/system/s-tui/default.nix b/pkgs/tools/system/s-tui/default.nix
index 51c47ab1050..3943a8f4eef 100644
--- a/pkgs/tools/system/s-tui/default.nix
+++ b/pkgs/tools/system/s-tui/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages }:
+{ lib, python3Packages }:
 
 python3Packages.buildPythonPackage rec {
   pname = "s-tui";
diff --git a/pkgs/tools/system/s6-rc/default.nix b/pkgs/tools/system/s6-rc/default.nix
index 30467926f5d..20c23e15051 100644
--- a/pkgs/tools/system/s6-rc/default.nix
+++ b/pkgs/tools/system/s6-rc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, skawarePackages }:
+{ lib, skawarePackages }:
 
 with skawarePackages;
 
diff --git a/pkgs/tools/system/sleuthkit/default.nix b/pkgs/tools/system/sleuthkit/default.nix
index ae4ee9efa6e..cf88dc846fb 100644
--- a/pkgs/tools/system/sleuthkit/default.nix
+++ b/pkgs/tools/system/sleuthkit/default.nix
@@ -1,18 +1,18 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, libewf, afflib, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "4.6.5";
+  version = "4.10.1";
   pname = "sleuthkit";
 
   src = fetchFromGitHub {
     owner = "sleuthkit";
     repo = "sleuthkit";
     rev = "${pname}-${version}";
-    sha256 = "1q1cdixnfv9v4qlzza8xwdsyvq1vdw6gjgkd41yc1d57ldp1qm0c";
+    sha256 = "142kkpkpawpqyc88pr6xdvlagw6djaah1schyjxq9qdq9cnqx0dw";
   };
 
   postPatch = ''
-    substituteInPlace tsk/img/ewf.c --replace libewf_handle_read_random libewf_handle_read_buffer_at_offset
+    substituteInPlace tsk/img/ewf.cpp --replace libewf_handle_read_random libewf_handle_read_buffer_at_offset
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix
index 9eaf00b537a..954c9eb4110 100644
--- a/pkgs/tools/system/smartmontools/default.nix
+++ b/pkgs/tools/system/smartmontools/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv, fetchurl, autoreconfHook
-, mailutils, inetutils
+, mailutils, enableMail ? true
+, inetutils
 , IOKit, ApplicationServices }:
 
 let
@@ -26,7 +27,7 @@ in stdenv.mkDerivation rec {
   postPatch = "cp -v ${driverdb} drivedb.h";
 
   configureFlags = [
-    "--with-scriptpath=${lib.makeBinPath [ mailutils inetutils ]}"
+    "--with-scriptpath=${lib.makeBinPath ([ inetutils ] ++ lib.optional enableMail mailutils)}"
   ];
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/system/socklog/default.nix b/pkgs/tools/system/socklog/default.nix
index a235ea09d35..a87beb14a84 100644
--- a/pkgs/tools/system/socklog/default.nix
+++ b/pkgs/tools/system/socklog/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     echo "$NIX_CC/bin/cc -s"                    >src/conf-ld
   '';
 
-  buildPhase = ''package/compile'';
+  buildPhase = "package/compile";
 
   installPhase = ''
     mkdir -p $out/bin
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     mv doc/*.html $doc/share/doc/socklog/html/
   '';
 
-  checkPhase = ''package/check'';
+  checkPhase = "package/check";
 
   doCheck = true;
 
diff --git a/pkgs/tools/system/systemd-journal2gelf/default.nix b/pkgs/tools/system/systemd-journal2gelf/default.nix
index 7ac5d7cf210..62a7c9d8aea 100644
--- a/pkgs/tools/system/systemd-journal2gelf/default.nix
+++ b/pkgs/tools/system/systemd-journal2gelf/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "SystemdJournal2Gelf-unstable";
diff --git a/pkgs/tools/system/thinkfan/default.nix b/pkgs/tools/system/thinkfan/default.nix
index c9af119fb73..97c61d2da0e 100644
--- a/pkgs/tools/system/thinkfan/default.nix
+++ b/pkgs/tools/system/thinkfan/default.nix
@@ -1,5 +1,13 @@
-{ lib, stdenv, fetchFromGitHub, cmake, libyamlcpp, pkg-config
-, smartSupport ? false, libatasmart }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, libyamlcpp
+, pkg-config
+, procps
+, coreutils
+, smartSupport ? false, libatasmart
+}:
 
 stdenv.mkDerivation rec {
   pname = "thinkfan";
@@ -12,36 +20,40 @@ stdenv.mkDerivation rec {
     sha256 = "18vgm5w5pjnpipa34j4x87q10695w2jnqwvc2f027afy7mnzw7kz";
   };
 
+  postPatch = ''
+    # fix hardcoded install path
+    substituteInPlace CMakeLists.txt --replace /etc $out/etc
+
+    # fix command paths in unit files
+    for unit in rcscripts/systemd/*; do
+      substituteInPlace "$unit" \
+        --replace /bin/kill ${procps}/bin/kill \
+        --replace /usr/bin/pkill ${procps}/bin/pkill \
+        --replace /usr/bin/sleep ${coreutils}/bin/sleep
+    done
+  '';
+
   cmakeFlags = [
     "-DCMAKE_INSTALL_DOCDIR=share/doc/${pname}"
     "-DUSE_NVML=OFF"
+    # force install unit files
+    "-DSYSTEMD_FOUND=ON"
   ] ++ lib.optional smartSupport "-DUSE_ATASMART=ON";
 
   nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [ libyamlcpp ] ++ lib.optional smartSupport libatasmart;
 
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm755 {.,$out/bin}/thinkfan
-
-    cd "$NIX_BUILD_TOP"; cd "$sourceRoot" # attempt to be a bit robust
-    install -Dm644 {.,$out/share/doc/thinkfan}/README.md
-    cp -R examples $out/share/doc/thinkfan
-    install -Dm644 {src,$out/share/man/man1}/thinkfan.1
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description  = "A minimalist fan control program";
-    longDescription = "A minimalist fan control program. Originally designed
-specifically for IBM/Lenovo Thinkpads, it now supports any kind of system via
-the sysfs hwmon interface (/sys/class/hwmon).";
-    license = licenses.gpl3;
+  meta = {
+    description = "A simple, lightweight fan control program";
+    longDescription = ''
+      Thinkfan is a minimalist fan control program. Originally designed
+      specifically for IBM/Lenovo Thinkpads, it now supports any kind of
+      system via the sysfs hwmon interface (/sys/class/hwmon).
+    '';
+    license = lib.licenses.gpl3Plus;
     homepage = "https://github.com/vmatare/thinkfan";
-    maintainers = with maintainers; [ domenkozar ];
-    platforms = platforms.linux;
+    maintainers = with lib.maintainers; [ domenkozar rnhmjoj ];
+    platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/throttled/default.nix b/pkgs/tools/system/throttled/default.nix
index d0458660c20..9b92635d1d7 100644
--- a/pkgs/tools/system/throttled/default.nix
+++ b/pkgs/tools/system/throttled/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  postFixup = ''wrapPythonPrograms'';
+  postFixup = "wrapPythonPrograms";
 
   meta = with lib; {
     description = "Fix for Intel CPU throttling issues";
diff --git a/pkgs/tools/system/tre-command/default.nix b/pkgs/tools/system/tre-command/default.nix
index 5a2ad41c744..638caa3c62b 100644
--- a/pkgs/tools/system/tre-command/default.nix
+++ b/pkgs/tools/system/tre-command/default.nix
@@ -1,4 +1,4 @@
-{ rustPlatform, fetchFromGitHub, lib, stdenv, installShellFiles }:
+{ rustPlatform, fetchFromGitHub, lib, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "tre-command";
diff --git a/pkgs/tools/system/tuptime/default.nix b/pkgs/tools/system/tuptime/default.nix
index 92878c5386b..0d3b6f4d6b8 100644
--- a/pkgs/tools/system/tuptime/default.nix
+++ b/pkgs/tools/system/tuptime/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tuptime";
-  version = "5.0.1";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "rfrail3";
     repo = "tuptime";
     rev = version;
-    sha256 = "0nk3yyjavgmc435vj3f0siw4y5nwipsbcsvsf5m7mgvq0xi8f3ls";
+    sha256 = "sha256-2Q1czKvwdVq+2+64k4SOghw05CUlT5HdZpvKMRbGdDY=";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/pkgs/tools/system/vbetool/default.nix b/pkgs/tools/system/vbetool/default.nix
index ed0cf5f13c6..ebdeae60c38 100644
--- a/pkgs/tools/system/vbetool/default.nix
+++ b/pkgs/tools/system/vbetool/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Video BIOS execution tool";
-    homepage = "http://www.codon.org.uk/~mjg59/vbetool/";
+    homepage = "https://www.codon.org.uk/~mjg59/vbetool/";
     maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
     license = licenses.gpl2;
diff --git a/pkgs/tools/text/angle-grinder/default.nix b/pkgs/tools/text/angle-grinder/default.nix
index 82ca3ff0f60..66441d73713 100644
--- a/pkgs/tools/text/angle-grinder/default.nix
+++ b/pkgs/tools/text/angle-grinder/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , fetchFromGitHub
 , rustPlatform
 }:
diff --git a/pkgs/tools/text/ansifilter/default.nix b/pkgs/tools/text/ansifilter/default.nix
index 5b03f6e89a6..97b06b9a0c7 100644
--- a/pkgs/tools/text/ansifilter/default.nix
+++ b/pkgs/tools/text/ansifilter/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ansifilter";
-  version = "2.17";
+  version = "2.18";
 
   src = fetchurl {
     url = "http://www.andre-simon.de/zip/ansifilter-${version}.tar.bz2";
-    sha256 = "0by4rhy30l7jgxvq6mwf8p43s1472q96l3g7n2skq2lnkjrvx1ar";
+    sha256 = "sha256-Zs8BfTakPV9q4gYJzjtYZHSU7mwOQfxoLFmL/859fTk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/text/choose/default.nix b/pkgs/tools/text/choose/default.nix
index 20d651df008..7816f79649c 100644
--- a/pkgs/tools/text/choose/default.nix
+++ b/pkgs/tools/text/choose/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , fetchFromGitHub
 , rustPlatform
 }:
diff --git a/pkgs/tools/text/codesearch/default.nix b/pkgs/tools/text/codesearch/default.nix
index bdb273de372..9c3e9fbd840 100644
--- a/pkgs/tools/text/codesearch/default.nix
+++ b/pkgs/tools/text/codesearch/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by go2nix.
-{ lib, stdenv, buildGoPackage, fetchgit }:
+{ lib, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   pname = "codesearch";
diff --git a/pkgs/tools/text/colordiff/default.nix b/pkgs/tools/text/colordiff/default.nix
index 04d41b74db0..364d3c6edc4 100644
--- a/pkgs/tools/text/colordiff/default.nix
+++ b/pkgs/tools/text/colordiff/default.nix
@@ -1,26 +1,36 @@
-{ lib, stdenv, fetchurl, perl /*, xmlto */}:
+{ lib, stdenv, fetchFromGitHub, docbook_xml_dtd_412, docbook_xsl, perl, w3m, xmlto }:
 
 stdenv.mkDerivation rec {
-  name = "colordiff-1.0.19";
+  pname = "colordiff";
+  version = "1.0.19";
 
-  src = fetchurl {
-    urls = [
-      "https://www.colordiff.org/${name}.tar.gz"
-      "http://www.colordiff.org/archive/${name}.tar.gz"
-    ];
-    sha256 = "069vzzgs7b44bmfh3ks2psrdb26s1w19gp9w4xxbgi7nhx6w3s26";
+  src = fetchFromGitHub {
+    owner = "daveewart";
+    repo = "colordiff";
+    rev = "v${version}";
+    sha256 = "1v7s1yn0qvn08iwm5js8mxn442392qyr7s9ij506byfd497ag7qk";
   };
 
-  buildInputs = [ perl /* xmlto */ ];
+  nativeBuildInputs = [ docbook_xml_dtd_412 docbook_xsl perl w3m xmlto ];
 
-  dontBuild = 1; # do not build doc yet.
+  buildInputs = [ perl ];
 
-  installPhase = ''make INSTALL_DIR=/bin MAN_DIR=/share/man/man1 DESTDIR="$out" install'';
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace 'TMPDIR=colordiff-''${VERSION}' ""
+  '';
+
+  installFlags = [
+    "INSTALL_DIR=/bin"
+    "MAN_DIR=/share/man/man1"
+    "DESTDIR=${placeholder "out"}"
+  ];
 
   meta = with lib; {
     description = "Wrapper for 'diff' that produces the same output but with pretty 'syntax' highlighting";
     homepage = "https://www.colordiff.org/";
-    license = licenses.gpl3;
-    platforms = platforms.linux ++ platforms.darwin;
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/text/each/default.nix b/pkgs/tools/text/each/default.nix
new file mode 100644
index 00000000000..a1d14ed2110
--- /dev/null
+++ b/pkgs/tools/text/each/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "each";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "arraypad";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "04rx8jf871l4darfx6029dhpnbpmzwjgzazayp1qcaadsk8207z5";
+  };
+
+  cargoSha256 = "1rcmymjff9sc0dv4zplklivfws14wqx6q4ky47arg6jkj3dyprp8";
+
+  meta = with lib; {
+    description = " A better way of working with structured data on the command line";
+    homepage = "https://github.com/arraypad/each";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ thiagokokada ];
+  };
+}
diff --git a/pkgs/tools/text/fanficfare/default.nix b/pkgs/tools/text/fanficfare/default.nix
index ad92ffa9350..e1db7d3d39c 100644
--- a/pkgs/tools/text/fanficfare/default.nix
+++ b/pkgs/tools/text/fanficfare/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages }:
+{ lib, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "FanFicFare";
diff --git a/pkgs/tools/text/gjo/default.nix b/pkgs/tools/text/gjo/default.nix
index 27dcf633fe7..0ab9a54c47b 100644
--- a/pkgs/tools/text/gjo/default.nix
+++ b/pkgs/tools/text/gjo/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , buildGoModule
 , fetchFromGitHub
 }:
diff --git a/pkgs/tools/text/gnused/default.nix b/pkgs/tools/text/gnused/default.nix
index 9115efa22dd..23b2794bf13 100644
--- a/pkgs/tools/text/gnused/default.nix
+++ b/pkgs/tools/text/gnused/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
 
     platforms = lib.platforms.unix;
-    maintainers = [ ];
+    maintainers = with lib.maintainers; [ mic92 ];
   };
 }
diff --git a/pkgs/tools/text/grin/default.nix b/pkgs/tools/text/grin/default.nix
index dd3568ef0bb..5d89619001b 100644
--- a/pkgs/tools/text/grin/default.nix
+++ b/pkgs/tools/text/grin/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python2Packages }:
+{ lib, fetchFromGitHub, python2Packages }:
 
 python2Packages.buildPythonApplication rec {
   program = "grin";
diff --git a/pkgs/tools/text/gucci/default.nix b/pkgs/tools/text/gucci/default.nix
index 4e938787ff4..943b86d3b05 100644
--- a/pkgs/tools/text/gucci/default.nix
+++ b/pkgs/tools/text/gucci/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "gucci";
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index 033b9c44aa5..56d0a234527 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -5,13 +5,13 @@ with lib;
 let
   self = stdenv.mkDerivation rec {
     pname = "highlight";
-    version = "3.59";
+    version = "3.60";
 
     src = fetchFromGitLab {
       owner = "saalen";
       repo = "highlight";
       rev = "v${version}";
-      sha256 = "0sqdzivnak3gcinvkf6rkgp1p5gjx5my6cb2790nh0v53y67v2pb";
+      sha256 = "sha256-1EBdtORd9P5DJUmbZa9KjR3UUoHOKLbjqbxpFi5WFvQ=";
     };
 
     enableParallelBuilding = true;
diff --git a/pkgs/tools/text/icdiff/default.nix b/pkgs/tools/text/icdiff/default.nix
index 07082c4c56f..3ead56298cf 100644
--- a/pkgs/tools/text/icdiff/default.nix
+++ b/pkgs/tools/text/icdiff/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pythonPackages }:
+{ lib, fetchFromGitHub, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
   pname = "icdiff";
diff --git a/pkgs/tools/text/invoice2data/default.nix b/pkgs/tools/text/invoice2data/default.nix
index 87f3f3daff3..8007724f4a5 100644
--- a/pkgs/tools/text/invoice2data/default.nix
+++ b/pkgs/tools/text/invoice2data/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3Packages, xpdf, imagemagick, tesseract }:
+{ lib, python3Packages, xpdf, imagemagick, tesseract }:
 
 python3Packages.buildPythonPackage rec {
   pname = "invoice2data";
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index 862faadea3f..c230278c0a0 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -6,11 +6,11 @@
 
 mkDerivation rec {
   pname = "kdiff3";
-  version = "1.8.4";
+  version = "1.8.5";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1f1vyhvc31yfxspv5lzw8qjd2w8x74s2fmij1921m307g84qxqbn";
+    sha256 = "sha256-vJL30E6xI/nFbb4wR69nv3FSQPqZSHrB0czypF4IVME=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
diff --git a/pkgs/tools/text/mark/default.nix b/pkgs/tools/text/mark/default.nix
new file mode 100644
index 00000000000..dbfb85fc583
--- /dev/null
+++ b/pkgs/tools/text/mark/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "mark";
+  version = "5.2";
+
+  src = fetchFromGitHub {
+    owner  = "kovetskiy";
+    repo   = "mark";
+    rev    = version;
+    sha256 = "sha256-bjDQwtIsY+Dvv270DACvyU+MNPyI7EZcob6F/aebVac=";
+  };
+
+  vendorSha256 = "sha256-l6zHsis2fais5HQJQdfsSC0sPdcF4BeWoUznpl3Fh1g=";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+
+  meta = with lib; {
+    description = "A tool for syncing your markdown documentation with Atlassian Confluence pages";
+    homepage = "https://github.com/kovetskiy/mark";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ rguevara84 ];
+  };
+}
diff --git a/pkgs/tools/text/markdown-pp/default.nix b/pkgs/tools/text/markdown-pp/default.nix
index 55febe11729..50ef560f6c3 100644
--- a/pkgs/tools/text/markdown-pp/default.nix
+++ b/pkgs/tools/text/markdown-pp/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, pythonPackages, lib, stdenv }:
+{ fetchFromGitHub, pythonPackages, lib }:
 
 with pythonPackages;
 buildPythonApplication rec {
diff --git a/pkgs/tools/text/ocrmypdf/0001-Make-compatible-with-pdfminer.six-version-20200720.patch b/pkgs/tools/text/ocrmypdf/0001-Make-compatible-with-pdfminer.six-version-20200720.patch
deleted file mode 100644
index 967bcd3948c..00000000000
--- a/pkgs/tools/text/ocrmypdf/0001-Make-compatible-with-pdfminer.six-version-20200720.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 4315b58e0bffedd145cec61f96062292cd98278e Mon Sep 17 00:00:00 2001
-From: Pascal Bach <pascal.bach@nextrem.ch>
-Date: Thu, 23 Jul 2020 21:37:33 +0200
-Subject: [PATCH] Make compatible with pdfminer.six version 20200720
-
----
- setup.py                       | 2 +-
- src/ocrmypdf/pdfinfo/layout.py | 8 ++++++--
- 2 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index bd95ed9..d1f4ab1 100644
---- a/setup.py
-+++ b/setup.py
-@@ -83,7 +83,7 @@ setup(
-         'cffi >= 1.9.1',  # must be a setup and install requirement
-         'coloredlogs >= 14.0',  # strictly optional
-         'img2pdf >= 0.3.0, < 0.4',  # pure Python, so track HEAD closely
--        'pdfminer.six >= 20191110, <= 20200517',
-+        'pdfminer.six >= 20191110, <= 20200720',
-         'pikepdf >= 1.14.0, < 2',
-         'Pillow >= 7.0.0',
-         'pluggy >= 0.13.0',
-diff --git a/src/ocrmypdf/pdfinfo/layout.py b/src/ocrmypdf/pdfinfo/layout.py
-index 98bd82e..8b41e14 100644
---- a/src/ocrmypdf/pdfinfo/layout.py
-+++ b/src/ocrmypdf/pdfinfo/layout.py
-@@ -26,7 +26,11 @@ import pdfminer.pdfdevice
- import pdfminer.pdfinterp
- from pdfminer.converter import PDFLayoutAnalyzer
- from pdfminer.layout import LAParams, LTChar, LTPage, LTTextBox
--from pdfminer.pdfdocument import PDFTextExtractionNotAllowed
-+try:
-+    from pdfminer.pdfdocument import PDFTextExtractionNotAllowedError
-+except ImportError:
-+    # Fallback for pdfminer < 20200720
-+    from pdfminer.pdfdocument import PDFTextExtractionNotAllowed as PDFTextExtractionNotAllowedError
- from pdfminer.pdffont import PDFSimpleFont, PDFUnicodeNotDefined
- from pdfminer.pdfpage import PDFPage
- from pdfminer.utils import bbox2str, matrix2str
-@@ -239,7 +243,7 @@ def get_page_analysis(infile, pageno, pscript5_mode):
-         with Path(infile).open('rb') as f:
-             page = PDFPage.get_pages(f, pagenos=[pageno], maxpages=0)
-             interp.process_page(next(page))
--    except PDFTextExtractionNotAllowed:
-+    except PDFTextExtractionNotAllowedError:
-         raise EncryptedPdfError()
-     finally:
-         if pscript5_mode:
--- 
-2.27.0
-
diff --git a/pkgs/tools/text/ocrmypdf/default.nix b/pkgs/tools/text/ocrmypdf/default.nix
index f68e1558139..6843e945fd9 100644
--- a/pkgs/tools/text/ocrmypdf/default.nix
+++ b/pkgs/tools/text/ocrmypdf/default.nix
@@ -7,7 +7,8 @@
 , python3
 , python3Packages
 , qpdf
-, lib, stdenv
+, lib
+, stdenv
 , tesseract4
 , unpaper
 , substituteAll
@@ -29,18 +30,17 @@ let
 in
 buildPythonApplication rec {
   pname = "ocrmypdf";
-  version = "11.3.3";
+  version = "11.6.0";
   disabled = ! python3Packages.isPy3k;
 
   src = fetchFromGitHub {
     owner = "jbarlow83";
     repo = "OCRmyPDF";
     rev = "v${version}";
-    sha256 = "0qv34clid65p11dgqalyk7b7myn5ibiz8i9xxhxkmjblw297p6ak";
+    sha256 = "0inmmpam0vcm5n4sm6lh9p5swk44clknvm1cdwk9cax01mdqljza";
   };
 
   nativeBuildInputs = with python3Packages; [
-    pytestrunner
     setuptools
     setuptools-scm-git-archive
     setuptools_scm
@@ -65,8 +65,7 @@ buildPythonApplication rec {
     pytest
     pytest-helpers-namespace
     pytest_xdist
-    pytestcov
-    pytestrunner
+    pytest-cov
     python-xmp-toolkit
     pytestCheckHook
   ] ++ runtimeDeps;
@@ -83,7 +82,7 @@ buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://github.com/jbarlow83/OCRmyPDF";
     description = "Adds an OCR text layer to scanned PDF files, allowing them to be searched";
-    license = licenses.gpl3;
+    license = with licenses; [ mpl20 mit ];
     platforms = platforms.linux;
     maintainers = [ maintainers.kiwi ];
   };
diff --git a/pkgs/tools/text/pbgopy/default.nix b/pkgs/tools/text/pbgopy/default.nix
index 5e1473f8a3c..d4ed4eb0f03 100644
--- a/pkgs/tools/text/pbgopy/default.nix
+++ b/pkgs/tools/text/pbgopy/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "pbgopy";
diff --git a/pkgs/tools/text/platinum-searcher/default.nix b/pkgs/tools/text/platinum-searcher/default.nix
index 30e7e58345d..ca89b7dc2d8 100644
--- a/pkgs/tools/text/platinum-searcher/default.nix
+++ b/pkgs/tools/text/platinum-searcher/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "the_platinum_searcher";
diff --git a/pkgs/tools/text/proselint/default.nix b/pkgs/tools/text/proselint/default.nix
index ea72468dc69..143c43f660d 100644
--- a/pkgs/tools/text/proselint/default.nix
+++ b/pkgs/tools/text/proselint/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, buildPythonApplication, click, future, six }:
+{ lib, fetchurl, buildPythonApplication, click, future, six }:
 
 buildPythonApplication rec {
   pname = "proselint";
diff --git a/pkgs/tools/text/reckon/Gemfile.lock b/pkgs/tools/text/reckon/Gemfile.lock
index 6c3ce51c6ac..b1bfe4aaa8b 100644
--- a/pkgs/tools/text/reckon/Gemfile.lock
+++ b/pkgs/tools/text/reckon/Gemfile.lock
@@ -4,7 +4,7 @@ GEM
     chronic (0.10.2)
     highline (2.0.3)
     rchardet (1.8.0)
-    reckon (0.6.0)
+    reckon (0.7.1)
       chronic (>= 0.3.0)
       highline (>= 1.5.2)
       rchardet (>= 1.8.0)
@@ -16,4 +16,4 @@ DEPENDENCIES
   reckon
 
 BUNDLED WITH
-   2.1.4
+   1.17.2
diff --git a/pkgs/tools/text/reckon/default.nix b/pkgs/tools/text/reckon/default.nix
index 261149229b6..bbefa94637d 100644
--- a/pkgs/tools/text/reckon/default.nix
+++ b/pkgs/tools/text/reckon/default.nix
@@ -15,8 +15,10 @@ stdenv.mkDerivation rec {
       gemdir = ./.;
     };
   in ''
+    runHook preInstall
     mkdir -p $out/bin
     makeWrapper ${env}/bin/reckon $out/bin/reckon
+    runHook postInstall
   '';
 
   passthru.updateScript = bundlerUpdateScript "reckon";
diff --git a/pkgs/tools/text/reckon/gemset.nix b/pkgs/tools/text/reckon/gemset.nix
index 50802ccd805..09a4e704d08 100644
--- a/pkgs/tools/text/reckon/gemset.nix
+++ b/pkgs/tools/text/reckon/gemset.nix
@@ -1,5 +1,7 @@
 {
   chronic = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn";
@@ -11,7 +13,7 @@
     groups = ["default"];
     platforms = [];
     source = {
-      remotes = ["http://rubygems.org"];
+      remotes = ["https://rubygems.org"];
       sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d";
       type = "gem";
     };
@@ -21,7 +23,7 @@
     groups = ["default"];
     platforms = [];
     source = {
-      remotes = ["http://rubygems.org"];
+      remotes = ["https://rubygems.org"];
       sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9";
       type = "gem";
     };
@@ -33,9 +35,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zkbmwx5bp2dr54bwhkn831918ijwh022rq45qg38wz2skih7izp";
+      sha256 = "0hsmzjxj1f5ma816gag1b3bdjbynhj2szgar955fcs3gbbzv4sk7";
       type = "gem";
     };
-    version = "0.6.0";
+    version = "0.7.1";
   };
 }
diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix
index 61e534fa732..b012bdfe57e 100644
--- a/pkgs/tools/text/ripgrep/default.nix
+++ b/pkgs/tools/text/ripgrep/default.nix
@@ -4,6 +4,7 @@
 , rustPlatform
 , asciidoctor
 , installShellFiles
+, pkg-config
 , Security
 , withPCRE2 ? true
 , pcre2 ? null
@@ -24,9 +25,10 @@ rustPlatform.buildRustPackage rec {
 
   cargoBuildFlags = lib.optional withPCRE2 "--features pcre2";
 
-  nativeBuildInputs = [ asciidoctor installShellFiles ];
+  nativeBuildInputs = [ asciidoctor installShellFiles ]
+    ++ lib.optional withPCRE2 pkg-config;
   buildInputs = (lib.optional withPCRE2 pcre2)
-  ++ (lib.optional stdenv.isDarwin Security);
+    ++ (lib.optional stdenv.isDarwin Security);
 
   preFixup = ''
     installManPage $releaseDir/build/ripgrep-*/out/rg.1
diff --git a/pkgs/tools/text/robodoc/default.nix b/pkgs/tools/text/robodoc/default.nix
new file mode 100644
index 00000000000..e30e8739797
--- /dev/null
+++ b/pkgs/tools/text/robodoc/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "robodoc";
+  version = "4.99.44";
+
+  src = fetchFromGitHub {
+    owner = "gumpu";
+    repo = "ROBODoc";
+    rev = "v${version}";
+    sha256 = "l3prSdaGhOvXmZfCPbsZJNocO7y20zJjLQpajRTJOqE=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  hardeningDisable = [ "format" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/gumpu/ROBODoc";
+    description = "Documentation Extraction Tool";
+    longDescription = ''
+      ROBODoc is program documentation tool. The idea is to include for every
+      function or procedure a standard header containing all sorts of
+      information about the procedure or function. ROBODoc extracts these
+      headers from the source file and puts them in a separate
+      autodocs-file. ROBODoc thus allows you to include the program
+      documentation in the source code and avoid having to maintain two separate
+      documents. Or as Petteri puts it: "robodoc is very useful - especially for
+      programmers who don't like writing documents with Word or some other
+      strange tool."
+
+      ROBODoc can format the headers in a number of different formats: HTML,
+      RTF, LaTeX, or XML DocBook. In HTML mode it can generate cross links
+      between headers. You can even include parts of your source code.
+
+      ROBODoc works with many programming languages: For instance C, Pascal,
+      Shell Scripts, Assembler, COBOL, Occam, Postscript, Forth, Tcl/Tk, C++,
+      Java -- basically any program in which you can use remarks/comments.
+    '';
+    license = with licenses; gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; all;
+  };
+}
diff --git a/pkgs/tools/text/rpl/default.nix b/pkgs/tools/text/rpl/default.nix
index f53a1d79080..97a30211621 100644
--- a/pkgs/tools/text/rpl/default.nix
+++ b/pkgs/tools/text/rpl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pythonPackages }:
+{ lib, fetchFromGitHub, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
   pname = "rpl";
diff --git a/pkgs/tools/text/schema2ldif/default.nix b/pkgs/tools/text/schema2ldif/default.nix
index 409bbc16a93..84196ae1119 100644
--- a/pkgs/tools/text/schema2ldif/default.nix
+++ b/pkgs/tools/text/schema2ldif/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchurl, makeWrapper, perlPackages }: stdenv.mkDerivation rec {
+{ lib, stdenv, fetchurl, makeWrapper, perlPackages }:
+
+stdenv.mkDerivation rec {
   pname = "schema2ldif";
   version = "1.3";
 
diff --git a/pkgs/tools/text/shfmt/default.nix b/pkgs/tools/text/shfmt/default.nix
index 70599963905..cb5bb8a28e8 100644
--- a/pkgs/tools/text/shfmt/default.nix
+++ b/pkgs/tools/text/shfmt/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "shfmt";
-  version = "3.2.1";
+  version = "3.2.2";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = "sh";
     rev = "v${version}";
-    sha256 = "1kp4ib0a64cc9qylny48ff5q9ciklzx93yhv7fgqhl1v2c7fm1jp";
+    sha256 = "sha256-ZeyHidw8iHboo/LHTR9E3Sqj8euaRvDaYbPQMdecsrk=";
   };
 
   vendorSha256 = "1ma7nvyn6ylbi8bd7x900i94pzs877kfy9xh0nf1bbify1vcpd29";
diff --git a/pkgs/tools/text/source-highlight/default.nix b/pkgs/tools/text/source-highlight/default.nix
index 3d3a0f8c50a..c8eb43a51c9 100644
--- a/pkgs/tools/text/source-highlight/default.nix
+++ b/pkgs/tools/text/source-highlight/default.nix
@@ -1,21 +1,18 @@
 { lib, stdenv, fetchurl, boost }:
 
-let
-  name = "source-highlight";
+stdenv.mkDerivation rec {
+  pname = "source-highlight";
   version = "3.1.9";
-in
-stdenv.mkDerivation {
-  name = "${name}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnu/src-highlite/${name}-${version}.tar.gz";
+    url = "mirror://gnu/src-highlite/${pname}-${version}.tar.gz";
     sha256 = "148w47k3zswbxvhg83z38ifi85f9dqcpg7icvvw1cm6bg21x4zrs";
   };
 
   # source-highlight uses it's own binary to generate documentation.
   # During cross-compilation, that binary was built for the target
   # platform architecture, so it can't run on the build host.
-  patchPhase = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+  patchPhase = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
     substituteInPlace Makefile.in --replace "src doc tests" "src tests"
   '';
 
@@ -26,15 +23,15 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = false;
 
-  meta = {
+  meta = with lib; {
     description = "Source code renderer with syntax highlighting";
+    longDescription = ''
+      GNU Source-highlight, given a source file, produces a document
+      with syntax highlighting.
+    '';
     homepage = "https://www.gnu.org/software/src-highlite/";
-    license = lib.licenses.gpl3Plus;
-    platforms = with lib.platforms; linux ++ darwin;
-    longDescription =
-      ''
-        GNU Source-highlight, given a source file, produces a document
-        with syntax highlighting.
-      '';
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/text/transifex-client/default.nix b/pkgs/tools/text/transifex-client/default.nix
index 411c9cb9899..a0f3ad1c5e3 100644
--- a/pkgs/tools/text/transifex-client/default.nix
+++ b/pkgs/tools/text/transifex-client/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildPythonApplication, fetchPypi
+{ lib, buildPythonApplication, fetchPypi
 , python-slugify, requests, urllib3, six, setuptools }:
 
 buildPythonApplication rec {
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index bc7c43ca6ec..59f5e7c0c0f 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "2.8.1";
+  version = "2.9.1";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,7 +11,7 @@ buildGoModule rec {
     owner  = "errata-ai";
     repo   = "vale";
     rev    = "v${version}";
-    sha256 = "0xvsg5j0nv6p6wskxg4gz79di6p495c78xbwl3xmh0wyk7g78lkx";
+    sha256 = "sha256-ItkWmBq1mBVZfHcnqDp8koEAWBH3k9Et2bFA2mNYjVY=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
index afcb649d921..4d0f87354ad 100644
--- a/pkgs/tools/text/wdiff/default.nix
+++ b/pkgs/tools/text/wdiff/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, texinfo, which }:
 
 stdenv.mkDerivation rec {
-  name = "wdiff-1.2.2";
+  pname = "wdiff";
+  version = "1.2.2";
 
   src = fetchurl {
-    url = "mirror://gnu/wdiff/${name}.tar.gz";
+    url = "mirror://gnu/wdiff/${pname}-${version}.tar.gz";
     sha256 = "0sxgg0ms5lhi4aqqvz1rj4s77yi9wymfm3l3gbjfd1qchy66kzrl";
   };
 
@@ -12,11 +13,11 @@ stdenv.mkDerivation rec {
 
   checkInputs = [ which ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://www.gnu.org/software/wdiff/";
     description = "Comparing files on a word by word basis";
-    license = lib.licenses.gpl3Plus;
-    maintainers = [ lib.maintainers.eelco ];
-    platforms = lib.platforms.unix;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ eelco SuperSandro2000 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/xurls/default.nix b/pkgs/tools/text/xurls/default.nix
index b1fd02ca75b..fa5418b4581 100644
--- a/pkgs/tools/text/xurls/default.nix
+++ b/pkgs/tools/text/xurls/default.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, lib, stdenv, fetchFromGitHub }:
+{ buildGoPackage, lib, fetchFromGitHub }:
 
 buildGoPackage rec {
   version = "2.2.0";
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index 1326c917593..61af8102f51 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -1,5 +1,5 @@
-{ fetchurl, lib, stdenv, python2
-
+{ fetchurl, lib, stdenv, python3
+, fetchFromGitHub, autoreconfHook
 , enableStandardFeatures ? false
 , sourceHighlight ? null
 , highlight ? null
@@ -144,14 +144,17 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "asciidoc-8.6.9";
+  pname = "asciidoc";
+  version = "9.0.4";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/asciidoc/${name}.tar.gz";
-    sha256 = "1w71nk527lq504njmaf0vzr93pgahkgzzxzglrq6bay8cw2rvnvq";
+  src = fetchFromGitHub {
+    owner = "asciidoc";
+    repo = "asciidoc-py3";
+    rev = version;
+    sha256 = "1gspxw5i0axymxdjzj5rmhf10gyl2gqr666gz141nv042l9dm5vi";
   };
 
-  buildInputs = [ python2 unzip ];
+  nativeBuildInputs = [ python3 unzip autoreconfHook ];
 
   # install filters early, so their shebangs are patched too
   patchPhase = with lib; ''
@@ -212,7 +215,7 @@ stdenv.mkDerivation rec {
     # the odp backend already has that fix. Copy it here until fixed upstream.
     sed -i "s|'/etc/asciidoc/backends/odt/asciidoc.ott'|os.path.dirname(__file__),'asciidoc.ott'|" \
         "$out/etc/asciidoc/backends/odt/a2x-backend.py"
-  '' + optionalString enableStandardFeatures ''
+  '' + (if enableStandardFeatures then ''
     sed -e "s|dot|${graphviz}/bin/dot|g" \
         -e "s|neato|${graphviz}/bin/neato|g" \
         -e "s|twopi|${graphviz}/bin/twopi|g" \
@@ -222,7 +225,8 @@ stdenv.mkDerivation rec {
 
     sed -e "s|run('latex|run('${texlive}/bin/latex|g" \
         -e "s|cmd = 'dvipng'|cmd = '${texlive}/bin/dvipng'|g" \
-        -i "filters/latex/latex2png.py"
+        -e "s|cmd = 'dvisvgm'|cmd = '${texlive}/bin/dvisvgm'|g" \
+        -i "filters/latex/latex2img.py"
 
     sed -e "s|run('abc2ly|run('${lilypond}/bin/abc2ly|g" \
         -e "s|run('lilypond|run('${lilypond}/bin/lilypond|g" \
@@ -249,11 +253,13 @@ stdenv.mkDerivation rec {
         -e "s|^XMLLINT =.*|XMLLINT = '${libxml2.bin}/bin/xmllint'|" \
         -e "s|^EPUBCHECK =.*|EPUBCHECK = 'nixpkgs_is_missing_epubcheck'|" \
         -i a2x.py
-  '' + ''
-    for n in $(find "$out" . -name \*.py); do
-      sed -i -e "s,^#![[:space:]]*.*/bin/env python,#!${python2}/bin/python,g" "$n"
-      chmod +x "$n"
-    done
+  '' else ''
+    sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook_xsl_ns}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml')|" \
+        -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt.bin}/bin/xsltproc'|" \
+        -e "s|^XMLLINT =.*|XMLLINT = '${libxml2.bin}/bin/xmllint'|" \
+        -i a2x.py
+  '') + ''
+    patchShebangs .
 
     sed -i -e "s,/etc/vim,,g" Makefile.in
   '';
diff --git a/pkgs/tools/typesetting/hevea/default.nix b/pkgs/tools/typesetting/hevea/default.nix
index 97b020d3e21..ad6427e5622 100644
--- a/pkgs/tools/typesetting/hevea/default.nix
+++ b/pkgs/tools/typesetting/hevea/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, ocamlPackages }:
 
 stdenv.mkDerivation rec {
-  name = "hevea-2.34";
+  name = "hevea-2.35";
 
   src = fetchurl {
     url = "http://pauillac.inria.fr/~maranget/hevea/distri/${name}.tar.gz";
-    sha256 = "1pzyszxw90klpcmhjqrjfc8cw6c0gm4w2blim8ydyxb6rq6qml1s";
+    sha256 = "sha256-8Ym62l0+WzWFXf39tbJwyZT8eiNmsBJQ12E1mtZsnss=";
   };
 
   buildInputs = with ocamlPackages; [ ocaml ocamlbuild ];
diff --git a/pkgs/tools/typesetting/lout/CVE-2019-19917-and-CVE-2019-19918.patch b/pkgs/tools/typesetting/lout/CVE-2019-19917-and-CVE-2019-19918.patch
new file mode 100644
index 00000000000..b146822c9c5
--- /dev/null
+++ b/pkgs/tools/typesetting/lout/CVE-2019-19917-and-CVE-2019-19918.patch
@@ -0,0 +1,95 @@
+--- a/externs.h
++++ b/externs.h
+@@ -260,6 +260,9 @@ If you're compiling this, you've got the
+ /*                      that can appear correctly on one page.  Can be       */
+ /*                      increased to any small positive integer.             */
+ /*                                                                           */
++/*  MAX_FORMAT          The maximum number of characters for sscanf formats  */
++/*                      for splitting strings with tab-delimited fields.     */
++/*                                                                           */
+ /*****************************************************************************/
+ 
+ #define	MAX_FULL_LENGTH	8388607	/* 2**23 - 1, about 148 metres */
+@@ -275,6 +278,7 @@ If you're compiling this, you've got the
+ #define	MAX_LEX_STACK	20
+ #define	MAX_CHARS	256
+ #define MAX_HCOPIES	3
++#define MAX_FORMAT	100
+ 
+ /*****************************************************************************/
+ /*                                                                           */
+--- a/z02.c
++++ b/z02.c
+@@ -378,7 +378,7 @@ static void srcnext(void)
+   if( blksize != 0 && chpt < limit )
+   { debugcond0(DLA, DD, stack_free <= 1, "srcnext: transferring.");
+     col = buf;
+-    while( chtbl[(*--col = *--limit)] != NEWLINE );
++    while( col > mem_block && chtbl[(*--col = *--limit)] != NEWLINE );
+     frst = col + 1;  limit++;  blksize = 0;
+   }
+ 
+--- a/z33.c
++++ b/z33.c
+@@ -847,6 +847,7 @@ BOOLEAN DbRetrieve(OBJECT db, BOOLEAN ga
+ BOOLEAN DbRetrieveNext(OBJECT db, BOOLEAN *gall, OBJECT *sym, FULL_CHAR *tag,
+   FULL_CHAR *seq, FILE_NUM *dfnum, long *dfpos, int *dlnum, long *cont)
+ { FULL_CHAR line[MAX_BUFF], *cline, fname[MAX_BUFF]; int symnum;
++  char format[MAX_FORMAT];
+   ifdebug(DPP, D, ProfileOn("DbRetrieveNext"));
+   debug2(DBS, DD, "DbRetrieveNext( %s, %ld )", string(db), *cont);
+   assert(reading(db), "DbRetrieveNext: not reading");
+@@ -858,6 +859,8 @@ BOOLEAN DbRetrieveNext(OBJECT db, BOOLEA
+     return FALSE;
+   }
+ 
++  sprintf(format, "%%d&%%%d[^\t]\t%%%d[^\t]\t%%*[^\t]\t%%ld\t%%d\t%%%d[^\n\f]", MAX_BUFF-1, MAX_BUFF-1, MAX_BUFF-1);
++
+   if( in_memory(db) )
+   {
+     /* get next entry from internal database */
+@@ -868,7 +871,7 @@ BOOLEAN DbRetrieveNext(OBJECT db, BOOLEA
+     }
+     cline = (FULL_CHAR *) db_lines(db)[*cont];
+     *gall = (cline[0] == '0' ? 1 : 0);
+-    sscanf((char *)&cline[*gall], "%d&%[^\t]\t%[^\t]\t%*[^\t]\t%ld\t%d\t%[^\n\f]",
++    sscanf((char *)&cline[*gall], format,
+       &symnum, tag, seq, dfpos, dlnum, fname);
+     *cont = *cont + 1;
+   }
+@@ -882,7 +885,7 @@ BOOLEAN DbRetrieveNext(OBJECT db, BOOLEA
+       return FALSE;
+     }
+     *gall = (line[0] == '0' ? 1 : 0);
+-    sscanf((char *)&line[*gall], "%d&%[^\t]\t%[^\t]\t%*[^\t]\t%ld\t%d\t%[^\n\f]",
++    sscanf((char *)&line[*gall], format,
+       &symnum, tag, seq, dfpos, dlnum, fname);
+     *cont = ftell(db_filep(db));
+   }
+--- a/z39.c
++++ b/z39.c
+@@ -79,11 +79,13 @@ int strcollcmp(char *a, char *b)
+ int strcollcmp(char *a, char *b)
+ { char a1[MAX_BUFF], a2[MAX_BUFF], a3[MAX_BUFF];
+   char b1[MAX_BUFF], b2[MAX_BUFF], b3[MAX_BUFF];
++  char format[MAX_FORMAT];
+   int order;
++  sprintf(format, "%%%d[^\t]\t%%%d[^\t]\t%%%d[^\t]", MAX_BUFF-1, MAX_BUFF-1, MAX_BUFF-1);
+   a1[0] = a2[0] = a3[0] = '\0';
+-  sscanf(a, "%[^\t]\t%[^\t]\t%[^\t]", a1, a2, a3);
++  sscanf(a, format, a1, a2, a3);
+   b1[0] = b2[0] = b3[0] = '\0';
+-  sscanf(b, "%[^\t]\t%[^\t]\t%[^\t]", b1, b2, b3);
++  sscanf(b, format, b1, b2, b3);
+   order = strcoll(a1, b1);
+   if( order == 0 )
+   {
+@@ -251,7 +253,7 @@ FULL_CHAR *StringQuotedWord(OBJECT x)
+   *q++ = CH_QUOTE;
+   for( p = string(x);  *p != '\0';  p++ )
+   { 
+-    for( r = (FULL_CHAR *) quoted_string[*p];  *r != '\0';  *q++ = *r++ );
++    for( r = (FULL_CHAR *) quoted_string[*p];  *r != '\0' && q < &buff[MAX_BUFF-2];  *q++ = *r++ );
+   }
+   *q++ = CH_QUOTE;
+   *q++ = '\0';
diff --git a/pkgs/tools/typesetting/lout/default.nix b/pkgs/tools/typesetting/lout/default.nix
index eaeaeb40606..4737c5d7409 100644
--- a/pkgs/tools/typesetting/lout/default.nix
+++ b/pkgs/tools/typesetting/lout/default.nix
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
     sha256 = "1gb8vb1wl7ikn269dd1c7ihqhkyrwk19jwx5kd0rdvbk6g7g25ix";
   };
 
+  patches = [
+    # https://build.opensuse.org/request/show/843612
+    ./CVE-2019-19917-and-CVE-2019-19918.patch
+  ];
+
   buildInputs = [ ghostscript ];
   builder = ./builder.sh;
 
diff --git a/pkgs/tools/typesetting/lowdown/default.nix b/pkgs/tools/typesetting/lowdown/default.nix
index 522c3438d90..805373e8ee6 100644
--- a/pkgs/tools/typesetting/lowdown/default.nix
+++ b/pkgs/tools/typesetting/lowdown/default.nix
@@ -1,24 +1,35 @@
-{ lib, stdenv, fetchurl, which }:
+{ lib, stdenv, fetchurl, fixDarwinDylibNames, which }:
 
 stdenv.mkDerivation rec {
   pname = "lowdown";
-  version = "0.7.9";
+  version = "0.8.1";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "lib" "dev" "man" ];
 
   src = fetchurl {
     url = "https://kristaps.bsd.lv/lowdown/snapshots/lowdown-${version}.tar.gz";
-    sha512 = "18q8i8lh8w127vzw697n0bzv4mchhna1p4s672hjvy39l3ls8rlj5nwq5npr5fry06yil62sjmq4652vw29r8l49wwk5j82a8l2nr7c";
+    sha512 = "28kwj053lm3510cq7pg4rqx6linv5zphhm2h6r9icigclfq7j9ybnd7vqbn2v4ay0r8ghac5cjbqab5zy8cjlgllwhwsxg0dnk75x2i";
   };
 
-  nativeBuildInputs = [ which ];
+  nativeBuildInputs = [ which ]
+    ++ lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
 
   configurePhase = ''
+    runHook preConfigure
     ./configure PREFIX=''${!outputDev} \
                 BINDIR=''${!outputBin}/bin \
-                MANDIR=''${!outputBin}/share/man
+                LIBDIR=''${!outputLib}/lib \
+                MANDIR=''${!outputMan}/share/man
+    runHook postConfigure
   '';
 
+  # Fix lib extension so that fixDarwinDylibNames detects it
+  postInstall = lib.optionalString stdenv.isDarwin ''
+    mv $lib/lib/liblowdown.{so,dylib}
+  '';
+
+  patches = lib.optional (!stdenv.hostPlatform.isStatic) ./shared.patch;
+
   meta = with lib; {
     homepage = "https://kristaps.bsd.lv/lowdown/";
     description = "Simple markdown translator";
diff --git a/pkgs/tools/typesetting/lowdown/shared.patch b/pkgs/tools/typesetting/lowdown/shared.patch
new file mode 100644
index 00000000000..ed9f266b3f9
--- /dev/null
+++ b/pkgs/tools/typesetting/lowdown/shared.patch
@@ -0,0 +1,41 @@
+diff --git a/Makefile b/Makefile
+index 955f737..2c9532c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -80,7 +80,7 @@ REGRESS_ARGS	+= "--parse-no-autolink"
+ REGRESS_ARGS	+= "--parse-no-cmark"
+ REGRESS_ARGS	+= "--parse-no-deflists"
+ 
+-all: lowdown lowdown-diff lowdown.pc
++all: lowdown lowdown-diff liblowdown.so lowdown.pc
+ 
+ www: $(HTMLS) $(PDFS) $(THUMBS) lowdown.tar.gz lowdown.tar.gz.sha512
+ 
+@@ -101,6 +101,9 @@ lowdown-diff: lowdown
+ liblowdown.a: $(OBJS) $(COMPAT_OBJS)
+ 	$(AR) rs $@ $(OBJS) $(COMPAT_OBJS)
+ 
++liblowdown.so: $(OBJS) $(COMPAT_OBJS)
++	$(CC) -shared -o $@ $(OBJS) $(COMPAT_OBJS) $(LDFLAGS)
++
+ install: all
+ 	mkdir -p $(DESTDIR)$(BINDIR)
+ 	mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
+@@ -111,7 +114,7 @@ install: all
+ 	$(INSTALL_DATA) lowdown.pc $(DESTDIR)$(LIBDIR)/pkgconfig
+ 	$(INSTALL_PROGRAM) lowdown $(DESTDIR)$(BINDIR)
+ 	$(INSTALL_PROGRAM) lowdown-diff $(DESTDIR)$(BINDIR)
+-	$(INSTALL_LIB) liblowdown.a $(DESTDIR)$(LIBDIR)
++	$(INSTALL_LIB) liblowdown.so $(DESTDIR)$(LIBDIR)
+ 	$(INSTALL_DATA) lowdown.h $(DESTDIR)$(INCLUDEDIR)
+ 	for f in $(MANS) ; do \
+ 		name=`basename $$f .html` ; \
+@@ -199,7 +202,7 @@ main.o: lowdown.h
+ 
+ clean:
+ 	rm -f $(OBJS) $(COMPAT_OBJS) main.o
+-	rm -f lowdown lowdown-diff liblowdown.a lowdown.pc
++	rm -f lowdown lowdown-diff liblowdown.so lowdown.pc
+ 	rm -f index.xml diff.xml diff.diff.xml README.xml lowdown.tar.gz.sha512 lowdown.tar.gz
+ 	rm -f $(PDFS) $(HTMLS) $(THUMBS)
+ 
diff --git a/pkgs/tools/typesetting/mmark/default.nix b/pkgs/tools/typesetting/mmark/default.nix
index 70f7e8f53ca..bc5ddcc9d75 100644
--- a/pkgs/tools/typesetting/mmark/default.nix
+++ b/pkgs/tools/typesetting/mmark/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "mmark";
diff --git a/pkgs/tools/typesetting/odpdown/default.nix b/pkgs/tools/typesetting/odpdown/default.nix
index 989f61f4592..7b20d230b9f 100644
--- a/pkgs/tools/typesetting/odpdown/default.nix
+++ b/pkgs/tools/typesetting/odpdown/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pythonPackages, libreoffice }:
+{ lib, fetchurl, pythonPackages, libreoffice }:
 
 pythonPackages.buildPythonApplication rec {
 
diff --git a/pkgs/tools/typesetting/satysfi/default.nix b/pkgs/tools/typesetting/satysfi/default.nix
index 03ce2eb5ee8..73370eb011e 100644
--- a/pkgs/tools/typesetting/satysfi/default.nix
+++ b/pkgs/tools/typesetting/satysfi/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchzip, fetchFromGitHub, ruby, dune_2, ocamlPackages
+{ lib, stdenv, fetchFromGitHub, ruby, dune_2, ocamlPackages
 , ipaexfont, junicode, lmodern, lmmath
 }:
 let
@@ -35,12 +35,12 @@ let
 in
   stdenv.mkDerivation rec {
     pname = "satysfi";
-    version = "0.0.5";
+    version = "0.0.6";
     src = fetchFromGitHub {
       owner = "gfngfn";
       repo = "SATySFi";
       rev = "v${version}";
-      sha256 = "1y72by6d15bc6qb1lv1ch6cm1i74gyr0w127nnvs2s657snm0y1n";
+      sha256 = "1wdmcz2b7v37msmsvjvbyj7x5a80qfws8a7w72q0g5959pw5fdxj";
       fetchSubmodules = true;
     };
 
@@ -70,7 +70,8 @@ in
     meta = with lib; {
       homepage = "https://github.com/gfngfn/SATySFi";
       description = "A statically-typed, functional typesetting system";
-      license = licenses.lgpl3;
+      changelog = "https://github.com/gfngfn/SATySFi/blob/v${version}/CHANGELOG.md";
+      license = licenses.lgpl3Only;
       maintainers = [ maintainers.mt-caret maintainers.marsam ];
       platforms = platforms.all;
     };
diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix
index db4fb9d0f72..eef7768be8f 100644
--- a/pkgs/tools/typesetting/sile/default.nix
+++ b/pkgs/tools/typesetting/sile/default.nix
@@ -30,6 +30,7 @@ let
     luarepl
     luasec
     luasocket
+    luautf8
     penlight
     stdlib
     vstruct
@@ -38,11 +39,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sile";
-  version = "0.10.13";
+  version = "0.10.14";
 
   src = fetchurl {
     url = "https://github.com/sile-typesetter/sile/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "19k4r7wfszml4dac8cm1hx9rb1im3psigcidz8bdm9j9jzpd01yj";
+    sha256 = "100f6iangpiwlv8k55d134w856r0xwsgw90s1rkkmqa5syziwni5";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index f66469f5ba4..fd1815efa94 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -2,7 +2,7 @@
 , texlive
 , zlib, libiconv, libpng, libX11
 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext
-, perl, perlPackages, python2Packages, pkg-config
+, perl, perlPackages, python3Packages, pkg-config
 , poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr
 , brotli, cairo, pixman, xorg, clisp, biber, woff2, xxHash
 , makeWrapper, shortenPerlShebang
@@ -321,13 +321,13 @@ latexindent = perlPackages.buildPerlPackage rec {
 };
 
 
-pygmentex = python2Packages.buildPythonApplication rec {
+pygmentex = python3Packages.buildPythonApplication rec {
   pname = "pygmentex";
   inherit (src) version;
 
   src = lib.head (builtins.filter (p: p.tlType == "run") texlive.pygmentex.pkgs);
 
-  propagatedBuildInputs = with python2Packages; [ pygments chardet ];
+  propagatedBuildInputs = with python3Packages; [ pygments chardet ];
 
   dontBuild = true;
 
diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix
index bf7b7952f51..9993263c1f6 100644
--- a/pkgs/tools/typesetting/tex/texlive/combine.nix
+++ b/pkgs/tools/typesetting/tex/texlive/combine.nix
@@ -29,7 +29,7 @@ let
       [ "de-macro" "pythontex" "dviasm" "texliveonfly" ];
     pkgNeedsRuby = pkg: pkg.tlType == "run" && pkg.pname == "match-parens";
     extraInputs =
-      lib.optional (lib.any pkgNeedsPython splitBin.wrong) python
+      lib.optional (lib.any pkgNeedsPython splitBin.wrong) python3
       ++ lib.optional (lib.any pkgNeedsRuby splitBin.wrong) ruby;
   };
 
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index cc30024ca0f..72b54f5ebef 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -4,7 +4,7 @@
 */
 { stdenv, lib, fetchurl, runCommand, writeText, buildEnv
 , callPackage, ghostscriptX, harfbuzz, poppler_min
-, makeWrapper, python, ruby, perl
+, makeWrapper, python3, ruby, perl
 , useFixedHashes ? true
 , recurseIntoAttrs
 }:
@@ -25,7 +25,7 @@ let
   # function for creating a working environment from a set of TL packages
   combine = import ./combine.nix {
     inherit bin combinePkgs buildEnv lib makeWrapper writeText
-      stdenv python ruby perl;
+      stdenv python3 ruby perl;
     ghostscript = ghostscriptX; # could be without X, probably, but we use X above
   };
 
diff --git a/pkgs/tools/typesetting/tikzit/default.nix b/pkgs/tools/typesetting/tikzit/default.nix
index 29fd21ed31f..2f6d169d0cb 100644
--- a/pkgs/tools/typesetting/tikzit/default.nix
+++ b/pkgs/tools/typesetting/tikzit/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, mkDerivation, fetchFromGitHub, qmake, qttools, qtbase, poppler, flex, bison }:
+{ lib, mkDerivation, fetchFromGitHub, qmake, qttools, qtbase, poppler, flex, bison }:
 
 mkDerivation {
   pname = "tikzit";
diff --git a/pkgs/tools/video/atomicparsley/default.nix b/pkgs/tools/video/atomicparsley/default.nix
index 41d4dd63d58..d07d6e53429 100644
--- a/pkgs/tools/video/atomicparsley/default.nix
+++ b/pkgs/tools/video/atomicparsley/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "atomicparsley";
-  version = "20210114.184825.1dbe1be";
+  version = "20210124.204813.840499f";
 
   src = fetchFromGitHub {
     owner = "wez";
     repo = pname;
     rev = version;
-    sha256 = "sha256-dyrfr3bsRzEWaAr9K+7SchFVl63cZawyIjmstOI9e5I=";
+    sha256 = "sha256-/bkfgIWlQobaiad2WD7DUUrTwfYurP7YAINaLTwBEcE=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/video/rav1e/default.nix b/pkgs/tools/video/rav1e/default.nix
index ae300f47b19..ca3fd72e878 100644
--- a/pkgs/tools/video/rav1e/default.nix
+++ b/pkgs/tools/video/rav1e/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rav1e";
-  version = "0.4.0-alpha";
+  version = "0.4.0";
 
   src = stdenv.mkDerivation rec {
     name = "${pname}-${version}-source";
@@ -11,12 +11,12 @@ rustPlatform.buildRustPackage rec {
       owner = "xiph";
       repo = "rav1e";
       rev = "v${version}";
-      sha256 = "1fw1gxi8330kfhl9hfzpn0lcmyn5604lc74d6g6iadzz2hmv4mb9";
+      sha256 = "09w4476x6bdmh9pv4lchrzvfvbjvxxraa9f4dlbwgli89lcg9fcf";
     };
 
     cargoLock = fetchurl {
-      url = "https://github.com/xiph/rav1e/releases/download/v0.4.0-alpha/Cargo.lock";
-      sha256 = "002s2wlzpifn5p2ahdrjdkjl48c1wr6fslg0if4gf9qpl8qj05fl";
+      url = "https://github.com/xiph/rav1e/releases/download/v${version}/Cargo.lock";
+      sha256 = "0rkyi010z6qmwdpvzlzyrrhs8na929g11lszhbqx5y0gh3y5nyik";
     };
 
     installPhase = ''
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "1i5ldqb77rrhfxxf9krp7f6yj3h6rsqak6hf23fd2znhgmi7psb1";
+  cargoSha256 = "1iza2cws28hd4a3q90mc90l8ql4bsgapdznfr6bl65cjam43i5sg";
   nativeBuildInputs = [ nasm cargo-c ];
 
   postBuild = ''
diff --git a/pkgs/tools/video/rtmpdump/default.nix b/pkgs/tools/video/rtmpdump/default.nix
index d0fa04aa83f..3f71f8abc5a 100644
--- a/pkgs/tools/video/rtmpdump/default.nix
+++ b/pkgs/tools/video/rtmpdump/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     })
   ];
 
-  makeFlags = [ ''prefix=$(out)'' ]
+  makeFlags = [ "prefix=$(out)" ]
     ++ optional gnutlsSupport "CRYPTO=GNUTLS"
     ++ optional opensslSupport "CRYPTO=OPENSSL"
     ++ optional stdenv.isDarwin "SYS=darwin"
diff --git a/pkgs/tools/video/untrunc/default.nix b/pkgs/tools/video/untrunc/default.nix
deleted file mode 100644
index 3ef025f5875..00000000000
--- a/pkgs/tools/video/untrunc/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib, stdenv, gcc, libav_12, fetchFromGitHub }:
-
-stdenv.mkDerivation {
-  pname = "untrunc";
-  version = "2020.02.09";
-
-  src = fetchFromGitHub {
-    owner = "ponchio";
-    repo = "untrunc";
-    rev = "4eed44283168c727ace839ff7590092fda2e0848";
-    sha256 = "0nfj67drc6bxqlkf8a1iazqhi0w38a7rjrb2bpa74gwq6xzygvbr";
-  };
-
-  buildInputs = [ gcc libav_12 ];
-
-  # Untrunc uses the internal libav headers 'h264dec.h' and 'config.h'.
-  # The latter must be created through 'configure'.
-  libavConfiguredSrc = libav_12.overrideAttrs (oldAttrs: {
-    name = "libav-configured-src";
-    outputs = [ "out" ];
-    phases = [ "unpackPhase" "patchPhase" "configurePhase" "installPhase" ];
-    installPhase = "cp -r . $out";
-  });
-
-  buildCommand = ''
-    mkdir -p $out/bin
-    g++ -o $out/bin/untrunc \
-        -Wno-deprecated-declarations \
-        $src/file.cpp $src/main.cpp $src/track.cpp $src/atom.cpp $src/mp4.cpp \
-        -I$libavConfiguredSrc -lavformat -lavcodec -lavutil
-  '';
-
-  meta = with lib; {
-    description = "Restore a damaged (truncated) mp4, m4v, mov, 3gp video from a similar, undamaged video";
-    license = licenses.gpl2;
-    homepage = "https://github.com/ponchio/untrunc";
-    maintainers = [ maintainers.earvstedt ];
-  };
-}
diff --git a/pkgs/tools/video/vnc2flv/default.nix b/pkgs/tools/video/vnc2flv/default.nix
index ba28ef08c8f..88ec2f22b89 100644
--- a/pkgs/tools/video/vnc2flv/default.nix
+++ b/pkgs/tools/video/vnc2flv/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pythonPackages }:
+{ lib, fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
   pname = "vnc2flv";
diff --git a/pkgs/tools/virtualization/awless/default.nix b/pkgs/tools/virtualization/awless/default.nix
index 3faf90ab4ac..061dd486e0d 100644
--- a/pkgs/tools/virtualization/awless/default.nix
+++ b/pkgs/tools/virtualization/awless/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "awless";
diff --git a/pkgs/tools/virtualization/awsebcli/default.nix b/pkgs/tools/virtualization/awsebcli/default.nix
index fa8e96def24..796ea36eacf 100644
--- a/pkgs/tools/virtualization/awsebcli/default.nix
+++ b/pkgs/tools/virtualization/awsebcli/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, python3, glibcLocales }:
+{ lib, python3, glibcLocales }:
 let
 
   localPython = python3.override {
diff --git a/pkgs/tools/virtualization/distrobuilder/default.nix b/pkgs/tools/virtualization/distrobuilder/default.nix
index a7de9ae8b59..d06a2b4a17e 100644
--- a/pkgs/tools/virtualization/distrobuilder/default.nix
+++ b/pkgs/tools/virtualization/distrobuilder/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, pkg-config, buildGoPackage, fetchFromGitHub
+{ lib, pkg-config, buildGoPackage, fetchFromGitHub
 , makeWrapper, coreutils, gnupg, gnutar, squashfsTools, debootstrap
 }:
 
diff --git a/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix b/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix
new file mode 100644
index 00000000000..4068d71383c
--- /dev/null
+++ b/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, boto3 }:
+
+buildPythonPackage rec {
+  pname = "ec2instanceconnectcli";
+  version = "1.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-VaCyCnEhSx1I3bNo57p0IXf92+tO1tT7KSUXzO1IyIU=";
+  };
+
+  propagatedBuildInputs = [ boto3 ];
+
+  # has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "ec2instanceconnectcli" ];
+
+  meta = with lib; {
+    description = "Command Line Interface for AWS EC2 Instance Connect";
+    homepage = "https://github.com/aws/aws-ec2-instance-connect-cli";
+    license = licenses.apsl20;
+    maintainers = with maintainers; [ yurrriq ];
+  };
+}
diff --git a/pkgs/tools/virtualization/euca2ools/default.nix b/pkgs/tools/virtualization/euca2ools/default.nix
index 371a867d4dd..88e83f42733 100644
--- a/pkgs/tools/virtualization/euca2ools/default.nix
+++ b/pkgs/tools/virtualization/euca2ools/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit, python2Packages }:
+{ lib, fetchgit, python2Packages }:
 
 let
   inherit (python2Packages) buildPythonApplication boto m2crypto;
diff --git a/pkgs/tools/virtualization/marathonctl/default.nix b/pkgs/tools/virtualization/marathonctl/default.nix
index 6f036795e72..fe31c64952a 100644
--- a/pkgs/tools/virtualization/marathonctl/default.nix
+++ b/pkgs/tools/virtualization/marathonctl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage {
   pname = "marathonctl-unstable";
diff --git a/pkgs/tools/virtualization/shipyard/default.nix b/pkgs/tools/virtualization/shipyard/default.nix
index e3017e98a07..511c61caf57 100644
--- a/pkgs/tools/virtualization/shipyard/default.nix
+++ b/pkgs/tools/virtualization/shipyard/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "shipyard";
-  version = "0.1.17";
+  version = "0.1.18";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shipyard-run";
     repo = pname;
-    sha256 = "13cp7qpxchnyxdm26xwdcp557nj16f4h8vlj0p4h79z5g7pcklln";
+    sha256 = "sha256-ZrzW1sx0wCuaICONS3SR0VsqDj2ZUM53LaB5Wj1s9uc=";
   };
-  vendorSha256 = "0gib9s09lz91wawbms9zq4wc5k6bdxfzpxm8q92h0bsjw1bj1hzs";
+  vendorSha256 = "sha256-eeR316CKlAqWxlYcPZVlP260NR7WHfmCVE3PywMay/w=";
 
   buildFlagsArray = [
     "-ldflags=-s -w -X main.version=${version}"
diff --git a/pkgs/tools/virtualization/udocker/default.nix b/pkgs/tools/virtualization/udocker/default.nix
index c971dfcb1bd..fb067de8212 100644
--- a/pkgs/tools/virtualization/udocker/default.nix
+++ b/pkgs/tools/virtualization/udocker/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, proot, patchelf, fakechroot, runc, simplejson, pycurl, coreutils, nose, mock, buildPythonApplication }:
+{ lib, fetchFromGitHub, proot, patchelf, fakechroot, runc, simplejson, pycurl, coreutils, nose, mock, buildPythonApplication }:
 
 buildPythonApplication rec {