about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/audio/CHOWTapeModel/default.nix1
-rw-r--r--pkgs/applications/audio/ChowKick/default.nix1
-rw-r--r--pkgs/applications/audio/aacgain/default.nix1
-rw-r--r--pkgs/applications/audio/aeolus/default.nix1
-rw-r--r--pkgs/applications/audio/aj-snapshot/default.nix1
-rw-r--r--pkgs/applications/audio/ashuffle/default.nix1
-rw-r--r--pkgs/applications/audio/aucatctl/default.nix1
-rw-r--r--pkgs/applications/audio/bitmeter/default.nix1
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix4
-rw-r--r--pkgs/applications/audio/brutefir/default.nix1
-rw-r--r--pkgs/applications/audio/calf/default.nix1
-rw-r--r--pkgs/applications/audio/cdparanoia/default.nix1
-rw-r--r--pkgs/applications/audio/chuck/default.nix1
-rw-r--r--pkgs/applications/audio/cider/default.nix1
-rw-r--r--pkgs/applications/audio/cmusfm/default.nix1
-rw-r--r--pkgs/applications/audio/codecserver/default.nix1
-rw-r--r--pkgs/applications/audio/dirt/default.nix1
-rw-r--r--pkgs/applications/audio/dolbybcsoftwaredecode/default.nix1
-rw-r--r--pkgs/applications/audio/dsf2flac/default.nix1
-rw-r--r--pkgs/applications/audio/eflite/default.nix1
-rw-r--r--pkgs/applications/audio/famistudio/default.nix1
-rw-r--r--pkgs/applications/audio/flac123/default.nix1
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix1
-rw-r--r--pkgs/applications/audio/freewheeling/default.nix1
-rw-r--r--pkgs/applications/audio/freqtweak/default.nix1
-rw-r--r--pkgs/applications/audio/ft2-clone/default.nix1
-rw-r--r--pkgs/applications/audio/furnace/default.nix1
-rw-r--r--pkgs/applications/audio/geonkick/default.nix1
-rw-r--r--pkgs/applications/audio/gigedit/default.nix1
-rw-r--r--pkgs/applications/audio/gjay/default.nix1
-rw-r--r--pkgs/applications/audio/gnaural/default.nix1
-rw-r--r--pkgs/applications/audio/gtkcord4/default.nix6
-rw-r--r--pkgs/applications/audio/headset/default.nix1
-rw-r--r--pkgs/applications/audio/helm/default.nix1
-rw-r--r--pkgs/applications/audio/hybridreverb2/default.nix1
-rw-r--r--pkgs/applications/audio/id3v2/default.nix1
-rw-r--r--pkgs/applications/audio/industrializer/default.nix1
-rw-r--r--pkgs/applications/audio/infamousPlugins/default.nix1
-rw-r--r--pkgs/applications/audio/ir.lv2/default.nix1
-rw-r--r--pkgs/applications/audio/jaaa/default.nix1
-rw-r--r--pkgs/applications/audio/jack-passthrough/default.nix1
-rw-r--r--pkgs/applications/audio/jackmeter/default.nix1
-rw-r--r--pkgs/applications/audio/japa/default.nix1
-rw-r--r--pkgs/applications/audio/jellycli/default.nix1
-rw-r--r--pkgs/applications/audio/jmusicbot/default.nix1
-rw-r--r--pkgs/applications/audio/keyfinder-cli/default.nix1
-rw-r--r--pkgs/applications/audio/klick/default.nix1
-rw-r--r--pkgs/applications/audio/klystrack/default.nix1
-rw-r--r--pkgs/applications/audio/kmetronome/default.nix1
-rw-r--r--pkgs/applications/audio/listenbrainz-mpd/default.nix1
-rw-r--r--pkgs/applications/audio/littlegptracker/default.nix1
-rw-r--r--pkgs/applications/audio/losslessaudiochecker/default.nix1
-rw-r--r--pkgs/applications/audio/luppp/default.nix1
-rw-r--r--pkgs/applications/audio/lv2bm/default.nix1
-rw-r--r--pkgs/applications/audio/lv2lint/default.nix1
-rw-r--r--pkgs/applications/audio/m4acut/default.nix1
-rw-r--r--pkgs/applications/audio/master_me/default.nix1
-rw-r--r--pkgs/applications/audio/meterbridge/default.nix1
-rw-r--r--pkgs/applications/audio/mi2ly/default.nix1
-rw-r--r--pkgs/applications/audio/mid2key/default.nix1
-rw-r--r--pkgs/applications/audio/mikmod/default.nix1
-rw-r--r--pkgs/applications/audio/milkytracker/default.nix1
-rw-r--r--pkgs/applications/audio/mmlgui/default.nix1
-rw-r--r--pkgs/applications/audio/mmtc/default.nix1
-rw-r--r--pkgs/applications/audio/moc/default.nix1
-rw-r--r--pkgs/applications/audio/mopidy/muse.nix4
-rw-r--r--pkgs/applications/audio/mp3gain/default.nix1
-rw-r--r--pkgs/applications/audio/mp3val/default.nix1
-rw-r--r--pkgs/applications/audio/museeks/default.nix1
-rw-r--r--pkgs/applications/audio/music-player/default.nix1
-rw-r--r--pkgs/applications/audio/musly/default.nix1
-rw-r--r--pkgs/applications/audio/mympd/default.nix4
-rw-r--r--pkgs/applications/audio/ncmpc/default.nix1
-rw-r--r--pkgs/applications/audio/ncpamixer/default.nix1
-rw-r--r--pkgs/applications/audio/ncspot/default.nix1
-rw-r--r--pkgs/applications/audio/ninjas2/default.nix1
-rw-r--r--pkgs/applications/audio/noson/default.nix4
-rw-r--r--pkgs/applications/audio/odin2/default.nix1
-rw-r--r--pkgs/applications/audio/open-stage-control/default.nix1
-rw-r--r--pkgs/applications/audio/openutau/default.nix1
-rw-r--r--pkgs/applications/audio/opustags/default.nix1
-rw-r--r--pkgs/applications/audio/pamix/default.nix1
-rw-r--r--pkgs/applications/audio/patchage/default.nix1
-rw-r--r--pkgs/applications/audio/paulstretch/default.nix1
-rw-r--r--pkgs/applications/audio/pbpctrl/default.nix1
-rw-r--r--pkgs/applications/audio/petrifoo/default.nix1
-rw-r--r--pkgs/applications/audio/pianobar/default.nix1
-rw-r--r--pkgs/applications/audio/picoloop/default.nix1
-rw-r--r--pkgs/applications/audio/pmidi/default.nix1
-rw-r--r--pkgs/applications/audio/pms/default.nix1
-rw-r--r--pkgs/applications/audio/proteus/default.nix1
-rw-r--r--pkgs/applications/audio/psst/default.nix1
-rw-r--r--pkgs/applications/audio/pt2-clone/default.nix1
-rw-r--r--pkgs/applications/audio/rhvoice/default.nix1
-rw-r--r--pkgs/applications/audio/roomeqwizard/default.nix5
-rw-r--r--pkgs/applications/audio/schismtracker/default.nix1
-rw-r--r--pkgs/applications/audio/seq24/default.nix1
-rw-r--r--pkgs/applications/audio/snd/default.nix1
-rw-r--r--pkgs/applications/audio/sndpeek/default.nix1
-rw-r--r--pkgs/applications/audio/songrec/default.nix1
-rw-r--r--pkgs/applications/audio/sonixd/default.nix1
-rw-r--r--pkgs/applications/audio/sonobus/default.nix1
-rw-r--r--pkgs/applications/audio/sony-headphones-client/default.nix1
-rw-r--r--pkgs/applications/audio/spectrojack/default.nix1
-rw-r--r--pkgs/applications/audio/spotifyd/default.nix1
-rw-r--r--pkgs/applications/audio/sptlrx/default.nix1
-rw-r--r--pkgs/applications/audio/squishyball/default.nix1
-rw-r--r--pkgs/applications/audio/stochas/default.nix4
-rw-r--r--pkgs/applications/audio/streamripper/default.nix1
-rw-r--r--pkgs/applications/audio/subtitlr/default.nix1
-rw-r--r--pkgs/applications/audio/svox/default.nix1
-rw-r--r--pkgs/applications/audio/synaesthesia/default.nix1
-rw-r--r--pkgs/applications/audio/tagutil/default.nix1
-rw-r--r--pkgs/applications/audio/timemachine/default.nix1
-rw-r--r--pkgs/applications/audio/tone/default.nix1
-rw-r--r--pkgs/applications/audio/tonelib-gfx/default.nix1
-rw-r--r--pkgs/applications/audio/tonelib-jam/default.nix1
-rw-r--r--pkgs/applications/audio/tonelib-metal/default.nix1
-rw-r--r--pkgs/applications/audio/tonelib-noisereducer/default.nix1
-rw-r--r--pkgs/applications/audio/tonelib-zoom/default.nix1
-rw-r--r--pkgs/applications/audio/transcribe/default.nix1
-rw-r--r--pkgs/applications/audio/tree-from-tags/default.nix1
-rw-r--r--pkgs/applications/audio/vimpc/default.nix1
-rw-r--r--pkgs/applications/audio/wavegain/default.nix1
-rw-r--r--pkgs/applications/audio/waylyrics/Cargo.lock2946
-rw-r--r--pkgs/applications/audio/waylyrics/default.nix68
-rw-r--r--pkgs/applications/audio/wolf-shaper/default.nix1
-rw-r--r--pkgs/applications/audio/x42-gmsynth/default.nix4
-rw-r--r--pkgs/applications/audio/xmp/default.nix1
-rw-r--r--pkgs/applications/audio/xtuner/default.nix1
-rw-r--r--pkgs/applications/audio/yasr/default.nix1
-rw-r--r--pkgs/applications/audio/ympd/default.nix1
-rw-r--r--pkgs/applications/audio/yoshimi/default.nix1
-rw-r--r--pkgs/applications/audio/zita-at1/default.nix1
-rw-r--r--pkgs/applications/blockchains/aeon/default.nix3
-rw-r--r--pkgs/applications/blockchains/bitcoin-abc/default.nix6
-rw-r--r--pkgs/applications/blockchains/clboss/default.nix16
-rw-r--r--pkgs/applications/blockchains/litecoin/default.nix8
-rw-r--r--pkgs/applications/blockchains/nano-wallet/default.nix15
-rw-r--r--pkgs/applications/blockchains/optimism/default.nix6
-rw-r--r--pkgs/applications/display-managers/emptty/default.nix1
-rw-r--r--pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix1
-rw-r--r--pkgs/applications/display-managers/ly/default.nix1
-rw-r--r--pkgs/applications/editors/android-studio/default.nix8
-rw-r--r--pkgs/applications/editors/cpeditor/default.nix4
-rw-r--r--pkgs/applications/editors/gedit/default.nix6
-rw-r--r--pkgs/applications/editors/molsketch/default.nix6
-rw-r--r--pkgs/applications/editors/molsketch/openbabel.patch12
-rw-r--r--pkgs/applications/editors/typora/default.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/deprecated.json4
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix1678
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix665
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix14
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names35
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix110
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix16
-rw-r--r--pkgs/applications/emulators/attract-mode/default.nix1
-rw-r--r--pkgs/applications/emulators/basiliskii/default.nix1
-rw-r--r--pkgs/applications/emulators/caprice32/default.nix1
-rw-r--r--pkgs/applications/emulators/ccemux/default.nix1
-rw-r--r--pkgs/applications/emulators/cen64/default.nix1
-rw-r--r--pkgs/applications/emulators/duckstation/002-hardcode-vars.diff4
-rw-r--r--pkgs/applications/emulators/duckstation/default.nix57
-rw-r--r--pkgs/applications/emulators/emu2/default.nix1
-rw-r--r--pkgs/applications/emulators/gxemul/default.nix1
-rw-r--r--pkgs/applications/emulators/kega-fusion/default.nix1
-rw-r--r--pkgs/applications/emulators/mednafen/default.nix1
-rw-r--r--pkgs/applications/emulators/oberon-risc-emu/default.nix1
-rw-r--r--pkgs/applications/emulators/openmsx/default.nix1
-rw-r--r--pkgs/applications/emulators/retroarch/cores.nix53
-rw-r--r--pkgs/applications/emulators/retroarch/hashes.json1172
-rwxr-xr-xpkgs/applications/emulators/retroarch/update_cores.py73
-rw-r--r--pkgs/applications/emulators/simplenes/default.nix1
-rw-r--r--pkgs/applications/emulators/tamatool/default.nix1
-rw-r--r--pkgs/applications/emulators/tilem/default.nix1
-rw-r--r--pkgs/applications/emulators/tiny8086/default.nix1
-rw-r--r--pkgs/applications/emulators/uae/default.nix1
-rw-r--r--pkgs/applications/emulators/wibo/default.nix1
-rw-r--r--pkgs/applications/emulators/xcpc/default.nix1
-rw-r--r--pkgs/applications/emulators/yapesdl/default.nix1
-rw-r--r--pkgs/applications/emulators/yuzu/compat-list.nix6
-rw-r--r--pkgs/applications/emulators/yuzu/early-access/sources.nix8
-rw-r--r--pkgs/applications/emulators/yuzu/mainline.nix4
-rw-r--r--pkgs/applications/emulators/zsnes/default.nix1
-rw-r--r--pkgs/applications/file-managers/cfm/default.nix1
-rw-r--r--pkgs/applications/file-managers/clifm/default.nix1
-rw-r--r--pkgs/applications/file-managers/lf/default.nix1
-rw-r--r--pkgs/applications/file-managers/mucommander/default.nix1
-rw-r--r--pkgs/applications/file-managers/noice/default.nix1
-rw-r--r--pkgs/applications/file-managers/portfolio-filemanager/default.nix5
-rw-r--r--pkgs/applications/file-managers/sfm/default.nix1
-rw-r--r--pkgs/applications/file-managers/shfm/default.nix1
-rw-r--r--pkgs/applications/file-managers/xplorer/default.nix1
-rw-r--r--pkgs/applications/file-managers/yazi/default.nix81
-rw-r--r--pkgs/applications/finance/irpf/default.nix1
-rw-r--r--pkgs/applications/graphics/alchemy/default.nix1
-rw-r--r--pkgs/applications/graphics/apngasm/default.nix1
-rw-r--r--pkgs/applications/graphics/artem/default.nix7
-rw-r--r--pkgs/applications/graphics/ascii-image-converter/default.nix1
-rw-r--r--pkgs/applications/graphics/autotrace/default.nix1
-rw-r--r--pkgs/applications/graphics/awesomebump/default.nix1
-rw-r--r--pkgs/applications/graphics/azpainter/default.nix1
-rw-r--r--pkgs/applications/graphics/cloudcompare/default.nix4
-rw-r--r--pkgs/applications/graphics/curv/default.nix1
-rw-r--r--pkgs/applications/graphics/darktable/default.nix4
-rw-r--r--pkgs/applications/graphics/deskew/default.nix1
-rw-r--r--pkgs/applications/graphics/drawio/default.nix9
-rw-r--r--pkgs/applications/graphics/emulsion/default.nix1
-rw-r--r--pkgs/applications/graphics/entwine/default.nix1
-rw-r--r--pkgs/applications/graphics/epeg/default.nix1
-rw-r--r--pkgs/applications/graphics/epick/default.nix1
-rw-r--r--pkgs/applications/graphics/f3d/default.nix1
-rw-r--r--pkgs/applications/graphics/figma-agent/default.nix1
-rw-r--r--pkgs/applications/graphics/flaca/default.nix1
-rw-r--r--pkgs/applications/graphics/focus-stack/default.nix1
-rw-r--r--pkgs/applications/graphics/foxotron/default.nix1
-rw-r--r--pkgs/applications/graphics/gcolor2/default.nix1
-rw-r--r--pkgs/applications/graphics/gnuclad/default.nix1
-rw-r--r--pkgs/applications/graphics/gpicview/default.nix1
-rw-r--r--pkgs/applications/graphics/gqview/default.nix1
-rw-r--r--pkgs/applications/graphics/guetzli/default.nix1
-rw-r--r--pkgs/applications/graphics/hello-wayland/default.nix1
-rw-r--r--pkgs/applications/graphics/hugin/default.nix13
-rw-r--r--pkgs/applications/graphics/image_optim/default.nix1
-rw-r--r--pkgs/applications/graphics/imagej/default.nix1
-rw-r--r--pkgs/applications/graphics/img-cat/default.nix1
-rw-r--r--pkgs/applications/graphics/imgcat/default.nix1
-rw-r--r--pkgs/applications/graphics/imlibsetroot/default.nix1
-rw-r--r--pkgs/applications/graphics/imv/default.nix3
-rw-r--r--pkgs/applications/graphics/jpeginfo/default.nix1
-rw-r--r--pkgs/applications/graphics/jpegoptim/default.nix1
-rw-r--r--pkgs/applications/graphics/komikku/default.nix4
-rw-r--r--pkgs/applications/graphics/lazpaint/default.nix1
-rw-r--r--pkgs/applications/graphics/lightburn/default.nix1
-rw-r--r--pkgs/applications/graphics/litemdview/default.nix1
-rw-r--r--pkgs/applications/graphics/lorien/default.nix1
-rw-r--r--pkgs/applications/graphics/mandelbulber/default.nix4
-rw-r--r--pkgs/applications/graphics/meh/default.nix1
-rw-r--r--pkgs/applications/graphics/menyoki/default.nix1
-rw-r--r--pkgs/applications/graphics/minidjvu/default.nix1
-rw-r--r--pkgs/applications/graphics/mtpaint/default.nix1
-rw-r--r--pkgs/applications/graphics/ocrad/default.nix1
-rw-r--r--pkgs/applications/graphics/oculante/default.nix6
-rw-r--r--pkgs/applications/graphics/odafileconverter/default.nix1
-rw-r--r--pkgs/applications/graphics/openboard/default.nix1
-rw-r--r--pkgs/applications/graphics/pdfcpu/default.nix1
-rw-r--r--pkgs/applications/graphics/pixelnuke/default.nix1
-rw-r--r--pkgs/applications/graphics/pixeluvo/default.nix1
-rw-r--r--pkgs/applications/graphics/pqiv/default.nix1
-rw-r--r--pkgs/applications/graphics/qiv/default.nix1
-rw-r--r--pkgs/applications/graphics/round/default.nix1
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix6
-rw-r--r--pkgs/applications/graphics/swingsane/default.nix1
-rw-r--r--pkgs/applications/graphics/sxiv/default.nix1
-rw-r--r--pkgs/applications/graphics/tesseract/tesseract3.nix1
-rw-r--r--pkgs/applications/graphics/tesseract/tesseract4.nix1
-rw-r--r--pkgs/applications/graphics/unigine-superposition/default.nix1
-rw-r--r--pkgs/applications/graphics/upscayl/default.nix1
-rw-r--r--pkgs/applications/graphics/viewnior/default.nix1
-rw-r--r--pkgs/applications/graphics/vpv/default.nix1
-rw-r--r--pkgs/applications/graphics/wings/default.nix1
-rw-r--r--pkgs/applications/graphics/xfractint/default.nix1
-rw-r--r--pkgs/applications/graphics/xmountains/default.nix1
-rw-r--r--pkgs/applications/graphics/xournal/default.nix1
-rw-r--r--pkgs/applications/graphics/xzgv/default.nix1
-rw-r--r--pkgs/applications/graphics/yed/default.nix1
-rw-r--r--pkgs/applications/graphics/yeetgif/default.nix1
-rw-r--r--pkgs/applications/graphics/zgrviewer/default.nix1
-rw-r--r--pkgs/applications/graphics/zgv/default.nix1
-rw-r--r--pkgs/applications/kde/angelfish.nix2
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/itinerary.nix2
-rw-r--r--pkgs/applications/kde/srcs.nix1952
-rw-r--r--pkgs/applications/logging/humioctl/default.nix1
-rw-r--r--pkgs/applications/misc/HentaiAtHome/default.nix1
-rw-r--r--pkgs/applications/misc/abook/default.nix1
-rw-r--r--pkgs/applications/misc/anup/default.nix1
-rw-r--r--pkgs/applications/misc/ape/default.nix1
-rw-r--r--pkgs/applications/misc/artha/default.nix1
-rw-r--r--pkgs/applications/misc/avrdudess/default.nix1
-rw-r--r--pkgs/applications/misc/azuredatastudio/default.nix1
-rw-r--r--pkgs/applications/misc/base16-universal-manager/default.nix1
-rw-r--r--pkgs/applications/misc/bb/default.nix1
-rw-r--r--pkgs/applications/misc/bklk/default.nix1
-rw-r--r--pkgs/applications/misc/blugon/default.nix1
-rw-r--r--pkgs/applications/misc/camunda-modeler/default.nix1
-rw-r--r--pkgs/applications/misc/cardpeek/default.nix1
-rw-r--r--pkgs/applications/misc/charm/default.nix1
-rw-r--r--pkgs/applications/misc/cheat/default.nix1
-rw-r--r--pkgs/applications/misc/clight/default.nix1
-rw-r--r--pkgs/applications/misc/clipqr/default.nix1
-rw-r--r--pkgs/applications/misc/cloak/default.nix1
-rw-r--r--pkgs/applications/misc/cmatrix/default.nix1
-rw-r--r--pkgs/applications/misc/cobalt/default.nix1
-rw-r--r--pkgs/applications/misc/cointop/default.nix1
-rw-r--r--pkgs/applications/misc/colorstorm/default.nix1
-rw-r--r--pkgs/applications/misc/colort/default.nix1
-rw-r--r--pkgs/applications/misc/coltrane/default.nix1
-rw-r--r--pkgs/applications/misc/comodoro/default.nix1
-rw-r--r--pkgs/applications/misc/confetty/default.nix1
-rw-r--r--pkgs/applications/misc/cotp/default.nix7
-rw-r--r--pkgs/applications/misc/crumbs/default.nix1
-rw-r--r--pkgs/applications/misc/ctodo/default.nix1
-rw-r--r--pkgs/applications/misc/curaengine/default.nix1
-rw-r--r--pkgs/applications/misc/dasel/default.nix6
-rw-r--r--pkgs/applications/misc/ddgr/default.nix1
-rw-r--r--pkgs/applications/misc/deadd-notification-center/default.nix1
-rw-r--r--pkgs/applications/misc/deco/default.nix1
-rw-r--r--pkgs/applications/misc/devdocs-desktop/default.nix1
-rw-r--r--pkgs/applications/misc/devilspie2/default.nix1
-rw-r--r--pkgs/applications/misc/diff-pdf/default.nix1
-rw-r--r--pkgs/applications/misc/doctave/default.nix1
-rw-r--r--pkgs/applications/misc/doing/default.nix1
-rw-r--r--pkgs/applications/misc/downonspot/default.nix1
-rw-r--r--pkgs/applications/misc/dunst/default.nix62
-rw-r--r--pkgs/applications/misc/dwmbar/default.nix1
-rw-r--r--pkgs/applications/misc/dwmblocks/default.nix1
-rw-r--r--pkgs/applications/misc/effitask/default.nix1
-rw-r--r--pkgs/applications/misc/electrum/ltc.nix2
-rw-r--r--pkgs/applications/misc/elfx86exts/default.nix1
-rw-r--r--pkgs/applications/misc/emem/default.nix1
-rw-r--r--pkgs/applications/misc/epdfview/default.nix1
-rw-r--r--pkgs/applications/misc/evtest/default.nix1
-rw-r--r--pkgs/applications/misc/exercism/default.nix7
-rw-r--r--pkgs/applications/misc/expenses/default.nix1
-rw-r--r--pkgs/applications/misc/fead/default.nix1
-rw-r--r--pkgs/applications/misc/fehlstart/default.nix1
-rw-r--r--pkgs/applications/misc/ff2mpv/default.nix1
-rw-r--r--pkgs/applications/misc/filet/default.nix1
-rw-r--r--pkgs/applications/misc/firefly-desktop/default.nix1
-rw-r--r--pkgs/applications/misc/firestarter/default.nix1
-rw-r--r--pkgs/applications/misc/flamerobin/default.nix1
-rw-r--r--pkgs/applications/misc/flavours/default.nix1
-rw-r--r--pkgs/applications/misc/freeplane/default.nix1
-rw-r--r--pkgs/applications/misc/fsv/default.nix1
-rw-r--r--pkgs/applications/misc/galculator/default.nix1
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--pkgs/applications/misc/ganttproject-bin/default.nix1
-rw-r--r--pkgs/applications/misc/gcfflasher/default.nix1
-rw-r--r--pkgs/applications/misc/geek-life/default.nix1
-rw-r--r--pkgs/applications/misc/genact/default.nix1
-rw-r--r--pkgs/applications/misc/geoipupdate/default.nix1
-rw-r--r--pkgs/applications/misc/ghosttohugo/default.nix1
-rw-r--r--pkgs/applications/misc/gmnitohtml/default.nix1
-rw-r--r--pkgs/applications/misc/gmrun/default.nix1
-rw-r--r--pkgs/applications/misc/go-org/default.nix1
-rw-r--r--pkgs/applications/misc/gollum/default.nix1
-rw-r--r--pkgs/applications/misc/gomatrix/default.nix1
-rw-r--r--pkgs/applications/misc/googler/default.nix1
-rw-r--r--pkgs/applications/misc/gostatic/default.nix1
-rw-r--r--pkgs/applications/misc/gpa/default.nix1
-rw-r--r--pkgs/applications/misc/gphoto2/default.nix1
-rw-r--r--pkgs/applications/misc/gpsbabel/default.nix1
-rw-r--r--pkgs/applications/misc/gpsprune/default.nix1
-rw-r--r--pkgs/applications/misc/gpu-burn/default.nix1
-rw-r--r--pkgs/applications/misc/gpu-viewer/default.nix1
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/grb/default.nix1
-rw-r--r--pkgs/applications/misc/green-pdfviewer/default.nix1
-rw-r--r--pkgs/applications/misc/gremlin-console/default.nix1
-rw-r--r--pkgs/applications/misc/gremlin-server/default.nix1
-rw-r--r--pkgs/applications/misc/grip/default.nix1
-rw-r--r--pkgs/applications/misc/gsctl/default.nix1
-rw-r--r--pkgs/applications/misc/gsimplecal/default.nix1
-rw-r--r--pkgs/applications/misc/gtk2fontsel/default.nix1
-rw-r--r--pkgs/applications/misc/gxkb/default.nix1
-rw-r--r--pkgs/applications/misc/gxmessage/default.nix1
-rw-r--r--pkgs/applications/misc/gxneur/default.nix1
-rw-r--r--pkgs/applications/misc/harsh/default.nix1
-rw-r--r--pkgs/applications/misc/has/default.nix1
-rw-r--r--pkgs/applications/misc/hcl2json/default.nix1
-rw-r--r--pkgs/applications/misc/hello-unfree/default.nix1
-rw-r--r--pkgs/applications/misc/herbe/default.nix1
-rw-r--r--pkgs/applications/misc/hivemind/default.nix1
-rw-r--r--pkgs/applications/misc/hr/default.nix1
-rw-r--r--pkgs/applications/misc/inlyne/default.nix1
-rw-r--r--pkgs/applications/misc/insulator2/default.nix1
-rw-r--r--pkgs/applications/misc/ipatool/default.nix1
-rw-r--r--pkgs/applications/misc/ipmiview/default.nix1
-rw-r--r--pkgs/applications/misc/jekyll/default.nix1
-rw-r--r--pkgs/applications/misc/jetbrains-toolbox/default.nix5
-rw-r--r--pkgs/applications/misc/josm/default.nix1
-rw-r--r--pkgs/applications/misc/jp2a/default.nix1
-rw-r--r--pkgs/applications/misc/jquake/default.nix1
-rw-r--r--pkgs/applications/misc/kaufkauflist/default.nix1
-rw-r--r--pkgs/applications/misc/kbt/default.nix1
-rw-r--r--pkgs/applications/misc/keepass-diff/default.nix1
-rw-r--r--pkgs/applications/misc/keylight-controller-mschneider82/default.nix1
-rw-r--r--pkgs/applications/misc/kiln/default.nix1
-rw-r--r--pkgs/applications/misc/klipperscreen/default.nix1
-rw-r--r--pkgs/applications/misc/kondo/default.nix1
-rw-r--r--pkgs/applications/misc/krabby/default.nix1
-rw-r--r--pkgs/applications/misc/kratos/default.nix1
-rw-r--r--pkgs/applications/misc/lavalauncher/default.nix1
-rw-r--r--pkgs/applications/misc/lemonade/default.nix1
-rw-r--r--pkgs/applications/misc/lenmus/default.nix1
-rw-r--r--pkgs/applications/misc/limesctl/default.nix1
-rw-r--r--pkgs/applications/misc/logseq/default.nix1
-rw-r--r--pkgs/applications/misc/lscolors/default.nix1
-rw-r--r--pkgs/applications/misc/lswt/default.nix1
-rw-r--r--pkgs/applications/misc/ltwheelconf/default.nix1
-rw-r--r--pkgs/applications/misc/lunatask/default.nix1
-rw-r--r--pkgs/applications/misc/madonctl/default.nix1
-rw-r--r--pkgs/applications/misc/mainsail/default.nix4
-rw-r--r--pkgs/applications/misc/makeself/default.nix1
-rw-r--r--pkgs/applications/misc/mangal/default.nix1
-rw-r--r--pkgs/applications/misc/mdp/default.nix1
-rw-r--r--pkgs/applications/misc/mdzk/default.nix1
-rw-r--r--pkgs/applications/misc/memo/default.nix1
-rw-r--r--pkgs/applications/misc/mencal/default.nix1
-rw-r--r--pkgs/applications/misc/metamorphose2/default.nix1
-rw-r--r--pkgs/applications/misc/metar/default.nix1
-rw-r--r--pkgs/applications/misc/milu/default.nix1
-rw-r--r--pkgs/applications/misc/mkgmap/default.nix5
-rw-r--r--pkgs/applications/misc/mop/default.nix1
-rw-r--r--pkgs/applications/misc/mystem/default.nix1
-rw-r--r--pkgs/applications/misc/natural-docs/default.nix1
-rw-r--r--pkgs/applications/misc/neo/default.nix1
-rw-r--r--pkgs/applications/misc/neo4j-desktop/default.nix1
-rw-r--r--pkgs/applications/misc/nix-tour/default.nix1
-rw-r--r--pkgs/applications/misc/notesnook/default.nix1
-rw-r--r--pkgs/applications/misc/nrsc5/default.nix1
-rw-r--r--pkgs/applications/misc/ns-usbloader/default.nix1
-rw-r--r--pkgs/applications/misc/nwg-dock/default.nix1
-rw-r--r--pkgs/applications/misc/nwg-panel/default.nix4
-rw-r--r--pkgs/applications/misc/obs-cli/default.nix1
-rw-r--r--pkgs/applications/misc/onagre/default.nix1
-rw-r--r--pkgs/applications/misc/oneko/default.nix1
-rw-r--r--pkgs/applications/misc/openbox-menu/default.nix1
-rw-r--r--pkgs/applications/misc/openjump/default.nix1
-rw-r--r--pkgs/applications/misc/openring/default.nix1
-rw-r--r--pkgs/applications/misc/oranda/default.nix1
-rw-r--r--pkgs/applications/misc/osm2xmap/default.nix1
-rw-r--r--pkgs/applications/misc/osmium-tool/default.nix1
-rw-r--r--pkgs/applications/misc/osmtogeojson/default.nix1
-rw-r--r--pkgs/applications/misc/otf2bdf/default.nix1
-rw-r--r--pkgs/applications/misc/owmods-cli/default.nix6
-rw-r--r--pkgs/applications/misc/oxker/default.nix7
-rw-r--r--pkgs/applications/misc/p2pool/default.nix1
-rw-r--r--pkgs/applications/misc/pagefind/default.nix1
-rw-r--r--pkgs/applications/misc/pcmanx-gtk2/default.nix1
-rw-r--r--pkgs/applications/misc/peaclock/default.nix1
-rw-r--r--pkgs/applications/misc/pell/default.nix1
-rw-r--r--pkgs/applications/misc/pgmanage/default.nix1
-rw-r--r--pkgs/applications/misc/phoc/default.nix4
-rw-r--r--pkgs/applications/misc/phockup/default.nix1
-rw-r--r--pkgs/applications/misc/pinfo/default.nix1
-rw-r--r--pkgs/applications/misc/plasma-theme-switcher/default.nix1
-rw-r--r--pkgs/applications/misc/playonlinux/default.nix1
-rw-r--r--pkgs/applications/misc/plots/default.nix54
-rw-r--r--pkgs/applications/misc/pokemon-colorscripts-mac/default.nix1
-rw-r--r--pkgs/applications/misc/pomodoro/default.nix1
-rw-r--r--pkgs/applications/misc/pop-launcher/default.nix1
-rw-r--r--pkgs/applications/misc/pop/default.nix1
-rw-r--r--pkgs/applications/misc/porsmo/default.nix1
-rw-r--r--pkgs/applications/misc/premid/default.nix1
-rw-r--r--pkgs/applications/misc/process-compose/default.nix1
-rw-r--r--pkgs/applications/misc/psi-notify/default.nix1
-rw-r--r--pkgs/applications/misc/pstree/default.nix1
-rw-r--r--pkgs/applications/misc/pt/default.nix1
-rw-r--r--pkgs/applications/misc/qcad/default.nix25
-rw-r--r--pkgs/applications/misc/quicksynergy/default.nix1
-rw-r--r--pkgs/applications/misc/ratt/default.nix1
-rw-r--r--pkgs/applications/misc/reddsaver/default.nix1
-rw-r--r--pkgs/applications/misc/resumed/default.nix1
-rw-r--r--pkgs/applications/misc/revanced-cli/default.nix1
-rw-r--r--pkgs/applications/misc/river-luatile/default.nix1
-rw-r--r--pkgs/applications/misc/river-tag-overlay/default.nix1
-rw-r--r--pkgs/applications/misc/rivercarro/default.nix1
-rw-r--r--pkgs/applications/misc/rlaunch/default.nix1
-rw-r--r--pkgs/applications/misc/robo3t/default.nix1
-rw-r--r--pkgs/applications/misc/rsclock/default.nix1
-rw-r--r--pkgs/applications/misc/rss-bridge-cli/default.nix1
-rw-r--r--pkgs/applications/misc/rusty-psn/default.nix1
-rw-r--r--pkgs/applications/misc/sampler/default.nix1
-rw-r--r--pkgs/applications/misc/sdcv/default.nix1
-rw-r--r--pkgs/applications/misc/semver/default.nix1
-rw-r--r--pkgs/applications/misc/senv/default.nix1
-rw-r--r--pkgs/applications/misc/shavee/default.nix1
-rw-r--r--pkgs/applications/misc/shell-genie/default.nix3
-rw-r--r--pkgs/applications/misc/sidequest/default.nix1
-rw-r--r--pkgs/applications/misc/sigi/default.nix1
-rw-r--r--pkgs/applications/misc/skate/default.nix1
-rw-r--r--pkgs/applications/misc/slides/default.nix1
-rw-r--r--pkgs/applications/misc/slippy/default.nix1
-rw-r--r--pkgs/applications/misc/slstatus/default.nix1
-rw-r--r--pkgs/applications/misc/slweb/default.nix1
-rw-r--r--pkgs/applications/misc/smpq/default.nix1
-rw-r--r--pkgs/applications/misc/snixembed/default.nix1
-rw-r--r--pkgs/applications/misc/snowsql/default.nix1
-rw-r--r--pkgs/applications/misc/solaar/default.nix4
-rw-r--r--pkgs/applications/misc/somebar/default.nix1
-rw-r--r--pkgs/applications/misc/spacenav-cube-example/default.nix1
-rw-r--r--pkgs/applications/misc/speedread/default.nix1
-rw-r--r--pkgs/applications/misc/spnavcfg/default.nix1
-rw-r--r--pkgs/applications/misc/spotify-tray/default.nix1
-rw-r--r--pkgs/applications/misc/ssocr/default.nix1
-rw-r--r--pkgs/applications/misc/stag/default.nix1
-rw-r--r--pkgs/applications/misc/stepreduce/default.nix1
-rw-r--r--pkgs/applications/misc/stork/default.nix1
-rw-r--r--pkgs/applications/misc/stretchly/default.nix1
-rw-r--r--pkgs/applications/misc/stw/default.nix1
-rw-r--r--pkgs/applications/misc/styx/default.nix1
-rw-r--r--pkgs/applications/misc/surface-control/default.nix1
-rw-r--r--pkgs/applications/misc/swaynag-battery/default.nix1
-rw-r--r--pkgs/applications/misc/synapse/default.nix1
-rw-r--r--pkgs/applications/misc/syncthing-tray/default.nix1
-rw-r--r--pkgs/applications/misc/systembus-notify/default.nix1
-rw-r--r--pkgs/applications/misc/tabula-java/default.nix1
-rw-r--r--pkgs/applications/misc/tagtime/default.nix1
-rw-r--r--pkgs/applications/misc/tailscale-systray/default.nix1
-rw-r--r--pkgs/applications/misc/taizen/default.nix1
-rw-r--r--pkgs/applications/misc/tandoor-recipes/default.nix1
-rw-r--r--pkgs/applications/misc/tango/default.nix1
-rw-r--r--pkgs/applications/misc/tasksh/default.nix1
-rw-r--r--pkgs/applications/misc/taskwarrior-tui/default.nix1
-rw-r--r--pkgs/applications/misc/terminal-colors/default.nix1
-rw-r--r--pkgs/applications/misc/terminal-parrot/default.nix1
-rw-r--r--pkgs/applications/misc/terminal-stocks/default.nix1
-rw-r--r--pkgs/applications/misc/thedesk/default.nix1
-rw-r--r--pkgs/applications/misc/thokr/default.nix1
-rw-r--r--pkgs/applications/misc/ticker/default.nix1
-rw-r--r--pkgs/applications/misc/tickrs/default.nix1
-rw-r--r--pkgs/applications/misc/timew-sync-server/default.nix1
-rw-r--r--pkgs/applications/misc/tippecanoe/default.nix4
-rw-r--r--pkgs/applications/misc/tiramisu/default.nix1
-rw-r--r--pkgs/applications/misc/tmatrix/default.nix1
-rw-r--r--pkgs/applications/misc/tnef/default.nix1
-rw-r--r--pkgs/applications/misc/todoist-electron/default.nix1
-rw-r--r--pkgs/applications/misc/todoist/default.nix1
-rw-r--r--pkgs/applications/misc/transifex-cli/default.nix1
-rw-r--r--pkgs/applications/misc/ttdl/default.nix7
-rw-r--r--pkgs/applications/misc/tthsum/default.nix1
-rw-r--r--pkgs/applications/misc/tty-share/default.nix1
-rw-r--r--pkgs/applications/misc/ttyper/default.nix1
-rw-r--r--pkgs/applications/misc/tuckr/default.nix1
-rw-r--r--pkgs/applications/misc/tut/default.nix1
-rw-r--r--pkgs/applications/misc/typer/default.nix1
-rw-r--r--pkgs/applications/misc/typioca/default.nix1
-rw-r--r--pkgs/applications/misc/udict/default.nix1
-rw-r--r--pkgs/applications/misc/ultralist/default.nix1
-rw-r--r--pkgs/applications/misc/uni/default.nix1
-rw-r--r--pkgs/applications/misc/unipicker/default.nix1
-rw-r--r--pkgs/applications/misc/usb-reset/default.nix1
-rw-r--r--pkgs/applications/misc/usync/default.nix1
-rw-r--r--pkgs/applications/misc/vcal/default.nix1
-rw-r--r--pkgs/applications/misc/veracrypt/default.nix7
-rw-r--r--pkgs/applications/misc/vp/default.nix1
-rw-r--r--pkgs/applications/misc/vue/default.nix1
-rw-r--r--pkgs/applications/misc/vul/default.nix1
-rw-r--r--pkgs/applications/misc/warpd/default.nix1
-rw-r--r--pkgs/applications/misc/wbg/default.nix1
-rw-r--r--pkgs/applications/misc/wcalc/default.nix1
-rw-r--r--pkgs/applications/misc/wego/default.nix1
-rw-r--r--pkgs/applications/misc/with-shell/default.nix1
-rw-r--r--pkgs/applications/misc/wlclock/default.nix1
-rw-r--r--pkgs/applications/misc/wmenu/default.nix1
-rw-r--r--pkgs/applications/misc/wmname/default.nix1
-rw-r--r--pkgs/applications/misc/wofi-emoji/default.nix1
-rw-r--r--pkgs/applications/misc/writefreely/default.nix1
-rw-r--r--pkgs/applications/misc/wthrr/default.nix1
-rw-r--r--pkgs/applications/misc/xbattbar/default.nix1
-rw-r--r--pkgs/applications/misc/xchm/default.nix1
-rw-r--r--pkgs/applications/misc/xcruiser/default.nix1
-rw-r--r--pkgs/applications/misc/xkbd/default.nix1
-rw-r--r--pkgs/applications/misc/xkblayout-state/default.nix1
-rw-r--r--pkgs/applications/misc/xkbmon/default.nix1
-rw-r--r--pkgs/applications/misc/xlights/default.nix1
-rw-r--r--pkgs/applications/misc/xmenu/default.nix1
-rw-r--r--pkgs/applications/misc/xpdf/default.nix15
-rw-r--r--pkgs/applications/misc/xrandr-invert-colors/default.nix1
-rw-r--r--pkgs/applications/misc/xrq/default.nix1
-rw-r--r--pkgs/applications/misc/xscope/default.nix1
-rw-r--r--pkgs/applications/misc/xsw/default.nix1
-rw-r--r--pkgs/applications/misc/xxkb/default.nix1
-rw-r--r--pkgs/applications/misc/yambar/default.nix1
-rw-r--r--pkgs/applications/misc/zettlr/generic.nix1
-rw-r--r--pkgs/applications/misc/zine/default.nix1
-rw-r--r--pkgs/applications/misc/zktree/default.nix1
-rw-r--r--pkgs/applications/networking/asn/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/elinks/default.nix20
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix818
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix1015
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix1025
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix818
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix16
-rw-r--r--pkgs/applications/networking/browsers/librewolf/src.json14
-rw-r--r--pkgs/applications/networking/browsers/links2/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/browser.nix4
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/default.nix12
-rwxr-xr-xpkgs/applications/networking/browsers/microsoft-edge/update.py2
-rw-r--r--pkgs/applications/networking/browsers/netsurf/browser.nix22
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libcss.nix6
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libdom.nix4
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libhubbub.nix6
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsbmp.nix4
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsgif.nix4
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsutils.nix4
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libparserutils.nix6
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix4
-rw-r--r--pkgs/applications/networking/cloudflared/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/argocd/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/arkade/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/atmos/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/calico/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/cmctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/glooctl/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix6
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/k3s/1_28/versions.nix8
-rw-r--r--pkgs/applications/networking/cluster/k3s/1_29/versions.nix8
-rw-r--r--pkgs/applications/networking/cluster/k3s/builder.nix11
-rw-r--r--pkgs/applications/networking/cluster/k8sgpt/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/k9s/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubectl-klock/default.nix14
-rw-r--r--pkgs/applications/networking/cluster/kubedb-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubeseal/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubeshark/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/linkerd/edge.nix6
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix19
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/nomad/default.nix18
-rw-r--r--pkgs/applications/networking/cluster/rke/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/discordo/default.nix8
-rw-r--r--pkgs/applications/networking/feedreaders/newsflash/Cargo.lock1877
-rw-r--r--pkgs/applications/networking/feedreaders/newsflash/default.nix9
-rw-r--r--pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch17
-rw-r--r--pkgs/applications/networking/flexget/default.nix4
-rw-r--r--pkgs/applications/networking/headlines/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/beeper/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/fluffychat/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/qq/sources.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix4
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix4
-rw-r--r--pkgs/applications/networking/onionshare/default.nix2
-rw-r--r--pkgs/applications/networking/remote/dayon/default.nix4
-rw-r--r--pkgs/applications/office/appflowy/default.nix5
-rw-r--r--pkgs/applications/office/hledger-check-fancyassertions/default.nix1
-rw-r--r--pkgs/applications/office/homebank/default.nix6
-rw-r--r--pkgs/applications/office/jameica/default.nix1
-rw-r--r--pkgs/applications/office/ledger-web/default.nix1
-rw-r--r--pkgs/applications/office/mendeley/default.nix1
-rw-r--r--pkgs/applications/office/micropad/default.nix1
-rw-r--r--pkgs/applications/office/notion-app-enhanced/default.nix1
-rw-r--r--pkgs/applications/office/p3x-onenote/default.nix1
-rw-r--r--pkgs/applications/office/paperless-ngx/default.nix4
-rw-r--r--pkgs/applications/office/pdfmm/default.nix1
-rw-r--r--pkgs/applications/office/pinpoint/default.nix1
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/rime-cli/default.nix1
-rw-r--r--pkgs/applications/office/roam-research/darwin.nix1
-rw-r--r--pkgs/applications/office/roam-research/linux.nix1
-rw-r--r--pkgs/applications/office/super-productivity/default.nix1
-rw-r--r--pkgs/applications/office/teapot/default.nix1
-rw-r--r--pkgs/applications/office/timeular/default.nix1
-rw-r--r--pkgs/applications/office/tudu/default.nix1
-rw-r--r--pkgs/applications/office/tusk/default.nix1
-rw-r--r--pkgs/applications/office/zk/default.nix1
-rw-r--r--pkgs/applications/radio/aldo/default.nix1
-rw-r--r--pkgs/applications/radio/anytone-emu/default.nix1
-rw-r--r--pkgs/applications/radio/chirp/default.nix7
-rw-r--r--pkgs/applications/radio/cloudlog/default.nix4
-rw-r--r--pkgs/applications/radio/cubicsdr/default.nix1
-rw-r--r--pkgs/applications/radio/dmrconfig/default.nix1
-rw-r--r--pkgs/applications/radio/dsd/default.nix1
-rw-r--r--pkgs/applications/radio/ebook2cw/default.nix1
-rw-r--r--pkgs/applications/radio/flamp/default.nix1
-rw-r--r--pkgs/applications/radio/flex-ndax/default.nix1
-rw-r--r--pkgs/applications/radio/fllog/default.nix1
-rw-r--r--pkgs/applications/radio/flmsg/default.nix1
-rw-r--r--pkgs/applications/radio/flrig/default.nix1
-rw-r--r--pkgs/applications/radio/flwrap/default.nix1
-rw-r--r--pkgs/applications/radio/freedv/default.nix1
-rw-r--r--pkgs/applications/radio/kalibrate-hackrf/default.nix1
-rw-r--r--pkgs/applications/radio/kappanhang/default.nix1
-rw-r--r--pkgs/applications/radio/minimodem/default.nix1
-rw-r--r--pkgs/applications/radio/noaa-apt/default.nix1
-rw-r--r--pkgs/applications/radio/pat/default.nix1
-rw-r--r--pkgs/applications/radio/rtl_433/default.nix1
-rw-r--r--pkgs/applications/radio/sdrangel/default.nix4
-rw-r--r--pkgs/applications/radio/sdrplay/default.nix1
-rw-r--r--pkgs/applications/radio/sdrpp/default.nix1
-rw-r--r--pkgs/applications/radio/soapyremote/default.nix1
-rw-r--r--pkgs/applications/radio/tncattach/default.nix1
-rw-r--r--pkgs/applications/radio/xlog/default.nix1
-rw-r--r--pkgs/applications/science/biology/last/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/avogadro2/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/openmolcas/default.nix18
-rw-r--r--pkgs/applications/science/chemistry/openmolcas/pyparsing.patch37
-rw-r--r--pkgs/applications/science/computer-architecture/qtrvsim/default.nix4
-rw-r--r--pkgs/applications/science/computer-architecture/timeloop/default.nix14
-rw-r--r--pkgs/applications/science/electronics/qucs-s/default.nix4
-rw-r--r--pkgs/applications/science/logic/elan/default.nix6
-rw-r--r--pkgs/applications/science/logic/potassco/clingo.nix4
-rw-r--r--pkgs/applications/science/logic/stp/default.nix16
-rw-r--r--pkgs/applications/science/logic/stp/stdint.patch16
-rw-r--r--pkgs/applications/science/misc/root/default.nix8
-rw-r--r--pkgs/applications/science/misc/sasview/default.nix33
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix4
-rw-r--r--pkgs/applications/science/physics/xfitter/default.nix2
-rw-r--r--pkgs/applications/search/doodle/default.nix1
-rw-r--r--pkgs/applications/search/grepcidr/default.nix1
-rw-r--r--pkgs/applications/search/grepm/default.nix1
-rw-r--r--pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch48
-rw-r--r--pkgs/applications/search/recoll/default.nix17
-rw-r--r--pkgs/applications/system/mgmt/default.nix1
-rw-r--r--pkgs/applications/system/psitop/default.nix1
-rw-r--r--pkgs/applications/system/zxfer/default.nix1
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix6
-rw-r--r--pkgs/applications/version-management/commitizen/default.nix4
-rw-r--r--pkgs/applications/version-management/conform/default.nix7
-rw-r--r--pkgs/applications/version-management/gh/default.nix4
-rw-r--r--pkgs/applications/version-management/git-aggregator/default.nix2
-rw-r--r--pkgs/applications/version-management/git-branchless/default.nix4
-rw-r--r--pkgs/applications/version-management/git-ignore/default.nix6
-rw-r--r--pkgs/applications/version-management/meld/default.nix4
-rw-r--r--pkgs/applications/version-management/stgit/default.nix6
-rw-r--r--pkgs/applications/video/ani-cli/default.nix4
-rw-r--r--pkgs/applications/video/crunchy-cli/default.nix45
-rw-r--r--pkgs/applications/video/frigate/default.nix10
-rw-r--r--pkgs/applications/video/kodi/unwrapped.nix2
-rw-r--r--pkgs/applications/video/mpv/default.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix4
-rw-r--r--pkgs/applications/video/open-in-mpv/default.nix6
-rw-r--r--pkgs/applications/video/qctools/default.nix40
-rw-r--r--pkgs/applications/video/streamlink/default.nix4
-rw-r--r--pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock434
-rw-r--r--pkgs/applications/virtualization/cloud-hypervisor/default.nix19
-rw-r--r--pkgs/applications/virtualization/crosvm/default.nix20
-rw-r--r--pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--pkgs/applications/virtualization/ddev/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/compose.nix6
-rw-r--r--pkgs/applications/virtualization/firecracker/default.nix8
-rw-r--r--pkgs/applications/virtualization/spike/default.nix10
-rw-r--r--pkgs/applications/window-managers/gamescope/default.nix9
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix4
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprshade/default.nix4
-rw-r--r--pkgs/applications/window-managers/miriway/default.nix6
-rw-r--r--pkgs/applications/window-managers/picom/default.nix120
-rw-r--r--pkgs/applications/window-managers/picom/picom-allusive.nix26
-rw-r--r--pkgs/applications/window-managers/picom/picom-jonaburg.nix20
-rw-r--r--pkgs/applications/window-managers/picom/picom-next.nix35
753 files changed, 10651 insertions, 6440 deletions
diff --git a/pkgs/applications/audio/CHOWTapeModel/default.nix b/pkgs/applications/audio/CHOWTapeModel/default.nix
index dd7604939f0f..29c1b82d9d0e 100644
--- a/pkgs/applications/audio/CHOWTapeModel/default.nix
+++ b/pkgs/applications/audio/CHOWTapeModel/default.nix
@@ -127,5 +127,6 @@ stdenv.mkDerivation rec {
     # error: 'vvtanh' was not declared in this scope; did you mean 'tanh'?
     # error: no matching function for call to 'juce::dsp::SIMDRegister<double>::SIMDRegister(xsimd::simd_batch_traits<xsimd::batch<double, 2> >::batch_bool_type)'
     broken = stdenv.isAarch64; # since 2021-12-27 on hydra (update to 2.10): https://hydra.nixos.org/build/162558991
+    mainProgram = "CHOWTapeModel";
   };
 }
diff --git a/pkgs/applications/audio/ChowKick/default.nix b/pkgs/applications/audio/ChowKick/default.nix
index b3ad00bf63a8..0eec7ea32d32 100644
--- a/pkgs/applications/audio/ChowKick/default.nix
+++ b/pkgs/applications/audio/ChowKick/default.nix
@@ -102,5 +102,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "ChowKick";
   };
 }
diff --git a/pkgs/applications/audio/aacgain/default.nix b/pkgs/applications/audio/aacgain/default.nix
index 2bee14797815..ce0362ba49c0 100644
--- a/pkgs/applications/audio/aacgain/default.nix
+++ b/pkgs/applications/audio/aacgain/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.robbinch ];
+    mainProgram = "aacgain";
   };
 }
diff --git a/pkgs/applications/audio/aeolus/default.nix b/pkgs/applications/audio/aeolus/default.nix
index cca58da4f99e..b8a2fe755704 100644
--- a/pkgs/applications/audio/aeolus/default.nix
+++ b/pkgs/applications/audio/aeolus/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ nico202 orivej ];
+    mainProgram = "aeolus";
   };
 }
diff --git a/pkgs/applications/audio/aj-snapshot/default.nix b/pkgs/applications/audio/aj-snapshot/default.nix
index 9143b5f5b08a..8de68bca477c 100644
--- a/pkgs/applications/audio/aj-snapshot/default.nix
+++ b/pkgs/applications/audio/aj-snapshot/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.mrVanDalo ];
     platforms = platforms.all;
+    mainProgram = "aj-snapshot";
   };
 }
diff --git a/pkgs/applications/audio/ashuffle/default.nix b/pkgs/applications/audio/ashuffle/default.nix
index a543dbc7691a..dca87485913d 100644
--- a/pkgs/applications/audio/ashuffle/default.nix
+++ b/pkgs/applications/audio/ashuffle/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.tcbravo ];
     platforms = platforms.unix;
     license = licenses.mit;
+    mainProgram = "ashuffle";
   };
 }
diff --git a/pkgs/applications/audio/aucatctl/default.nix b/pkgs/applications/audio/aucatctl/default.nix
index d3f814a7db89..2914d3f34388 100644
--- a/pkgs/applications/audio/aucatctl/default.nix
+++ b/pkgs/applications/audio/aucatctl/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.isc;
     maintainers = with maintainers; [ sna ];
     platforms = platforms.unix;
+    mainProgram = "aucatctl";
   };
 })
diff --git a/pkgs/applications/audio/bitmeter/default.nix b/pkgs/applications/audio/bitmeter/default.nix
index 6108d84c3d9a..9ae4bd7e79fb 100644
--- a/pkgs/applications/audio/bitmeter/default.nix
+++ b/pkgs/applications/audio/bitmeter/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "bitmeter";
   };
 }
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix
index d1540fd1cea0..93296b3eff0b 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix
@@ -27,11 +27,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwig-studio";
-  version = "5.0.11";
+  version = "5.1.3";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
-    sha256 = "sha256-c9bRWVWCC9hLxmko6EHgxgmghrxskJP4PQf3ld2BHoY=";
+    sha256 = "sha256-1/iKezOD2HCym6JBXRa9rGpjolJjrxRZA4vwfgZyVng=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
diff --git a/pkgs/applications/audio/brutefir/default.nix b/pkgs/applications/audio/brutefir/default.nix
index 2aefa8bae08e..8cb54bf410bf 100644
--- a/pkgs/applications/audio/brutefir/default.nix
+++ b/pkgs/applications/audio/brutefir/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ auchter ];
     platforms = [ "x86_64-linux" "i686-linux" ];
+    mainProgram = "brutefir";
   };
 }
diff --git a/pkgs/applications/audio/calf/default.nix b/pkgs/applications/audio/calf/default.nix
index e4e679e78082..ecc43dd10c47 100644
--- a/pkgs/applications/audio/calf/default.nix
+++ b/pkgs/applications/audio/calf/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl2;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
+    mainProgram = "calfjackhost";
   };
 }
diff --git a/pkgs/applications/audio/cdparanoia/default.nix b/pkgs/applications/audio/cdparanoia/default.nix
index 7f699b82aefc..f32772b4a392 100644
--- a/pkgs/applications/audio/cdparanoia/default.nix
+++ b/pkgs/applications/audio/cdparanoia/default.nix
@@ -58,5 +58,6 @@ stdenv.mkDerivation rec {
     description = "A tool and library for reading digital audio from CDs";
     license = with licenses; [ gpl2Plus lgpl21Plus ];
     platforms = platforms.unix;
+    mainProgram = "cdparanoia";
   };
 }
diff --git a/pkgs/applications/audio/chuck/default.nix b/pkgs/applications/audio/chuck/default.nix
index a62337d7d55a..6b975b3c6b95 100644
--- a/pkgs/applications/audio/chuck/default.nix
+++ b/pkgs/applications/audio/chuck/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ ftrvxmtrx ];
+    mainProgram = "chuck";
   };
 }
diff --git a/pkgs/applications/audio/cider/default.nix b/pkgs/applications/audio/cider/default.nix
index c71f6fa0bc78..96f0ab0f706a 100644
--- a/pkgs/applications/audio/cider/default.nix
+++ b/pkgs/applications/audio/cider/default.nix
@@ -26,5 +26,6 @@ appimageTools.wrapType2 rec {
     license = licenses.agpl3;
     maintainers = [ maintainers.cigrainger ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "cider";
   };
 }
diff --git a/pkgs/applications/audio/cmusfm/default.nix b/pkgs/applications/audio/cmusfm/default.nix
index 8f15b7d61146..5d3a62bd2a56 100644
--- a/pkgs/applications/audio/cmusfm/default.nix
+++ b/pkgs/applications/audio/cmusfm/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [ CharlesHD mudri ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "cmusfm";
   };
 }
diff --git a/pkgs/applications/audio/codecserver/default.nix b/pkgs/applications/audio/codecserver/default.nix
index d1bcf82115ef..0c1bee94cc10 100644
--- a/pkgs/applications/audio/codecserver/default.nix
+++ b/pkgs/applications/audio/codecserver/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     platforms = platforms.unix;
     maintainers = teams.c3d2.members;
+    mainProgram = "codecserver";
   };
 }
diff --git a/pkgs/applications/audio/dirt/default.nix b/pkgs/applications/audio/dirt/default.nix
index 9d9c5c869f76..4b9be9a08085 100644
--- a/pkgs/applications/audio/dirt/default.nix
+++ b/pkgs/applications/audio/dirt/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3;
     maintainers = with maintainers; [ anderspapitto ];
     platforms = with platforms; linux;
+    mainProgram = "dirt";
   };
 }
diff --git a/pkgs/applications/audio/dolbybcsoftwaredecode/default.nix b/pkgs/applications/audio/dolbybcsoftwaredecode/default.nix
index 5d5c057d724b..fddbfc117bda 100644
--- a/pkgs/applications/audio/dolbybcsoftwaredecode/default.nix
+++ b/pkgs/applications/audio/dolbybcsoftwaredecode/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     # I asked upstream to assign a license, so maybe this can be free
     # in the future, but for now let's play it safe and make it unfree.
     license = lib.licenses.unfree;
+    mainProgram = "DolbyBi64";
   };
 }
diff --git a/pkgs/applications/audio/dsf2flac/default.nix b/pkgs/applications/audio/dsf2flac/default.nix
index d47bff7fe884..2459c1c6929d 100644
--- a/pkgs/applications/audio/dsf2flac/default.nix
+++ b/pkgs/applications/audio/dsf2flac/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ artemist ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "dsf2flac";
   };
 }
diff --git a/pkgs/applications/audio/eflite/default.nix b/pkgs/applications/audio/eflite/default.nix
index 776698a06d0d..96b604b7c058 100644
--- a/pkgs/applications/audio/eflite/default.nix
+++ b/pkgs/applications/audio/eflite/default.nix
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ jhhuh ];
+    mainProgram = "eflite";
   };
 }
diff --git a/pkgs/applications/audio/famistudio/default.nix b/pkgs/applications/audio/famistudio/default.nix
index e243498f129b..9951f0ccfb07 100644
--- a/pkgs/applications/audio/famistudio/default.nix
+++ b/pkgs/applications/audio/famistudio/default.nix
@@ -66,5 +66,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     maintainers = with maintainers; [ OPNA2608 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "famistudio";
   };
 }
diff --git a/pkgs/applications/audio/flac123/default.nix b/pkgs/applications/audio/flac123/default.nix
index 5da071805cad..646e361524d4 100644
--- a/pkgs/applications/audio/flac123/default.nix
+++ b/pkgs/applications/audio/flac123/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     description = "A command-line program for playing FLAC audio files";
     license = licenses.gpl2Plus;
     platforms = platforms.all;
+    mainProgram = "flac123";
   };
 }
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index 34329fb2ea84..56f76f6513c7 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license     = licenses.lgpl21Plus;
     maintainers = with maintainers; [ goibhniu lovek323 ];
     platforms   = platforms.unix;
+    mainProgram = "fluidsynth";
   };
 }
diff --git a/pkgs/applications/audio/freewheeling/default.nix b/pkgs/applications/audio/freewheeling/default.nix
index 531352d0ed94..976421aee7ab 100644
--- a/pkgs/applications/audio/freewheeling/default.nix
+++ b/pkgs/applications/audio/freewheeling/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.sepi ];
     platforms = lib.platforms.linux;
+    mainProgram = "fweelin";
   };
 }
diff --git a/pkgs/applications/audio/freqtweak/default.nix b/pkgs/applications/audio/freqtweak/default.nix
index 71bb0f6f05c8..c880fdb113a0 100644
--- a/pkgs/applications/audio/freqtweak/default.nix
+++ b/pkgs/applications/audio/freqtweak/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
+    mainProgram = "freqtweak";
   };
 }
diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix
index d299148e6ade..e10dff68777e 100644
--- a/pkgs/applications/audio/ft2-clone/default.nix
+++ b/pkgs/applications/audio/ft2-clone/default.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation rec {
     # From HOW-TO-COMPILE.txt:
     # > This code is NOT big-endian compatible
     platforms = platforms.littleEndian;
+    mainProgram = "ft2-clone";
   };
 }
diff --git a/pkgs/applications/audio/furnace/default.nix b/pkgs/applications/audio/furnace/default.nix
index adb9f16ed964..d39e49f4b7af 100644
--- a/pkgs/applications/audio/furnace/default.nix
+++ b/pkgs/applications/audio/furnace/default.nix
@@ -116,5 +116,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ gpl2Plus ];
     maintainers = with maintainers; [ OPNA2608 ];
     platforms = platforms.all;
+    mainProgram = "furnace";
   };
 }
diff --git a/pkgs/applications/audio/geonkick/default.nix b/pkgs/applications/audio/geonkick/default.nix
index 0a99edd7b069..011f06fd3ad5 100644
--- a/pkgs/applications/audio/geonkick/default.nix
+++ b/pkgs/applications/audio/geonkick/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.magnetophon ];
+    mainProgram = "geonkick";
   };
 }
diff --git a/pkgs/applications/audio/gigedit/default.nix b/pkgs/applications/audio/gigedit/default.nix
index 8c37e8901a33..7a367aa7ba71 100644
--- a/pkgs/applications/audio/gigedit/default.nix
+++ b/pkgs/applications/audio/gigedit/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
+    mainProgram = "gigedit";
   };
 }
diff --git a/pkgs/applications/audio/gjay/default.nix b/pkgs/applications/audio/gjay/default.nix
index 29d676598203..514db23fdb4e 100644
--- a/pkgs/applications/audio/gjay/default.nix
+++ b/pkgs/applications/audio/gjay/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; linux;
+    mainProgram = "gjay";
   };
 }
diff --git a/pkgs/applications/audio/gnaural/default.nix b/pkgs/applications/audio/gnaural/default.nix
index e7753ef28e6b..75f163ba1e79 100644
--- a/pkgs/applications/audio/gnaural/default.nix
+++ b/pkgs/applications/audio/gnaural/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     homepage = "https://gnaural.sourceforge.net/";
     maintainers = with maintainers; [ ehmry ];
     license = with licenses; [ gpl2Only ];
+    mainProgram = "gnaural";
   };
 }
diff --git a/pkgs/applications/audio/gtkcord4/default.nix b/pkgs/applications/audio/gtkcord4/default.nix
index a70d1bf2fcbf..e75e27e7d792 100644
--- a/pkgs/applications/audio/gtkcord4/default.nix
+++ b/pkgs/applications/audio/gtkcord4/default.nix
@@ -18,13 +18,13 @@
 
 buildGoModule rec {
   pname = "gtkcord4";
-  version = "0.0.18";
+  version = "0.0.19";
 
   src = fetchFromGitHub {
     owner = "diamondburned";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-J76MkbXtlrRIyQEbNlHFNpAW9+mXcOcrx9ahMQ61NL4=";
+    hash = "sha256-TOrAUTYS4J4W1wZvP1TxZf5Nel29YCPoWPN7GYNomkc=";
   };
 
   nativeBuildInputs = [
@@ -56,7 +56,7 @@ buildGoModule rec {
     install -D -m 444 internal/icons/hicolor/scalable/apps/logo.svg $out/share/icons/hicolor/scalable/apps/gtkcord4.svg
   '';
 
-  vendorHash = "sha256-BDR67P4Gxveg2FpxijT0eWjUciGDO+l02QmBUxVb99c=";
+  vendorHash = "sha256-dJm+v7/2+TQWoU7G1uOpie6KN5W0JqfLU4mF8mghV4A=";
 
   meta = with lib; {
     description = "GTK4 Discord client in Go, attempt #4";
diff --git a/pkgs/applications/audio/headset/default.nix b/pkgs/applications/audio/headset/default.nix
index 336d0d391a31..f505bc8c0ecb 100644
--- a/pkgs/applications/audio/headset/default.nix
+++ b/pkgs/applications/audio/headset/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ muscaln ];
+    mainProgram = "headset";
   };
 }
diff --git a/pkgs/applications/audio/helm/default.nix b/pkgs/applications/audio/helm/default.nix
index 720fd2b11a13..a7dff6a3ab72 100644
--- a/pkgs/applications/audio/helm/default.nix
+++ b/pkgs/applications/audio/helm/default.nix
@@ -70,5 +70,6 @@
     license = lib.licenses.gpl3Plus;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "helm";
   };
 }
diff --git a/pkgs/applications/audio/hybridreverb2/default.nix b/pkgs/applications/audio/hybridreverb2/default.nix
index 003936d74df3..5a677b9cc880 100644
--- a/pkgs/applications/audio/hybridreverb2/default.nix
+++ b/pkgs/applications/audio/hybridreverb2/default.nix
@@ -83,5 +83,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "HybridReverb2";
   };
 }
diff --git a/pkgs/applications/audio/id3v2/default.nix b/pkgs/applications/audio/id3v2/default.nix
index 7b8ece0e7182..6129f25236e6 100644
--- a/pkgs/applications/audio/id3v2/default.nix
+++ b/pkgs/applications/audio/id3v2/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://id3v2.sourceforge.net/";
     license = licenses.gpl2Plus;
     platforms = with platforms; unix;
+    mainProgram = "id3v2";
   };
 }
diff --git a/pkgs/applications/audio/industrializer/default.nix b/pkgs/applications/audio/industrializer/default.nix
index 80cb8f76981d..ba7099a0d603 100644
--- a/pkgs/applications/audio/industrializer/default.nix
+++ b/pkgs/applications/audio/industrializer/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = [ lib.maintainers.magnetophon ];
     platforms = lib.platforms.linux;
+    mainProgram = "psindustrializer";
   };
 }
diff --git a/pkgs/applications/audio/infamousPlugins/default.nix b/pkgs/applications/audio/infamousPlugins/default.nix
index 4597add4132d..38c8663a53c6 100644
--- a/pkgs/applications/audio/infamousPlugins/default.nix
+++ b/pkgs/applications/audio/infamousPlugins/default.nix
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "infamous-rule";
   };
 }
diff --git a/pkgs/applications/audio/ir.lv2/default.nix b/pkgs/applications/audio/ir.lv2/default.nix
index 90b816d1290d..d1984170e3ac 100644
--- a/pkgs/applications/audio/ir.lv2/default.nix
+++ b/pkgs/applications/audio/ir.lv2/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "convert4chan";
   };
 }
diff --git a/pkgs/applications/audio/jaaa/default.nix b/pkgs/applications/audio/jaaa/default.nix
index 48ffd5df5157..4cdc2caf150d 100644
--- a/pkgs/applications/audio/jaaa/default.nix
+++ b/pkgs/applications/audio/jaaa/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "jaaa";
   };
 }
diff --git a/pkgs/applications/audio/jack-passthrough/default.nix b/pkgs/applications/audio/jack-passthrough/default.nix
index 93f41f1b5952..6126257b35e6 100644
--- a/pkgs/applications/audio/jack-passthrough/default.nix
+++ b/pkgs/applications/audio/jack-passthrough/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.unfree;
     maintainers = [ maintainers.PowerUser64 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "jack-passthru";
   };
 })
diff --git a/pkgs/applications/audio/jackmeter/default.nix b/pkgs/applications/audio/jackmeter/default.nix
index 95fc88a86964..c7650c523654 100644
--- a/pkgs/applications/audio/jackmeter/default.nix
+++ b/pkgs/applications/audio/jackmeter/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.marcweber ];
     platforms = lib.platforms.linux;
+    mainProgram = "jack_meter";
   };
 }
diff --git a/pkgs/applications/audio/japa/default.nix b/pkgs/applications/audio/japa/default.nix
index c13b38f7acd5..a6ee28cc1498 100644
--- a/pkgs/applications/audio/japa/default.nix
+++ b/pkgs/applications/audio/japa/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.magnetophon ];
     platforms = lib.platforms.linux;
+    mainProgram = "japa";
   };
 }
diff --git a/pkgs/applications/audio/jellycli/default.nix b/pkgs/applications/audio/jellycli/default.nix
index 3654eacfbd6c..ddaa6721dfb7 100644
--- a/pkgs/applications/audio/jellycli/default.nix
+++ b/pkgs/applications/audio/jellycli/default.nix
@@ -30,5 +30,6 @@ buildGoModule rec {
     homepage = "https://github.com/tryffel/jellycli";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ oxzi ];
+    mainProgram = "jellycli";
   };
 }
diff --git a/pkgs/applications/audio/jmusicbot/default.nix b/pkgs/applications/audio/jmusicbot/default.nix
index 0bdd80a9601a..6b154ffbb1a6 100644
--- a/pkgs/applications/audio/jmusicbot/default.nix
+++ b/pkgs/applications/audio/jmusicbot/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
     inherit (jre_headless.meta) platforms;
+    mainProgram = "JMusicBot";
   };
 }
diff --git a/pkgs/applications/audio/keyfinder-cli/default.nix b/pkgs/applications/audio/keyfinder-cli/default.nix
index 62db3d796908..33adb65f5e8a 100644
--- a/pkgs/applications/audio/keyfinder-cli/default.nix
+++ b/pkgs/applications/audio/keyfinder-cli/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
+    mainProgram = "keyfinder-cli";
   };
 }
diff --git a/pkgs/applications/audio/klick/default.nix b/pkgs/applications/audio/klick/default.nix
index 8faa7410a539..5db052dd0518 100644
--- a/pkgs/applications/audio/klick/default.nix
+++ b/pkgs/applications/audio/klick/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     description = "Advanced command-line metronome for JACK";
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.linux;
+    mainProgram = "klick";
   };
 }
diff --git a/pkgs/applications/audio/klystrack/default.nix b/pkgs/applications/audio/klystrack/default.nix
index 9ea5f40be14b..597ed4bd2cb2 100644
--- a/pkgs/applications/audio/klystrack/default.nix
+++ b/pkgs/applications/audio/klystrack/default.nix
@@ -54,5 +54,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ suhr ];
     platforms = platforms.linux;
+    mainProgram = "klystrack";
   };
 }
diff --git a/pkgs/applications/audio/kmetronome/default.nix b/pkgs/applications/audio/kmetronome/default.nix
index 70b06e72fba8..a7a48b240e2b 100644
--- a/pkgs/applications/audio/kmetronome/default.nix
+++ b/pkgs/applications/audio/kmetronome/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ orivej ];
     platforms = platforms.linux;
+    mainProgram = "kmetronome";
   };
 }
diff --git a/pkgs/applications/audio/listenbrainz-mpd/default.nix b/pkgs/applications/audio/listenbrainz-mpd/default.nix
index 1042fae93e3b..9bf9c35d4bd7 100644
--- a/pkgs/applications/audio/listenbrainz-mpd/default.nix
+++ b/pkgs/applications/audio/listenbrainz-mpd/default.nix
@@ -59,5 +59,6 @@ rustPlatform.buildRustPackage rec {
     description = "ListenBrainz submission client for MPD";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ DeeUnderscore ];
+    mainProgram = "listenbrainz-mpd";
   };
 }
diff --git a/pkgs/applications/audio/littlegptracker/default.nix b/pkgs/applications/audio/littlegptracker/default.nix
index 846936e65f6a..fe9a117434fb 100644
--- a/pkgs/applications/audio/littlegptracker/default.nix
+++ b/pkgs/applications/audio/littlegptracker/default.nix
@@ -70,5 +70,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     # https://github.com/NixOS/nixpkgs/pull/91766#issuecomment-688751821
     broken = stdenv.isDarwin;
+    mainProgram = "lgpt";
   };
 }
diff --git a/pkgs/applications/audio/losslessaudiochecker/default.nix b/pkgs/applications/audio/losslessaudiochecker/default.nix
index 5ec91f4260f8..cdea7180a73e 100644
--- a/pkgs/applications/audio/losslessaudiochecker/default.nix
+++ b/pkgs/applications/audio/losslessaudiochecker/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation {
     license = lib.licenses.unfree;
     platforms = [ "x86_64-linux" ];
     maintainers = with lib.maintainers; [ p-h ];
+    mainProgram = "LAC";
   };
 }
diff --git a/pkgs/applications/audio/luppp/default.nix b/pkgs/applications/audio/luppp/default.nix
index 36d329bcafd5..23b084bddb57 100644
--- a/pkgs/applications/audio/luppp/default.nix
+++ b/pkgs/applications/audio/luppp/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ prusnak ];
     platforms = platforms.linux;
+    mainProgram = "luppp";
   };
 }
diff --git a/pkgs/applications/audio/lv2bm/default.nix b/pkgs/applications/audio/lv2bm/default.nix
index 553e0e67f836..033a7c8cfe70 100644
--- a/pkgs/applications/audio/lv2bm/default.nix
+++ b/pkgs/applications/audio/lv2bm/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "lv2bm";
   };
 }
diff --git a/pkgs/applications/audio/lv2lint/default.nix b/pkgs/applications/audio/lv2lint/default.nix
index e643343d8b4a..cc840722cdb9 100644
--- a/pkgs/applications/audio/lv2lint/default.nix
+++ b/pkgs/applications/audio/lv2lint/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = licenses.artistic2;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.all;
+    mainProgram = "lv2lint";
   };
 }
diff --git a/pkgs/applications/audio/m4acut/default.nix b/pkgs/applications/audio/m4acut/default.nix
index f3ceee9227c4..f9612dc21009 100644
--- a/pkgs/applications/audio/m4acut/default.nix
+++ b/pkgs/applications/audio/m4acut/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsdOriginal zlib ];
     maintainers = [ maintainers.chkno ];
     platforms = platforms.all;
+    mainProgram = "m4acut";
   };
 }
diff --git a/pkgs/applications/audio/master_me/default.nix b/pkgs/applications/audio/master_me/default.nix
index cc45a8fbee45..8d8782eabdcc 100644
--- a/pkgs/applications/audio/master_me/default.nix
+++ b/pkgs/applications/audio/master_me/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     broken = stdenv.isDarwin; # error: no type or protocol named 'NSPasteboardType'
     license = licenses.gpl3Plus;
+    mainProgram = "master_me";
   };
 }
diff --git a/pkgs/applications/audio/meterbridge/default.nix b/pkgs/applications/audio/meterbridge/default.nix
index 675189f6d131..93e2bfabd175 100644
--- a/pkgs/applications/audio/meterbridge/default.nix
+++ b/pkgs/applications/audio/meterbridge/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.nico202 ];
+    mainProgram = "meterbridge";
   };
 }
diff --git a/pkgs/applications/audio/mi2ly/default.nix b/pkgs/applications/audio/mi2ly/default.nix
index 2ba12575543c..8b03f75b398d 100644
--- a/pkgs/applications/audio/mi2ly/default.nix
+++ b/pkgs/applications/audio/mi2ly/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
     homepage = "https://www.nongnu.org/mi2ly/";
+    mainProgram = "mi2ly";
   };
 }
diff --git a/pkgs/applications/audio/mid2key/default.nix b/pkgs/applications/audio/mid2key/default.nix
index d4af7108c159..a4794e8a2e90 100644
--- a/pkgs/applications/audio/mid2key/default.nix
+++ b/pkgs/applications/audio/mid2key/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
+    mainProgram = "mid2key";
   };
 }
diff --git a/pkgs/applications/audio/mikmod/default.nix b/pkgs/applications/audio/mikmod/default.nix
index bb604d6bade2..abe8ac01cce2 100644
--- a/pkgs/applications/audio/mikmod/default.nix
+++ b/pkgs/applications/audio/mikmod/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ ];
     platforms = with lib.platforms; linux;
+    mainProgram = "mikmod";
   };
 }
diff --git a/pkgs/applications/audio/milkytracker/default.nix b/pkgs/applications/audio/milkytracker/default.nix
index a306b2e8c594..b792c1ad9b49 100644
--- a/pkgs/applications/audio/milkytracker/default.nix
+++ b/pkgs/applications/audio/milkytracker/default.nix
@@ -81,5 +81,6 @@ stdenv.mkDerivation (finalAttrs: {
     # ibtool -> real Xcode -> I can't get that, and Ofborg can't test that
     broken = stdenv.hostPlatform.isDarwin;
     maintainers = with maintainers; [ OPNA2608 ];
+    mainProgram = "milkytracker";
   };
 })
diff --git a/pkgs/applications/audio/mmlgui/default.nix b/pkgs/applications/audio/mmlgui/default.nix
index 98be95b3bf12..aab0acb25019 100644
--- a/pkgs/applications/audio/mmlgui/default.nix
+++ b/pkgs/applications/audio/mmlgui/default.nix
@@ -95,5 +95,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ OPNA2608 ];
     platforms = platforms.all;
+    mainProgram = "mmlgui";
   };
 }
diff --git a/pkgs/applications/audio/mmtc/default.nix b/pkgs/applications/audio/mmtc/default.nix
index ccbe14d76725..8227d12bbcb5 100644
--- a/pkgs/applications/audio/mmtc/default.nix
+++ b/pkgs/applications/audio/mmtc/default.nix
@@ -28,5 +28,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/figsoda/mmtc/blob/v${version}/CHANGELOG.md";
     license = licenses.mpl20;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "mmtc";
   };
 }
diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix
index ddd868c71ce7..6e408a5d12b5 100644
--- a/pkgs/applications/audio/moc/default.nix
+++ b/pkgs/applications/audio/moc/default.nix
@@ -96,5 +96,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ aethelz pSub jagajaga ];
     platforms = platforms.unix;
+    mainProgram = "mocp";
   };
 }
diff --git a/pkgs/applications/audio/mopidy/muse.nix b/pkgs/applications/audio/mopidy/muse.nix
index 0b6c1f83dd0b..1de73bc2ae88 100644
--- a/pkgs/applications/audio/mopidy/muse.nix
+++ b/pkgs/applications/audio/mopidy/muse.nix
@@ -2,12 +2,12 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy-muse";
-  version = "0.0.27";
+  version = "0.0.30";
 
   src = fetchPypi {
     inherit version;
     pname = "Mopidy-Muse";
-    sha256 = "0jx9dkgxr07avzz9zskzhqy98zsxkdrf7iid2ax5vygwf8qsx8ks";
+    sha256 = "sha256-uFptv2niq8LVvEmMEteEN+RzghDiPC7z5EsAmxifDmw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/audio/mp3gain/default.nix b/pkgs/applications/audio/mp3gain/default.nix
index a0e6a0527f7d..a59f2e376db0 100644
--- a/pkgs/applications/audio/mp3gain/default.nix
+++ b/pkgs/applications/audio/mp3gain/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;
     platforms = platforms.unix;
     maintainers = with maintainers; [ devhell ];
+    mainProgram = "mp3gain";
   };
 }
diff --git a/pkgs/applications/audio/mp3val/default.nix b/pkgs/applications/audio/mp3val/default.nix
index 559f04f919f1..daa03617824b 100644
--- a/pkgs/applications/audio/mp3val/default.nix
+++ b/pkgs/applications/audio/mp3val/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.devhell ];
+    mainProgram = "mp3val";
   };
 }
diff --git a/pkgs/applications/audio/museeks/default.nix b/pkgs/applications/audio/museeks/default.nix
index 2db7b9e46df4..206fee9de709 100644
--- a/pkgs/applications/audio/museeks/default.nix
+++ b/pkgs/applications/audio/museeks/default.nix
@@ -34,5 +34,6 @@ appimageTools.wrapType2 {
     license = licenses.mit;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ zendo ];
+    mainProgram = "museeks";
   };
 }
diff --git a/pkgs/applications/audio/music-player/default.nix b/pkgs/applications/audio/music-player/default.nix
index e44963090a1f..b28785d9368b 100644
--- a/pkgs/applications/audio/music-player/default.nix
+++ b/pkgs/applications/audio/music-player/default.nix
@@ -40,5 +40,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/tsirysndr/music-player/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = [ maintainers.marsam ];
+    mainProgram = "music-player";
   };
 }
diff --git a/pkgs/applications/audio/musly/default.nix b/pkgs/applications/audio/musly/default.nix
index 1ae6624637a1..43c5fc3365d1 100644
--- a/pkgs/applications/audio/musly/default.nix
+++ b/pkgs/applications/audio/musly/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation {
     license = licenses.mpl20;
     maintainers = with maintainers; [ ggpeti ];
     platforms = with platforms; darwin ++ linux;
+    mainProgram = "musly";
   };
 }
diff --git a/pkgs/applications/audio/mympd/default.nix b/pkgs/applications/audio/mympd/default.nix
index 46f027f9996e..e2bdcad5100b 100644
--- a/pkgs/applications/audio/mympd/default.nix
+++ b/pkgs/applications/audio/mympd/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "mympd";
-  version = "14.0.2";
+  version = "14.0.3";
 
   src = fetchFromGitHub {
     owner = "jcorporation";
     repo = "myMPD";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-tyNX/bPKg4aWDnSrzymdcz5ZbTlyowuoizm6kQngHj8=";
+    sha256 = "sha256-lVGQc33bntvvMMNn8DCYwWGbbRGYvDi6Gxs41t3uLXs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index 7459becc08d0..db76f3777224 100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license     = licenses.gpl2Plus;
     platforms   = platforms.all;
     maintainers = with maintainers; [ fpletz ];
+    mainProgram = "ncmpc";
   };
 }
diff --git a/pkgs/applications/audio/ncpamixer/default.nix b/pkgs/applications/audio/ncpamixer/default.nix
index b503f5308b82..d33024c0dfbe 100644
--- a/pkgs/applications/audio/ncpamixer/default.nix
+++ b/pkgs/applications/audio/ncpamixer/default.nix
@@ -39,5 +39,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = teams.c3d2.members;
+    mainProgram = "ncpamixer";
   };
 }
diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix
index 553e50f16654..1135404a43ea 100644
--- a/pkgs/applications/audio/ncspot/default.nix
+++ b/pkgs/applications/audio/ncspot/default.nix
@@ -59,5 +59,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/hrkfdn/ncspot/releases/tag/v${version}";
     license = licenses.bsd2;
     maintainers = [ maintainers.marsam ];
+    mainProgram = "ncspot";
   };
 }
diff --git a/pkgs/applications/audio/ninjas2/default.nix b/pkgs/applications/audio/ninjas2/default.nix
index 8fa5bed30661..8a2cc317c137 100644
--- a/pkgs/applications/audio/ninjas2/default.nix
+++ b/pkgs/applications/audio/ninjas2/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ gpl3 ];
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "ninjas2";
   };
 }
diff --git a/pkgs/applications/audio/noson/default.nix b/pkgs/applications/audio/noson/default.nix
index b8d29af7abdf..6c83bdbd83db 100644
--- a/pkgs/applications/audio/noson/default.nix
+++ b/pkgs/applications/audio/noson/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "noson";
-  version = "5.6.3";
+  version = "5.6.5";
 
   src = fetchFromGitHub {
     owner = "janbar";
     repo = "noson-app";
     rev = finalAttrs.version;
-    hash = "sha256-Yv5p9yAEhJHm9ZDZlR76z10oGBNpdifR7ITXcAHIb54=";
+    hash = "sha256-UAhaTfj2lCBmHoVEK5IvJfJ9d1OSuZZ+3f5HaTx8hhA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/odin2/default.nix b/pkgs/applications/audio/odin2/default.nix
index de89f9aedead..a6254d8c77e8 100644
--- a/pkgs/applications/audio/odin2/default.nix
+++ b/pkgs/applications/audio/odin2/default.nix
@@ -82,5 +82,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ magnetophon ];
+    mainProgram = "Odin2";
   };
 }
diff --git a/pkgs/applications/audio/open-stage-control/default.nix b/pkgs/applications/audio/open-stage-control/default.nix
index 0e2650b67b2f..2d446174fb11 100644
--- a/pkgs/applications/audio/open-stage-control/default.nix
+++ b/pkgs/applications/audio/open-stage-control/default.nix
@@ -90,5 +90,6 @@ buildNpmPackage rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ lilyinstarlight ];
     platforms = platforms.linux;
+    mainProgram = "open-stage-control";
   };
 }
diff --git a/pkgs/applications/audio/openutau/default.nix b/pkgs/applications/audio/openutau/default.nix
index ca9dd2f550da..17105558f2d2 100644
--- a/pkgs/applications/audio/openutau/default.nix
+++ b/pkgs/applications/audio/openutau/default.nix
@@ -85,5 +85,6 @@ buildDotnetModule rec {
     ];
     maintainers = with maintainers; [ lilyinstarlight ];
     platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    mainProgram = "OpenUtau";
   };
 }
diff --git a/pkgs/applications/audio/opustags/default.nix b/pkgs/applications/audio/opustags/default.nix
index 56ef66642801..314d475a04ed 100644
--- a/pkgs/applications/audio/opustags/default.nix
+++ b/pkgs/applications/audio/opustags/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     broken = stdenv.isDarwin;
     maintainers = with maintainers; [ kmein ];
     license = licenses.bsd3;
+    mainProgram = "opustags";
   };
 }
diff --git a/pkgs/applications/audio/pamix/default.nix b/pkgs/applications/audio/pamix/default.nix
index 4a2ad9ab779e..fb1d0bfb3d41 100644
--- a/pkgs/applications/audio/pamix/default.nix
+++ b/pkgs/applications/audio/pamix/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license     = licenses.mit;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ ericsagnes ];
+    mainProgram = "pamix";
   };
 }
diff --git a/pkgs/applications/audio/patchage/default.nix b/pkgs/applications/audio/patchage/default.nix
index 99bbdf693a9c..c4d1b5ca12c8 100644
--- a/pkgs/applications/audio/patchage/default.nix
+++ b/pkgs/applications/audio/patchage/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.lgpl3;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.nico202 ];
+    mainProgram = "patchage";
   };
 }
diff --git a/pkgs/applications/audio/paulstretch/default.nix b/pkgs/applications/audio/paulstretch/default.nix
index d85b543baed4..c539521f1167 100644
--- a/pkgs/applications/audio/paulstretch/default.nix
+++ b/pkgs/applications/audio/paulstretch/default.nix
@@ -56,5 +56,6 @@ stdenv.mkDerivation {
     homepage = "https://hypermammut.sourceforge.net/paulstretch/";
     platforms = platforms.linux;
     license = licenses.gpl2;
+    mainProgram = "paulstretch";
   };
 }
diff --git a/pkgs/applications/audio/pbpctrl/default.nix b/pkgs/applications/audio/pbpctrl/default.nix
index 0a258b0cb9c1..1cb18d831823 100644
--- a/pkgs/applications/audio/pbpctrl/default.nix
+++ b/pkgs/applications/audio/pbpctrl/default.nix
@@ -28,5 +28,6 @@ rustPlatform.buildRustPackage rec {
     license = with licenses; [ asl20 mit ];
     maintainers = [ maintainers.vanilla ];
     platforms = platforms.linux;
+    mainProgram = "pbpctrl";
   };
 }
diff --git a/pkgs/applications/audio/petrifoo/default.nix b/pkgs/applications/audio/petrifoo/default.nix
index 49ed6dfd9842..10a82bac6edb 100644
--- a/pkgs/applications/audio/petrifoo/default.nix
+++ b/pkgs/applications/audio/petrifoo/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation  rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.goibhniu ];
+    mainProgram = "petri-foo";
   };
 }
diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix
index 9949fce8b09c..3d2d6e1263b0 100644
--- a/pkgs/applications/audio/pianobar/default.nix
+++ b/pkgs/applications/audio/pianobar/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://6xq.net/pianobar/";
     platforms = platforms.unix;
     license = licenses.mit; # expat version
+    mainProgram = "pianobar";
   };
 }
diff --git a/pkgs/applications/audio/picoloop/default.nix b/pkgs/applications/audio/picoloop/default.nix
index e92319127d7d..74d2e305b74f 100644
--- a/pkgs/applications/audio/picoloop/default.nix
+++ b/pkgs/applications/audio/picoloop/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/yoyz/picoloop";
     platforms = platforms.linux;
     license = licenses.bsd3;
+    mainProgram = "picoloop";
   };
 }
diff --git a/pkgs/applications/audio/pmidi/default.nix b/pkgs/applications/audio/pmidi/default.nix
index 43f38ff84ed0..c8725fa9a36a 100644
--- a/pkgs/applications/audio/pmidi/default.nix
+++ b/pkgs/applications/audio/pmidi/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation {
     description = "A straightforward command line program to play midi files through the ALSA sequencer";
     maintainers = with maintainers; [ lheckemann ];
     license = licenses.gpl2;
+    mainProgram = "pmidi";
   };
 }
diff --git a/pkgs/applications/audio/pms/default.nix b/pkgs/applications/audio/pms/default.nix
index bb6d018efe4a..d8c7bffcb0f4 100644
--- a/pkgs/applications/audio/pms/default.nix
+++ b/pkgs/applications/audio/pms/default.nix
@@ -18,5 +18,6 @@ buildGoModule {
     homepage = "https://ambientsound.github.io/pms/";
     license = licenses.mit;
     maintainers = with maintainers; [ deejayem ];
+    mainProgram = "pms";
   };
 }
diff --git a/pkgs/applications/audio/proteus/default.nix b/pkgs/applications/audio/proteus/default.nix
index b536af040d78..ab2bdae4ef0f 100644
--- a/pkgs/applications/audio/proteus/default.nix
+++ b/pkgs/applications/audio/proteus/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ orivej ];
+    mainProgram = "Proteus";
   };
 }
diff --git a/pkgs/applications/audio/psst/default.nix b/pkgs/applications/audio/psst/default.nix
index 58d39e874720..b1c37bd01b56 100644
--- a/pkgs/applications/audio/psst/default.nix
+++ b/pkgs/applications/audio/psst/default.nix
@@ -68,5 +68,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/jpochyla/psst";
     license = licenses.mit;
     maintainers = with maintainers; [ vbrandl peterhoeg ];
+    mainProgram = "psst-gui";
   };
 }
diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix
index b8775bc23532..7e486f640c93 100644
--- a/pkgs/applications/audio/pt2-clone/default.nix
+++ b/pkgs/applications/audio/pt2-clone/default.nix
@@ -39,6 +39,7 @@ stdenv.mkDerivation rec {
     # From HOW-TO-COMPILE.txt:
     # > This code is NOT big-endian compatible
     platforms = platforms.littleEndian;
+    mainProgram = "pt2-clone";
   };
 }
 
diff --git a/pkgs/applications/audio/rhvoice/default.nix b/pkgs/applications/audio/rhvoice/default.nix
index af2ce6ae25ba..bf7791ca555a 100644
--- a/pkgs/applications/audio/rhvoice/default.nix
+++ b/pkgs/applications/audio/rhvoice/default.nix
@@ -51,5 +51,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3;
     maintainers = with lib.maintainers; [ berce ];
     platforms = with lib.platforms; all;
+    mainProgram = "RHVoice-test";
   };
 }
diff --git a/pkgs/applications/audio/roomeqwizard/default.nix b/pkgs/applications/audio/roomeqwizard/default.nix
index 80b5f733ce06..c54726d058d4 100644
--- a/pkgs/applications/audio/roomeqwizard/default.nix
+++ b/pkgs/applications/audio/roomeqwizard/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "roomeqwizard";
-  version = "5.30.8";
+  version = "5.30.9";
 
   src = fetchurl {
     url = "https://www.roomeqwizard.com/installers/REW_linux_no_jre_${lib.replaceStrings [ "." ] [ "_" ] version}.sh";
-    sha256 = "sha256-ZHxMwbT2SoWEIuBJEuuVhU26V4NAbJKqx3lawedIwYo=";
+    sha256 = "sha256-gyitOq/HTDruP4nY6B7y1E+pL43yRhldyiiXEjKyogU=";
   };
 
   dontUnpack = true;
@@ -114,5 +114,6 @@ stdenv.mkDerivation rec {
       REW is free software for room acoustic measurement, loudspeaker
       measurement and audio device measurement.
     '';
+    mainProgram = "roomeqwizard";
   };
 }
diff --git a/pkgs/applications/audio/schismtracker/default.nix b/pkgs/applications/audio/schismtracker/default.nix
index 68e9fcd7e190..46f6237ce322 100644
--- a/pkgs/applications/audio/schismtracker/default.nix
+++ b/pkgs/applications/audio/schismtracker/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ ftrvxmtrx ];
+    mainProgram = "schismtracker";
   };
 }
diff --git a/pkgs/applications/audio/seq24/default.nix b/pkgs/applications/audio/seq24/default.nix
index f586a1592f9c..f2858f8f291f 100644
--- a/pkgs/applications/audio/seq24/default.nix
+++ b/pkgs/applications/audio/seq24/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation  rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ goibhniu ];
+    mainProgram = "seq24";
   };
 }
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index 777b452792cc..52ce5c9b78bc 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = licenses.free;
     maintainers = with maintainers; [ ];
+    mainProgram = "snd";
   };
 }
diff --git a/pkgs/applications/audio/sndpeek/default.nix b/pkgs/applications/audio/sndpeek/default.nix
index 39f706d1f24c..c65208343aff 100644
--- a/pkgs/applications/audio/sndpeek/default.nix
+++ b/pkgs/applications/audio/sndpeek/default.nix
@@ -52,5 +52,6 @@ stdenv.mkDerivation rec {
     homepage = "https://soundlab.cs.princeton.edu/software/sndpeek/";
     license = licenses.gpl2;
     maintainers = [ maintainers.laikq ];
+    mainProgram = "sndpeek";
   };
 }
diff --git a/pkgs/applications/audio/songrec/default.nix b/pkgs/applications/audio/songrec/default.nix
index 6eacb605a70e..5493418ba1a2 100644
--- a/pkgs/applications/audio/songrec/default.nix
+++ b/pkgs/applications/audio/songrec/default.nix
@@ -44,5 +44,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ tcbravo ];
+    mainProgram = "songrec";
   };
 }
diff --git a/pkgs/applications/audio/sonixd/default.nix b/pkgs/applications/audio/sonixd/default.nix
index d13c398eabd8..87ceb7b25e0f 100644
--- a/pkgs/applications/audio/sonixd/default.nix
+++ b/pkgs/applications/audio/sonixd/default.nix
@@ -30,6 +30,7 @@ appimageTools.wrapType2 rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ onny ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "sonixd";
   };
 }
 
diff --git a/pkgs/applications/audio/sonobus/default.nix b/pkgs/applications/audio/sonobus/default.nix
index c99d3c4ca1e5..959c7a9d0623 100644
--- a/pkgs/applications/audio/sonobus/default.nix
+++ b/pkgs/applications/audio/sonobus/default.nix
@@ -82,5 +82,6 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = with maintainers; [ PowerUser64 ];
     platforms = platforms.unix;
     broken = stdenv.isDarwin;
+    mainProgram = "sonobus";
   };
 })
diff --git a/pkgs/applications/audio/sony-headphones-client/default.nix b/pkgs/applications/audio/sony-headphones-client/default.nix
index b39f7272643f..24cae82f1b02 100644
--- a/pkgs/applications/audio/sony-headphones-client/default.nix
+++ b/pkgs/applications/audio/sony-headphones-client/default.nix
@@ -57,5 +57,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ stunkymonkey ];
     platforms = platforms.linux;
+    mainProgram = "SonyHeadphonesClient";
   };
 }
diff --git a/pkgs/applications/audio/spectrojack/default.nix b/pkgs/applications/audio/spectrojack/default.nix
index 12bb972398e2..54cb7101e6e8 100644
--- a/pkgs/applications/audio/spectrojack/default.nix
+++ b/pkgs/applications/audio/spectrojack/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.publicDomain;
     maintainers = with lib.maintainers; [ sleexyz ];
     platforms = with lib.platforms; linux;
+    mainProgram = "spectrojack";
   };
 }
diff --git a/pkgs/applications/audio/spotifyd/default.nix b/pkgs/applications/audio/spotifyd/default.nix
index d0a77ab06497..0e41bedb2650 100644
--- a/pkgs/applications/audio/spotifyd/default.nix
+++ b/pkgs/applications/audio/spotifyd/default.nix
@@ -44,5 +44,6 @@ rustPackages.rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ anderslundstedt Br1ght0ne marsam ];
     platforms = platforms.unix;
+    mainProgram = "spotifyd";
   };
 }
diff --git a/pkgs/applications/audio/sptlrx/default.nix b/pkgs/applications/audio/sptlrx/default.nix
index 6743407fa3ed..b385898202c2 100644
--- a/pkgs/applications/audio/sptlrx/default.nix
+++ b/pkgs/applications/audio/sptlrx/default.nix
@@ -29,5 +29,6 @@ buildGoModule rec {
     changelog = "https://github.com/raitonoberu/sptlrx/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ MoritzBoehme ];
+    mainProgram = "sptlrx";
   };
 }
diff --git a/pkgs/applications/audio/squishyball/default.nix b/pkgs/applications/audio/squishyball/default.nix
index 1d3bb0e0beeb..af8eb9b37314 100644
--- a/pkgs/applications/audio/squishyball/default.nix
+++ b/pkgs/applications/audio/squishyball/default.nix
@@ -56,5 +56,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ michalrus ];
     platforms = platforms.linux;
+    mainProgram = "squishyball";
   };
 }
diff --git a/pkgs/applications/audio/stochas/default.nix b/pkgs/applications/audio/stochas/default.nix
index 2b72664347e6..4f7ff6b6b5b4 100644
--- a/pkgs/applications/audio/stochas/default.nix
+++ b/pkgs/applications/audio/stochas/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stochas";
-  version = "1.3.9";
+  version = "1.3.10";
 
   src = fetchFromGitHub {
     owner = "surge-synthesizer";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AnYViWterLBsTtd0wohff1CEwrSYA4CvOLGhJnPFUt8=";
+    sha256 = "sha256-L7dzUUQNCwcuQavUx9hBH0FX5KSocfeYUv5qBcPD2Vg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/streamripper/default.nix b/pkgs/applications/audio/streamripper/default.nix
index 70ff4dd8605a..6874d2f42059 100644
--- a/pkgs/applications/audio/streamripper/default.nix
+++ b/pkgs/applications/audio/streamripper/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     homepage = "https://streamripper.sourceforge.net/";
     description = "Application that lets you record streaming mp3 to your hard drive";
     license = licenses.gpl2;
+    mainProgram = "streamripper";
   };
 }
diff --git a/pkgs/applications/audio/subtitlr/default.nix b/pkgs/applications/audio/subtitlr/default.nix
index a62cd3053f7c..67847f3b91b0 100644
--- a/pkgs/applications/audio/subtitlr/default.nix
+++ b/pkgs/applications/audio/subtitlr/default.nix
@@ -31,5 +31,6 @@ buildGoModule rec {
     homepage = "https://github.com/yoanbernabeu/Subtitlr/";
     license = licenses.mit;
     maintainers = with maintainers; [ qjoly ];
+    mainProgram = "Subtitlr";
   };
 }
diff --git a/pkgs/applications/audio/svox/default.nix b/pkgs/applications/audio/svox/default.nix
index 044fd176481f..acd1de1a20c9 100644
--- a/pkgs/applications/audio/svox/default.nix
+++ b/pkgs/applications/audio/svox/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation {
     platforms = platforms.linux;
     license = licenses.asl20;
     maintainers = with maintainers; [ abbradar ];
+    mainProgram = "pico2wave";
   };
 }
diff --git a/pkgs/applications/audio/synaesthesia/default.nix b/pkgs/applications/audio/synaesthesia/default.nix
index efdd6f7e73a7..765e724cd8ec 100644
--- a/pkgs/applications/audio/synaesthesia/default.nix
+++ b/pkgs/applications/audio/synaesthesia/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Only;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.infinisil ];
+    mainProgram = "synaesthesia";
   };
 }
diff --git a/pkgs/applications/audio/tagutil/default.nix b/pkgs/applications/audio/tagutil/default.nix
index 9cd9946be60d..51aaf75cddbc 100644
--- a/pkgs/applications/audio/tagutil/default.nix
+++ b/pkgs/applications/audio/tagutil/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ dan4ik605743 ];
     platforms = platforms.linux;
+    mainProgram = "tagutil";
   };
 }
diff --git a/pkgs/applications/audio/timemachine/default.nix b/pkgs/applications/audio/timemachine/default.nix
index 042e6b430756..c09a9b1bc007 100644
--- a/pkgs/applications/audio/timemachine/default.nix
+++ b/pkgs/applications/audio/timemachine/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.lgpl2;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.nico202 ];
+    mainProgram = "timemachine";
   };
 }
 
diff --git a/pkgs/applications/audio/tone/default.nix b/pkgs/applications/audio/tone/default.nix
index 06529a4b02e4..dc10439ab0fc 100644
--- a/pkgs/applications/audio/tone/default.nix
+++ b/pkgs/applications/audio/tone/default.nix
@@ -28,5 +28,6 @@ buildDotnetModule rec {
     license = licenses.asl20;
     maintainers = [ maintainers.jvanbruegge ];
     platforms = platforms.linux;
+    mainProgram = "tone";
   };
 }
diff --git a/pkgs/applications/audio/tonelib-gfx/default.nix b/pkgs/applications/audio/tonelib-gfx/default.nix
index e875b8085534..260ebd40872e 100644
--- a/pkgs/applications/audio/tonelib-gfx/default.nix
+++ b/pkgs/applications/audio/tonelib-gfx/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ dan4ik605743 orivej ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ToneLib-GFX";
   };
 }
diff --git a/pkgs/applications/audio/tonelib-jam/default.nix b/pkgs/applications/audio/tonelib-jam/default.nix
index 3376ae8ca10f..289f8b92a189 100644
--- a/pkgs/applications/audio/tonelib-jam/default.nix
+++ b/pkgs/applications/audio/tonelib-jam/default.nix
@@ -58,5 +58,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ dan4ik605743 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ToneLib-Jam";
   };
 }
diff --git a/pkgs/applications/audio/tonelib-metal/default.nix b/pkgs/applications/audio/tonelib-metal/default.nix
index df6890d65da3..aee3c383ae68 100644
--- a/pkgs/applications/audio/tonelib-metal/default.nix
+++ b/pkgs/applications/audio/tonelib-metal/default.nix
@@ -57,5 +57,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ dan4ik605743 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ToneLib-Metal";
   };
 }
diff --git a/pkgs/applications/audio/tonelib-noisereducer/default.nix b/pkgs/applications/audio/tonelib-noisereducer/default.nix
index 20dbe8c19dff..f2f01b9326bc 100644
--- a/pkgs/applications/audio/tonelib-noisereducer/default.nix
+++ b/pkgs/applications/audio/tonelib-noisereducer/default.nix
@@ -56,5 +56,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ orivej ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ToneLib-NoiseReducer";
   };
 }
diff --git a/pkgs/applications/audio/tonelib-zoom/default.nix b/pkgs/applications/audio/tonelib-zoom/default.nix
index 74fe8645acf3..e5adc356b697 100644
--- a/pkgs/applications/audio/tonelib-zoom/default.nix
+++ b/pkgs/applications/audio/tonelib-zoom/default.nix
@@ -60,5 +60,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ dan4ik605743 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ToneLib-Zoom";
   };
 }
diff --git a/pkgs/applications/audio/transcribe/default.nix b/pkgs/applications/audio/transcribe/default.nix
index 2831dd1f4baf..0d311adf8799 100644
--- a/pkgs/applications/audio/transcribe/default.nix
+++ b/pkgs/applications/audio/transcribe/default.nix
@@ -110,5 +110,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ iwanb ];
     platforms = platforms.linux;
+    mainProgram = "transcribe";
   };
 }
diff --git a/pkgs/applications/audio/tree-from-tags/default.nix b/pkgs/applications/audio/tree-from-tags/default.nix
index 4bf4db09ac07..9b81cc250c1b 100644
--- a/pkgs/applications/audio/tree-from-tags/default.nix
+++ b/pkgs/applications/audio/tree-from-tags/default.nix
@@ -34,5 +34,6 @@ EOF
     platforms = ruby.meta.platforms;
     maintainers = [ maintainers.livnev maintainers.dbrock ];
     license = licenses.gpl2Plus;
+    mainProgram = "tree-from-tags";
   };
 }
diff --git a/pkgs/applications/audio/vimpc/default.nix b/pkgs/applications/audio/vimpc/default.nix
index 7e834efb9524..713f444ef1ea 100644
--- a/pkgs/applications/audio/vimpc/default.nix
+++ b/pkgs/applications/audio/vimpc/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ pSub ];
+    mainProgram = "vimpc";
   };
 }
diff --git a/pkgs/applications/audio/wavegain/default.nix b/pkgs/applications/audio/wavegain/default.nix
index 4372944080ec..93dd7bf6fb23 100644
--- a/pkgs/applications/audio/wavegain/default.nix
+++ b/pkgs/applications/audio/wavegain/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation {
     license = lib.licenses.lgpl21;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.robbinch ];
+    mainProgram = "wavegain";
   };
 }
diff --git a/pkgs/applications/audio/waylyrics/Cargo.lock b/pkgs/applications/audio/waylyrics/Cargo.lock
new file mode 100644
index 000000000000..57d6ffa347c5
--- /dev/null
+++ b/pkgs/applications/audio/waylyrics/Cargo.lock
@@ -0,0 +1,2946 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ahash"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+
+[[package]]
+name = "async-channel"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
+dependencies = [
+ "concurrent-queue",
+ "event-listener",
+ "event-listener-strategy",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-trait"
+version = "0.1.77"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "backtrace"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "base-x"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270"
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "base64"
+version = "0.21.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "borsh"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf617fabf5cdbdc92f774bfe5062d870f228b80056d41180797abf48bed4056e"
+dependencies = [
+ "borsh-derive",
+ "cfg_aliases",
+]
+
+[[package]]
+name = "borsh-derive"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f404657a7ea7b5249e36808dff544bc88a28f26e0ac40009f674b7a009d14be3"
+dependencies = [
+ "once_cell",
+ "proc-macro-crate 2.0.0",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+ "syn_derive",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+
+[[package]]
+name = "bytecheck"
+version = "0.6.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627"
+dependencies = [
+ "bytecheck_derive",
+ "ptr_meta",
+ "simdutf8",
+]
+
+[[package]]
+name = "bytecheck_derive"
+version = "0.6.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "cairo-rs"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2650f66005301bd33cc486dec076e1293c4cecf768bc7ba9bf5d2b1be339b99c"
+dependencies = [
+ "bitflags 2.4.0",
+ "cairo-sys-rs",
+ "glib",
+ "libc",
+ "thiserror",
+]
+
+[[package]]
+name = "cairo-sys-rs"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd3bb3119664efbd78b5e6c93957447944f16bdbced84c17a9f41c7829b81e64"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "cfg-expr"
+version = "0.15.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3"
+dependencies = [
+ "smallvec",
+ "target-lexicon",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[package]]
+name = "concurrent-queue"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "const_fn"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935"
+
+[[package]]
+name = "cookie"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc6e25dfc584d06a3dbf775d207ff00d7de98d824c952dd2233dfbb261889a42"
+dependencies = [
+ "time 0.2.27",
+ "version_check",
+]
+
+[[package]]
+name = "cookie"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
+dependencies = [
+ "percent-encoding",
+ "time 0.3.29",
+ "version_check",
+]
+
+[[package]]
+name = "cookie_store"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d606d0fba62e13cf04db20536c05cb7f13673c161cb47a47a82b9b9e7d3f1daa"
+dependencies = [
+ "cookie 0.16.2",
+ "idna 0.2.3",
+ "log",
+ "publicsuffix",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "time 0.3.29",
+ "url",
+]
+
+[[package]]
+name = "core-foundation"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "darling"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
+dependencies = [
+ "darling_core",
+ "darling_macro",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote 1.0.35",
+ "strsim",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
+dependencies = [
+ "darling_core",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "dbus"
+version = "0.9.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b"
+dependencies = [
+ "libc",
+ "libdbus-sys",
+ "winapi",
+]
+
+[[package]]
+name = "dbus-dummy"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22d24c4c449e488b022f58a19817ffcedc637d67237076068da883e0fc8f7159"
+
+[[package]]
+name = "deranged"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+
+[[package]]
+name = "derivative"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "derive_is_enum_variant"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d0ac8859845146979953797f03cc5b282fb4396891807cdb3d04929a88418197"
+dependencies = [
+ "heck 0.3.3",
+ "quote 0.3.15",
+ "syn 0.11.11",
+]
+
+[[package]]
+name = "discard"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "enum-kinds"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e40a16955681d469ab3da85aaa6b42ff656b3c67b52e1d8d3dd36afe97fd462"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "event-listener"
+version = "5.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
+dependencies = [
+ "event-listener",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "field-offset"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f"
+dependencies = [
+ "memoffset",
+ "rustc_version 0.4.0",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "foreign-types"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+dependencies = [
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "from_variants"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e859c8f2057687618905dbe99fc76e836e0a69738865ef90e46fc214a41bbf2"
+dependencies = [
+ "from_variants_impl",
+]
+
+[[package]]
+name = "from_variants_impl"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55a5e644a80e6d96b2b4910fa7993301d7b7926c045b475b62202b20a36ce69e"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "futures-channel"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+dependencies = [
+ "futures-core",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+
+[[package]]
+name = "futures-task"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+
+[[package]]
+name = "futures-util"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+dependencies = [
+ "futures-core",
+ "futures-macro",
+ "futures-task",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "gdk-pixbuf"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6a23f8a0b5090494fd04924662d463f8386cc678dd3915015a838c1a3679b92"
+dependencies = [
+ "gdk-pixbuf-sys",
+ "gio",
+ "glib",
+ "libc",
+]
+
+[[package]]
+name = "gdk-pixbuf-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dcbd04c1b2c4834cc008b4828bc917d062483b88d26effde6342e5622028f96"
+dependencies = [
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "gdk4"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6771942f85a2beaa220c64739395e4401b9fab4a52aba9b503fa1e6ed4d4d806"
+dependencies = [
+ "cairo-rs",
+ "gdk-pixbuf",
+ "gdk4-sys",
+ "gio",
+ "glib",
+ "libc",
+ "pango",
+]
+
+[[package]]
+name = "gdk4-sys"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1eb95854fab65072023a7814434f003db571d6e45c287c0b0c540c1c78bdf6ae"
+dependencies = [
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "pango-sys",
+ "pkg-config",
+ "system-deps",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gimli"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+
+[[package]]
+name = "gio"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eae10b27b6dd27e22ed0d812c6387deba295e6fc004a8b379e459b663b05a02"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-util",
+ "gio-sys",
+ "glib",
+ "libc",
+ "pin-project-lite",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gio-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcf8e1d9219bb294636753d307b030c1e8a032062cba74f493c431a5c8b81ce4"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "glib"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab9e86540b5d8402e905ad4ce7d6aa544092131ab564f3102175af176b90a053"
+dependencies = [
+ "bitflags 2.4.0",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-task",
+ "futures-util",
+ "gio-sys",
+ "glib-macros",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "memchr",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "glib-macros"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f5897ca27a83e4cdc7b4666850bade0a2e73e17689aabafcc9acddad9d823b8"
+dependencies = [
+ "heck 0.4.1",
+ "proc-macro-crate 3.1.0",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "glib-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "630f097773d7c7a0bb3258df4e8157b47dc98bbfa0e60ad9ab56174813feced4"
+dependencies = [
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "gobject-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c85e2b1080b9418dd0c58b498da3a5c826030343e0ef07bde6a955d28de54979"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "graphene-rs"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99e4d388e96c5f29e2b2f67045d229ddf826d0a8d6d282f94ed3b34452222c91"
+dependencies = [
+ "glib",
+ "graphene-sys",
+ "libc",
+]
+
+[[package]]
+name = "graphene-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "236ed66cc9b18d8adf233716f75de803d0bf6fc806f60d14d948974a12e240d0"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "pkg-config",
+ "system-deps",
+]
+
+[[package]]
+name = "gsk4"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e8ce8dee0fd87a11002214b1204ff18c9272fbd530408f0884a0f9b25dc31de"
+dependencies = [
+ "cairo-rs",
+ "gdk4",
+ "glib",
+ "graphene-rs",
+ "gsk4-sys",
+ "libc",
+ "pango",
+]
+
+[[package]]
+name = "gsk4-sys"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2660a652da5b662d43924df19ba40d73f015ed427329ef51d2b1360a4e0dc0e4"
+dependencies = [
+ "cairo-sys-rs",
+ "gdk4-sys",
+ "glib-sys",
+ "gobject-sys",
+ "graphene-sys",
+ "libc",
+ "pango-sys",
+ "system-deps",
+]
+
+[[package]]
+name = "gtk4"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d26ffa3ec6316ccaa1df62d3e7f5bae1637c0acbb43f250fabef38319f73c64"
+dependencies = [
+ "cairo-rs",
+ "field-offset",
+ "futures-channel",
+ "gdk-pixbuf",
+ "gdk4",
+ "gio",
+ "glib",
+ "graphene-rs",
+ "gsk4",
+ "gtk4-macros",
+ "gtk4-sys",
+ "libc",
+ "pango",
+]
+
+[[package]]
+name = "gtk4-macros"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8b86439e9896f6f3f47c3d8077c5c8205174078760afdabd9098a8e9e937d97"
+dependencies = [
+ "anyhow",
+ "proc-macro-crate 3.1.0",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "gtk4-sys"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2abc0a6d356d59a3806021829ce6ed3e70bba3509b41a535fedcb09fae13fbc0"
+dependencies = [
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gdk4-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "graphene-sys",
+ "gsk4-sys",
+ "libc",
+ "pango-sys",
+ "system-deps",
+]
+
+[[package]]
+name = "h2"
+version = "0.3.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12"
+
+[[package]]
+name = "heck"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "http"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-body"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+dependencies = [
+ "bytes",
+ "http",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
+
+[[package]]
+name = "hyper"
+version = "0.14.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2 0.4.9",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[package]]
+name = "hyper-tls"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
+dependencies = [
+ "bytes",
+ "hyper",
+ "native-tls",
+ "tokio",
+ "tokio-native-tls",
+]
+
+[[package]]
+name = "ident_case"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+
+[[package]]
+name = "idna"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+dependencies = [
+ "matches",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.1",
+]
+
+[[package]]
+name = "ipnet"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
+
+[[package]]
+name = "itoa"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+
+[[package]]
+name = "js-sys"
+version = "0.3.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "libdbus-sys"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72"
+dependencies = [
+ "cc",
+ "pkg-config",
+]
+
+[[package]]
+name = "libmimalloc-sys"
+version = "0.1.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3979b5c37ece694f1f5e51e7ecc871fdb0f517ed04ee45f88d15d6d553cb9664"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+
+[[package]]
+name = "lock_api"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "lrc-nom"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7b624e31b9613023e400fb5dd998facc31b593e90c8115d67d561d9bd6a671"
+dependencies = [
+ "nom",
+ "rust_decimal",
+ "rust_decimal_macros",
+ "thiserror",
+]
+
+[[package]]
+name = "matchers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+dependencies = [
+ "regex-automata 0.1.10",
+]
+
+[[package]]
+name = "matches"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
+
+[[package]]
+name = "md5"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "memory-cache-rs"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a4098b4f50a8fe57ad06b9a125812c9b1e04b3f226f29642b7219e75ba33b1d"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "mimalloc"
+version = "0.1.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa01922b5ea280a911e323e4d2fd24b7fe5cc4042e0d2cda3c40775cdc4bdc9c"
+dependencies = [
+ "libmimalloc-sys",
+]
+
+[[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
+dependencies = [
+ "libc",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "mpris"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55cef955a7826b1e00e901a3652e7a895abd221fb4ab61547e7d0e4c235d7feb"
+dependencies = [
+ "dbus",
+ "derive_is_enum_variant",
+ "enum-kinds",
+ "from_variants",
+ "thiserror",
+]
+
+[[package]]
+name = "native-tls"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
+dependencies = [
+ "lazy_static",
+ "libc",
+ "log",
+ "openssl",
+ "openssl-probe",
+ "openssl-sys",
+ "schannel",
+ "security-framework",
+ "security-framework-sys",
+ "tempfile",
+]
+
+[[package]]
+name = "ncmapi"
+version = "0.1.13"
+source = "git+https://github.com/waylyrics/ncmapi-rs.git?rev=394e9c2#394e9c2e3b9669728018c3b1348c08a056361b81"
+dependencies = [
+ "base64 0.13.1",
+ "cookie 0.15.2",
+ "hex",
+ "memory-cache-rs",
+ "openssl",
+ "phf",
+ "rand",
+ "regex",
+ "reqwest",
+ "serde",
+ "serde_json",
+ "serde_repr",
+ "thiserror",
+ "tokio",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "object"
+version = "0.32.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "openssl"
+version = "0.10.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800"
+dependencies = [
+ "bitflags 2.4.0",
+ "cfg-if",
+ "foreign-types",
+ "libc",
+ "once_cell",
+ "openssl-macros",
+ "openssl-sys",
+]
+
+[[package]]
+name = "openssl-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "openssl-src"
+version = "300.2.2+3.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bbfad0063610ac26ee79f7484739e2b07555a75c42453b89263830b5c8103bc"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.96"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f"
+dependencies = [
+ "cc",
+ "libc",
+ "openssl-src",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "pango"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7809e8af4df8d024a066106b72ca6bc7253a484ae3867041a96103ef8a13188d"
+dependencies = [
+ "gio",
+ "glib",
+ "libc",
+ "pango-sys",
+]
+
+[[package]]
+name = "pango-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f52ef6a881c19fbfe3b1484df5cad411acaaba29dbec843941c3110d19f340ea"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "parking"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "phf"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ac8b67553a7ca9457ce0e526948cad581819238f4a9d1ea74545851fa24f37"
+dependencies = [
+ "phf_macros",
+ "phf_shared",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d43f3220d96e0080cc9ea234978ccd80d904eafb17be31bb0f76daaea6493082"
+dependencies = [
+ "phf_shared",
+ "rand",
+]
+
+[[package]]
+name = "phf_macros"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b706f5936eb50ed880ae3009395b43ed19db5bff2ebd459c95e7bf013a89ab86"
+dependencies = [
+ "phf_generator",
+ "phf_shared",
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a68318426de33640f02be62b4ae8eb1261be2efbc337b60c54d845bf4484e0d9"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro-crate"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8"
+dependencies = [
+ "toml_edit 0.20.2",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
+dependencies = [
+ "toml_edit 0.21.1",
+]
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-hack"
+version = "0.5.20+deprecated"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.76"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "psl-types"
+version = "2.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac"
+
+[[package]]
+name = "ptr_meta"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
+dependencies = [
+ "ptr_meta_derive",
+]
+
+[[package]]
+name = "ptr_meta_derive"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "publicsuffix"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457"
+dependencies = [
+ "idna 0.3.0",
+ "psl-types",
+]
+
+[[package]]
+name = "qqmusic-rs"
+version = "0.1.0"
+source = "git+https://github.com/waylyrics/qqmusic-rs.git?rev=22e66ba#22e66ba62e63d97c6dffb45400655404e6f06b93"
+dependencies = [
+ "serde",
+ "serde_json",
+ "url",
+]
+
+[[package]]
+name = "quote"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata 0.4.5",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+dependencies = [
+ "regex-syntax 0.6.29",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "rend"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd"
+dependencies = [
+ "bytecheck",
+]
+
+[[package]]
+name = "reqwest"
+version = "0.11.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41"
+dependencies = [
+ "base64 0.21.4",
+ "bytes",
+ "cookie 0.16.2",
+ "cookie_store",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-tls",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "native-tls",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "system-configuration",
+ "tokio",
+ "tokio-native-tls",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "winreg",
+]
+
+[[package]]
+name = "rkyv"
+version = "0.7.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58"
+dependencies = [
+ "bitvec",
+ "bytecheck",
+ "hashbrown 0.12.3",
+ "ptr_meta",
+ "rend",
+ "rkyv_derive",
+ "seahash",
+ "tinyvec",
+ "uuid",
+]
+
+[[package]]
+name = "rkyv_derive"
+version = "0.7.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "rust_decimal"
+version = "1.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d7de2711cae7bdec993f4d2319352599ceb0d003e9f7900ea7c6ef4c5fc16831"
+dependencies = [
+ "arrayvec",
+ "borsh",
+ "bytes",
+ "num-traits",
+ "rand",
+ "rkyv",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "rust_decimal_macros"
+version = "1.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69deb21b04afa2c06038f75bbbb5670a320e62ee005d91a00cf13fbf20161886"
+dependencies = [
+ "quote 1.0.35",
+ "rust_decimal",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustc_version"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+dependencies = [
+ "semver 0.9.0",
+]
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver 1.0.20",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed"
+dependencies = [
+ "bitflags 2.4.0",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+
+[[package]]
+name = "schannel"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "seahash"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
+
+[[package]]
+name = "security-framework"
+version = "2.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "semver"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+dependencies = [
+ "semver-parser",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+
+[[package]]
+name = "semver-parser"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
+[[package]]
+name = "serde"
+version = "1.0.196"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.196"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.113"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_repr"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_urlencoded"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+dependencies = [
+ "form_urlencoded",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "sha1"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770"
+dependencies = [
+ "sha1_smol",
+]
+
+[[package]]
+name = "sha1_smol"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "simdutf8"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
+
+[[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "socket2"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "standback"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "stdweb"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"
+dependencies = [
+ "discard",
+ "rustc_version 0.2.3",
+ "stdweb-derive",
+ "stdweb-internal-macros",
+ "stdweb-internal-runtime",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "stdweb-derive"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "serde",
+ "serde_derive",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "stdweb-internal-macros"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"
+dependencies = [
+ "base-x",
+ "proc-macro2",
+ "quote 1.0.35",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "sha1",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "stdweb-internal-runtime"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "syn"
+version = "0.11.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
+dependencies = [
+ "quote 0.3.15",
+ "synom",
+ "unicode-xid",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn_derive"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "synom"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
+dependencies = [
+ "unicode-xid",
+]
+
+[[package]]
+name = "system-configuration"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "system-deps"
+version = "6.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94af52f9402f94aac4948a2518b43359be8d9ce6cd9efc1c4de3b2f7b7e897d6"
+dependencies = [
+ "cfg-expr",
+ "heck 0.4.1",
+ "pkg-config",
+ "toml",
+ "version-compare",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "target-lexicon"
+version = "0.12.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
+
+[[package]]
+name = "tempfile"
+version = "3.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "redox_syscall",
+ "rustix",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "time"
+version = "0.2.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242"
+dependencies = [
+ "const_fn",
+ "libc",
+ "standback",
+ "stdweb",
+ "time-macros 0.1.1",
+ "version_check",
+ "winapi",
+]
+
+[[package]]
+name = "time"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe"
+dependencies = [
+ "deranged",
+ "itoa",
+ "serde",
+ "time-core",
+ "time-macros 0.2.15",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1"
+dependencies = [
+ "proc-macro-hack",
+ "time-macros-impl",
+]
+
+[[package]]
+name = "time-macros"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+dependencies = [
+ "time-core",
+]
+
+[[package]]
+name = "time-macros-impl"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote 1.0.35",
+ "standback",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "tokio"
+version = "1.35.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "num_cpus",
+ "parking_lot",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2 0.5.5",
+ "tokio-macros",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "tokio-native-tls"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
+dependencies = [
+ "native-tls",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.20.2",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tower-service"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-journald"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba316a74e8fc3c3896a850dba2375928a9fa171b085ecddfc7c054d39970f3fd"
+dependencies = [
+ "libc",
+ "tracing-core",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
+dependencies = [
+ "log",
+ "once_cell",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
+dependencies = [
+ "matchers",
+ "nu-ansi-term",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+
+[[package]]
+name = "unicode-xid"
+version = "0.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
+
+[[package]]
+name = "url"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+dependencies = [
+ "form_urlencoded",
+ "idna 0.5.0",
+ "percent-encoding",
+]
+
+[[package]]
+name = "uuid"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
+
+[[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "want"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
+dependencies = [
+ "try-lock",
+]
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+dependencies = [
+ "quote 1.0.35",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+
+[[package]]
+name = "waylyrics"
+version = "0.2.4"
+dependencies = [
+ "anyhow",
+ "async-channel",
+ "async-trait",
+ "dbus",
+ "dbus-dummy",
+ "derivative",
+ "glib-macros",
+ "gtk4",
+ "libc",
+ "lrc-nom",
+ "md5",
+ "mimalloc",
+ "mpris",
+ "ncmapi",
+ "once_cell",
+ "openssl",
+ "qqmusic-rs",
+ "regex",
+ "reqwest",
+ "rust_decimal",
+ "rust_decimal_macros",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tokio",
+ "toml",
+ "tracing",
+ "tracing-journald",
+ "tracing-subscriber",
+ "url",
+ "xdg",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winnow"
+version = "0.5.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "037711d82167854aff2018dfd193aa0fef5370f456732f0d5a0c59b0f1b4b907"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winreg"
+version = "0.50.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "xdg"
+version = "2.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546"
diff --git a/pkgs/applications/audio/waylyrics/default.nix b/pkgs/applications/audio/waylyrics/default.nix
index bd55b9c76214..6cacebede392 100644
--- a/pkgs/applications/audio/waylyrics/default.nix
+++ b/pkgs/applications/audio/waylyrics/default.nix
@@ -1,59 +1,61 @@
-{ lib, fetchFromGitHub, rustPlatform, gtk4, pkg-config, openssl, dbus, wrapGAppsHook4, glib, makeDesktopItem, copyDesktopItems }:
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, wrapGAppsHook4
+, openssl
+, dbus
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "waylyrics";
-  version = "unstable-2023-05-14";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "poly000";
-    repo = pname;
-    rev = "7e8bd99e1748a5448c1a5c49f0664bd96fbf965e";
-    hash = "sha256-vSYtLsLvRHCCHxomPSHifXFZKjkFrlskNp7IlFflrUU=";
+    repo = "waylyrics";
+    rev = "v${version}";
+    hash = "sha256-Tpsk1KL+QSiv8aWl8N5hextKnhMulI3YWtQvB6IIdmQ=";
   };
 
-  cargoHash = "sha256-dpJa0T6xapCBPM5fWbSDEhBlZ55c3Sr5oTnu58B/voM=";
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "ncmapi-0.1.13" = "sha256-wh9RsyuS1L7rnz1jh2A27s6wUvyH8cNgUywPORIimmg=";
+      "qqmusic-rs-0.1.0" = "sha256-woLsO0n+m3EBUI+PRLio7iLp0UPQSliWK0djCSZEaZc=";
+    };
+  };
 
-  nativeBuildInputs = [ pkg-config wrapGAppsHook4 copyDesktopItems ];
-  buildInputs = [ gtk4 openssl dbus glib ];
+  postPatch = ''
+    cp ${./Cargo.lock} Cargo.lock
+  '';
 
-  RUSTC_BOOTSTRAP = 1;
+  nativeBuildInputs = [ pkg-config wrapGAppsHook4 ];
+  buildInputs = [ openssl dbus ];
 
-  doCheck = false; # No tests defined in the project.
+  doCheck = false; # Requires network access
 
-  WAYLYRICS_DEFAULT_CONFIG = "${placeholder "out"}/share/waylyrics/config.toml";
   WAYLYRICS_THEME_PRESETS_DIR = "${placeholder "out"}/share/waylyrics/themes";
 
-  desktopItems = [
-    (makeDesktopItem {
-      name = "io.poly000.waylyrics";
-      exec = "waylyrics";
-      comment = "Simple on screen lyrics for MPRIS-friendly players";
-      type = "Application";
-      icon = "io.poly000.waylyrics";
-      desktopName = "Waylyrics";
-      terminal = false;
-      categories = [ "Audio" "AudioVideo" ];
-    })
-  ];
-
   postInstall = ''
-    $out/bin/gen_config_example
-    mkdir -p $out/share/waylyrics
-    install -Dm644 config.toml $WAYLYRICS_DEFAULT_CONFIG
-    cp -vr themes $out/share/waylyrics/
-    rm $out/bin/gen_config_example # Unnecessary for end users
+    # Install themes
+    install -d $WAYLYRICS_THEME_PRESETS_DIR
+    cp -vr themes/* $WAYLYRICS_THEME_PRESETS_DIR
+    # Install desktop entry
+    install -Dm644 io.poly000.waylyrics.desktop -t $out/share/applications
     # Install schema
     install -Dm644 io.poly000.waylyrics.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas
     glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas/
     # Install icons
-    cp -vr res/icons $out/share/
+    install -d $out/share/icons
+    cp -vr res/icons/hicolor $out/share/icons/hicolor
   '';
 
   meta = with lib; {
-    description = "On screen lyrics for Wayland with NetEase Music source";
+    description = "Desktop lyrics with QQ and NetEase Music source";
     homepage = "https://github.com/poly000/waylyrics";
-    license = licenses.mit;
-    maintainers = [ maintainers.shadowrz ];
+    license = with licenses; [ mit cc-by-40 ];
+    maintainers = with maintainers; [ shadowrz aleksana ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/wolf-shaper/default.nix b/pkgs/applications/audio/wolf-shaper/default.nix
index 60b1aea19df2..a3c08e92b723 100644
--- a/pkgs/applications/audio/wolf-shaper/default.nix
+++ b/pkgs/applications/audio/wolf-shaper/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.magnetophon ];
     platforms = [ "i686-linux" "x86_64-linux" ];
+    mainProgram = "wolf-shaper";
   };
 }
diff --git a/pkgs/applications/audio/x42-gmsynth/default.nix b/pkgs/applications/audio/x42-gmsynth/default.nix
index 90db8754ca2f..8f83263d0a00 100644
--- a/pkgs/applications/audio/x42-gmsynth/default.nix
+++ b/pkgs/applications/audio/x42-gmsynth/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "x42-gmsynth";
-  version = "0.4.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "x42";
     repo = "gmsynth.lv2";
     rev = "v${version}";
-    sha256 = "08dvdj8r17sfl6l18g2b8abgls2irkbrq5vhrfai01hp2m0rlm34";
+    hash = "sha256-onZoaQVAGH/1d7jBRlN3ucx/3mTGUCxjvvt19GyprsY=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/audio/xmp/default.nix b/pkgs/applications/audio/xmp/default.nix
index 325aa21984ed..efd5fb9caa60 100644
--- a/pkgs/applications/audio/xmp/default.nix
+++ b/pkgs/applications/audio/xmp/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage    = "https://xmp.sourceforge.net/";
     license     = licenses.gpl2Plus;
     platforms   = platforms.unix;
+    mainProgram = "xmp";
   };
 }
diff --git a/pkgs/applications/audio/xtuner/default.nix b/pkgs/applications/audio/xtuner/default.nix
index 1fdb97f6dad4..2db4256ee87f 100644
--- a/pkgs/applications/audio/xtuner/default.nix
+++ b/pkgs/applications/audio/xtuner/default.nix
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "xtuner";
   };
 }
diff --git a/pkgs/applications/audio/yasr/default.nix b/pkgs/applications/audio/yasr/default.nix
index d300737ae6d8..b90b7272b1ab 100644
--- a/pkgs/applications/audio/yasr/default.nix
+++ b/pkgs/applications/audio/yasr/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.linux;
     license = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ jhhuh ];
+    mainProgram = "yasr";
   };
 }
diff --git a/pkgs/applications/audio/ympd/default.nix b/pkgs/applications/audio/ympd/default.nix
index 83ce36a59581..9921bb6dfada 100644
--- a/pkgs/applications/audio/ympd/default.nix
+++ b/pkgs/applications/audio/ympd/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.siddharthist ];
     platforms = platforms.unix;
     license = licenses.gpl2Plus;
+    mainProgram = "ympd";
   };
 }
diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix
index 9509f71a78bf..2fdc579a3d82 100644
--- a/pkgs/applications/audio/yoshimi/default.nix
+++ b/pkgs/applications/audio/yoshimi/default.nix
@@ -71,5 +71,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.goibhniu ];
+    mainProgram = "yoshimi";
   };
 }
diff --git a/pkgs/applications/audio/zita-at1/default.nix b/pkgs/applications/audio/zita-at1/default.nix
index 8a629e145c40..4e9544e39602 100644
--- a/pkgs/applications/audio/zita-at1/default.nix
+++ b/pkgs/applications/audio/zita-at1/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ orivej ];
     platforms = platforms.linux;
+    mainProgram = "zita-at1";
   };
 }
diff --git a/pkgs/applications/blockchains/aeon/default.nix b/pkgs/applications/blockchains/aeon/default.nix
index 7928a63b8264..3939dbce3157 100644
--- a/pkgs/applications/blockchains/aeon/default.nix
+++ b/pkgs/applications/blockchains/aeon/default.nix
@@ -33,6 +33,9 @@ stdenv.mkDerivation {
   hardeningDisable = [ "fortify" ];
 
   meta = with lib; {
+    # Does not build against gcc-13. No development activity upstream
+    # for past few years.
+    broken = true;
     description = "Private, secure, untraceable currency";
     homepage = "http://www.aeon.cash/";
     license = licenses.bsd3;
diff --git a/pkgs/applications/blockchains/bitcoin-abc/default.nix b/pkgs/applications/blockchains/bitcoin-abc/default.nix
index 310c67d41530..d25a582f6554 100644
--- a/pkgs/applications/blockchains/bitcoin-abc/default.nix
+++ b/pkgs/applications/blockchains/bitcoin-abc/default.nix
@@ -15,6 +15,7 @@
 , protobuf
 , qrencode
 , libevent
+, libnatpmp
 , sqlite
 , withGui
 , python3
@@ -24,13 +25,13 @@
 
 mkDerivation rec {
   pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc";
-  version = "0.26.2";
+  version = "0.28.9";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    sha256 = "0gz4713lk3alk3ykwq1bdqjywadrfrnb7n2878136g01n87j00az";
+    hash = "sha256-VK9/qL3rFdU7O62FwEdr3WD4VWli8KGZH9hcbTaVHGQ=";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
@@ -41,6 +42,7 @@ mkDerivation rec {
     zlib
     python3
     jemalloc
+    libnatpmp
     zeromq4
     miniupnpc
     util-linux
diff --git a/pkgs/applications/blockchains/clboss/default.nix b/pkgs/applications/blockchains/clboss/default.nix
index c016e0f37e38..0cad0ed2ae54 100644
--- a/pkgs/applications/blockchains/clboss/default.nix
+++ b/pkgs/applications/blockchains/clboss/default.nix
@@ -1,6 +1,8 @@
 { lib
 , stdenv
-, fetchurl
+, fetchFromGitHub
+, autoconf-archive
+, autoreconfHook
 , pkg-config
 , curlWithGnuTls
 , libev
@@ -9,14 +11,16 @@
 
 stdenv.mkDerivation rec {
   pname = "clboss";
-  version = "0.12";
+  version = "0.13";
 
-  src = fetchurl {
-    url = "https://github.com/ZmnSCPxj/clboss/releases/download/${version}/clboss-${version}.tar.gz";
-    hash = "sha256-UZcSfbpp3vPsD3CDukp+r5Z60h0UEWTduqF4DhJ+H2U=";
+  src = fetchFromGitHub {
+    owner = "ZmnSCPxj";
+    repo = "clboss";
+    rev = "v${version}";
+    hash = "sha256-NP9blymdqDXo/OtGLQg/MXK24PpPvCrzqXRdtfCvpfI=";
   };
 
-  nativeBuildInputs = [ pkg-config libev curlWithGnuTls sqlite ];
+  nativeBuildInputs = [ autoconf-archive autoreconfHook pkg-config libev curlWithGnuTls sqlite ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/blockchains/litecoin/default.nix b/pkgs/applications/blockchains/litecoin/default.nix
index 85436f6023a6..c8e3140eb5de 100644
--- a/pkgs/applications/blockchains/litecoin/default.nix
+++ b/pkgs/applications/blockchains/litecoin/default.nix
@@ -26,6 +26,14 @@ mkDerivation rec {
       url = "https://aur.archlinux.org/cgit/aur.git/plain/boost1770.patch?h=litecoin-qt&id=dc75ad854af123f375b5b683be64aa14573170d7";
       hash = "sha256-PTkYQRA8n5a9yR2AvpzH5natsXT2W6Xjo0ONCPJx78k=";
     })
+
+    # Fix gcc-13 build by adding missing headers:
+    #   https://github.com/litecoin-project/litecoin/pull/929
+    (fetchpatch {
+      name = "gcc-13.patch";
+      url = "https://github.com/litecoin-project/litecoin/commit/6d1adb19aa79a8e8e140582759515bbd76816aa0.patch";
+      hash = "sha256-1y4Iz2plMw5HMAjl9x50QQpYrYaUd2WKrrAcUnQmlBY=";
+    })
   ];
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/applications/blockchains/nano-wallet/default.nix b/pkgs/applications/blockchains/nano-wallet/default.nix
index aa5222a50e7e..0dc6db9e5d7f 100644
--- a/pkgs/applications/blockchains/nano-wallet/default.nix
+++ b/pkgs/applications/blockchains/nano-wallet/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, wrapQtAppsHook, boost, libGL
+{ lib, stdenv, fetchFromGitHub
+, fetchpatch
+, cmake, pkg-config, wrapQtAppsHook, boost, libGL
 , qtbase, python3 }:
 
 stdenv.mkDerivation rec {
@@ -14,6 +16,17 @@ stdenv.mkDerivation rec {
     hash = "sha256-YvYEXHC8kxviZLQwINs+pS61wITSfqfrrPmlR+zNRoE=";
   };
 
+  patches = [
+    # Fix gcc-13 build failure due to missing <cstdint> includes.
+    (fetchpatch {
+      name = "gcc-13.patch";
+      url = "https://github.com/facebook/rocksdb/commit/88edfbfb5e1cac228f7cc31fbec24bb637fe54b1.patch";
+      stripLen = 1;
+      extraPrefix = "submodules/rocksdb/";
+      hash = "sha256-HhlIYyPzIZFuyzHTUPz3bXgXiaFSQ8pVrLLMzegjTgE=";
+    })
+  ];
+
   cmakeFlags = let
     options = {
       PYTHON_EXECUTABLE = "${python3.interpreter}";
diff --git a/pkgs/applications/blockchains/optimism/default.nix b/pkgs/applications/blockchains/optimism/default.nix
index 40f5c0ceb2e7..d95565d919de 100644
--- a/pkgs/applications/blockchains/optimism/default.nix
+++ b/pkgs/applications/blockchains/optimism/default.nix
@@ -6,19 +6,19 @@
 
 buildGoModule rec {
   pname = "optimism";
-  version = "1.5.1";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "ethereum-optimism";
     repo = "optimism";
     rev = "op-node/v${version}";
-    hash = "sha256-oVrm1mK2yw5IF7WZCwDQ1U/JdYvUPKJY/kzRSp6Pzwo=";
+    hash = "sha256-ic5OHGxU/crq6IqqUnzAC+99KpCXUKFagnAKD4FtYBI=";
     fetchSubmodules = true;
   };
 
   subPackages = [ "op-node/cmd" "op-proposer/cmd" "op-batcher/cmd" ];
 
-  vendorHash = "sha256-QDpCGfykTUIgPQxHH8qIfmOsQrcQfZ3/vwjsuvUo1Fo=";
+  vendorHash = "sha256-zuATJ5FBdil9bHgkMf32WuTW6/99GIsGCzI5srP21m8=";
 
   buildInputs = [
     libpcap
diff --git a/pkgs/applications/display-managers/emptty/default.nix b/pkgs/applications/display-managers/emptty/default.nix
index 37ef4ce8460a..6e9ed91dec21 100644
--- a/pkgs/applications/display-managers/emptty/default.nix
+++ b/pkgs/applications/display-managers/emptty/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     maintainers = with maintainers; [ urandom ];
     # many undefined functions
     broken = stdenv.isDarwin;
+    mainProgram = "emptty";
   };
 }
diff --git a/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix b/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix
index b0d8ed515261..87a6560f6f64 100644
--- a/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix
+++ b/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix
@@ -54,5 +54,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = with maintainers; [ colinsane ];
     platforms = platforms.linux;
     license = licenses.mit;
+    mainProgram = "lightdm-mobile-greeter";
   };
 }
diff --git a/pkgs/applications/display-managers/ly/default.nix b/pkgs/applications/display-managers/ly/default.nix
index 8b387b36205b..9376dc476dec 100644
--- a/pkgs/applications/display-managers/ly/default.nix
+++ b/pkgs/applications/display-managers/ly/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/fairyglade/ly";
     maintainers = [ maintainers.vidister ];
     platforms = platforms.linux;
+    mainProgram = "ly";
   };
 }
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index a41817405ca0..c2ad3a774053 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -14,12 +14,12 @@ let
     sha256Hash = "sha256-E50Nu0kJNTto+/VcCbbTGjRRIESp1PAs4PGprMyhKPk=";
   };
   betaVersion = {
-    version = "2023.2.1.21"; # "Android Studio Iguana | 2023.2.1 RC 1"
-    sha256Hash = "sha256-TgBrgwsjJKBi4DfTMbcgmtoYfzQ3KGwn1zdEfKO9Q8k=";
+    version = "2023.2.1.22"; # "Android Studio Iguana | 2023.2.1 RC 2"
+    sha256Hash = "sha256-sy4Cfg+d4DuIUCrP4/Fp6mnsn5bWSy6PQ42kw3NpH/o=";
   };
   latestVersion = {
-    version = "2023.3.1.8"; # "Android Studio Jellyfish | 2023.3.1 Canary 8"
-    sha256Hash = "sha256-wNduJ8AjLG+2gumFtLXYnzYiGN0sxL8WR2izWB87uMM=";
+    version = "2023.3.1.9"; # "Android Studio Jellyfish | 2023.3.1 Canary 9"
+    sha256Hash = "sha256-xn84sodpYcJgILwGBixuwhug9hZupqfizG98KYLSHsw=";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/cpeditor/default.nix b/pkgs/applications/editors/cpeditor/default.nix
index c7d56cf50abe..773ef1af035e 100644
--- a/pkgs/applications/editors/cpeditor/default.nix
+++ b/pkgs/applications/editors/cpeditor/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpeditor";
-  version = "6.11.1";
+  version = "6.11.2";
 
   src = fetchFromGitHub {
     owner = "cpeditor";
     repo = "cpeditor";
     rev = version;
-    sha256 = "sha256-Uwo7ZE+9yrHV/+D6rvfew2d3ZJbpFOjgek38iYkPppw=";
+    sha256 = "sha256-zotbXzRjIwZdYluJiz6GWUIOXl/wz1TWt+dcTwMhURo=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/editors/gedit/default.nix b/pkgs/applications/editors/gedit/default.nix
index 7e4b4040737e..d7e5ac0ba1eb 100644
--- a/pkgs/applications/editors/gedit/default.nix
+++ b/pkgs/applications/editors/gedit/default.nix
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gedit";
-  version = "46.1";
+  version = "46.2";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${lib.versions.major version}/gedit-${version}.tar.xz";
-    sha256 = "oabjfwQXZd/3InofVXi29J+q8Bax4X6GnK9b+5TGqk4=";
+    sha256 = "wIZkErrRR+us4tKC/8u1oOmjBLIP1VZAvuIcgebVAe8=";
   };
 
   patches = [
@@ -92,7 +92,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://wiki.gnome.org/Apps/Gedit";
+    homepage = "https://gedit-technology.github.io/apps/gedit/";
     description = "Former GNOME text editor";
     maintainers = with maintainers; [ bobby285271 ];
     license = licenses.gpl2Plus;
diff --git a/pkgs/applications/editors/molsketch/default.nix b/pkgs/applications/editors/molsketch/default.nix
index 6a656114ff5f..d0c05d27e88c 100644
--- a/pkgs/applications/editors/molsketch/default.nix
+++ b/pkgs/applications/editors/molsketch/default.nix
@@ -19,6 +19,10 @@ mkDerivation rec {
     hash = "sha256-Mpx4fHktxqBAkmdwqg2pXvEgvvGUQPbgqxKwXKjhJuQ=";
   };
 
+  patches = [
+    ./openbabel.patch
+  ];
+
   # uses C++17 APIs like std::transform_reduce
   postPatch = ''
     substituteInPlace molsketch/CMakeLists.txt \
@@ -34,7 +38,7 @@ mkDerivation rec {
   '';
 
   postFixup = ''
-    mv $out/lib/molsketch/* $out/lib
+    ln -s $out/lib/molsketch/* $out/lib/.
   '';
 
   nativeBuildInputs = [ cmake pkg-config qttools wrapQtAppsHook ];
diff --git a/pkgs/applications/editors/molsketch/openbabel.patch b/pkgs/applications/editors/molsketch/openbabel.patch
new file mode 100644
index 000000000000..80786bbab4dd
--- /dev/null
+++ b/pkgs/applications/editors/molsketch/openbabel.patch
@@ -0,0 +1,12 @@
+diff --git a/obabeliface/obabeliface.cpp b/obabeliface/obabeliface.cpp
+index 98a9020..a168803 100644
+--- a/obabeliface/obabeliface.cpp
++++ b/obabeliface/obabeliface.cpp
+@@ -196,6 +196,7 @@ namespace Molsketch
+ 
+   // TODO should be const, but OpenBabel iterator methods do not support const
+   bool hasCoordinates(OpenBabel::OBMol &molecule) {
++    using namespace OpenBabel;
+     FOR_ATOMS_OF_MOL(obatom, molecule) {
+       if (obatom->GetVector() != OpenBabel::VZero)
+         return true;
diff --git a/pkgs/applications/editors/typora/default.nix b/pkgs/applications/editors/typora/default.nix
index 08e3d7c78fed..2a4134ee3f00 100644
--- a/pkgs/applications/editors/typora/default.nix
+++ b/pkgs/applications/editors/typora/default.nix
@@ -22,10 +22,10 @@
 
 let
   pname = "typora";
-  version = "1.8.9";
+  version = "1.8.10";
   src = fetchurl {
     url = "https://download.typora.io/linux/typora_${version}_amd64.deb";
-    hash = "sha256-1FAVY9NSvpZOCZJmNadx5ZlqfaCc2N3D+T/08F4TOzY=";
+    hash = "sha256-5ZLSzDUcF0OZUuWVX/iG+4ccTlCPdYxy7zl0wDHlxNQ=";
   };
 
   typoraBase = stdenv.mkDerivation {
diff --git a/pkgs/applications/editors/vim/plugins/deprecated.json b/pkgs/applications/editors/vim/plugins/deprecated.json
index 6af384ac78fd..6566a2808b70 100644
--- a/pkgs/applications/editors/vim/plugins/deprecated.json
+++ b/pkgs/applications/editors/vim/plugins/deprecated.json
@@ -23,6 +23,10 @@
         "date": "2023-08-19",
         "new": "nvchad-ui"
     },
+    "nvim-base16": {
+        "date": "2024-02-15",
+        "new": "base16-nvim"
+    },
     "nvim-bufferline-lua": {
         "date": "2021-08-22",
         "new": "bufferline-nvim"
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 32e4d167625a..3a378180d311 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -29,12 +29,12 @@ final: prev:
 
   ChatGPT-nvim = buildVimPlugin {
     pname = "ChatGPT.nvim";
-    version = "2024-01-19";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "jackMort";
       repo = "ChatGPT.nvim";
-      rev = "5e8f9004ee88d6c02fe428031d3b598d5dfc7cf2";
-      sha256 = "126m8cwasm4c6rhc8gnslqh2q08fn6gsw2sk57jdiflrsvhl9vzc";
+      rev = "aadb607038d53d97be4da368b07355f65ad3f047";
+      sha256 = "1siccc04f69whyqz7ljcyq50aai320rbdbwclb5989610n7qx1lw";
     };
     meta.homepage = "https://github.com/jackMort/ChatGPT.nvim/";
   };
@@ -65,12 +65,12 @@ final: prev:
 
   Coqtail = buildVimPlugin {
     pname = "Coqtail";
-    version = "2023-10-27";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "ecca5017b6b27e1bded009f9725186d941d85b53";
-      sha256 = "01dc9rih8f3hxvj5mi8ahdh7gf1hgb2zrks3wb8im4f4lc6nkdjz";
+      rev = "e52c456d44e2e3c580428e54182a59d82009c3e2";
+      sha256 = "025l8y4i5a0zlvm1f0nqliqvqwn1cf2xas3ikiyf6cn749ar7pjw";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -185,12 +185,12 @@ final: prev:
 
   LeaderF = buildVimPlugin {
     pname = "LeaderF";
-    version = "2024-01-19";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "LeaderF";
-      rev = "43e6c0467ef73107f9f6f02ac967dbc359a8d438";
-      sha256 = "1p1a9ppsw5f27qsqmr8wvnbamag8w9xbh4dmpwrfk96ap7flndjz";
+      rev = "9cf165b444b961f019d3b1a87f38788f9c314100";
+      sha256 = "09lpscdyx9ir5pdm2vb04vmv2zxgyzhm0ykahflsp5gfnxmc3an3";
     };
     meta.homepage = "https://github.com/Yggdroot/LeaderF/";
   };
@@ -305,12 +305,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPlugin {
     pname = "SchemaStore.nvim";
-    version = "2024-01-24";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "0550c6d5754dd2a183efc9c238f5524b68860e21";
-      sha256 = "1hd1qnkjbl38k9ivzqxf3j74yyh1gd56r5nz7nmzf8b5yyjkc0ws";
+      rev = "844081710a935b4bd95bb8a3cf2742ffb9630993";
+      sha256 = "0dijcbygl5z4jw8gcfjvld09yijlz0fl10b0c6giizy9r09ij7av";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -449,12 +449,12 @@ final: prev:
 
   YouCompleteMe = buildVimPlugin {
     pname = "YouCompleteMe";
-    version = "2024-01-14";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "ycm-core";
       repo = "YouCompleteMe";
-      rev = "2b33bf3dc822f6c68b39d235e24efa5508cf9857";
-      sha256 = "1myd0ihxzk9jv8hqn7bfqh26cai9xlfnpwp89i62aqhgl3v0b361";
+      rev = "f0789244449468b0dad591ec5a87db6504788cfa";
+      sha256 = "0vs201i5aqa157ld9ii0pl9cd9xxfcrkxx69ibk8rzn3ardnllm4";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
@@ -498,12 +498,12 @@ final: prev:
 
   actions-preview-nvim = buildVimPlugin {
     pname = "actions-preview.nvim";
-    version = "2024-01-07";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "aznhe21";
       repo = "actions-preview.nvim";
-      rev = "dd63df1a4ed0ffe1458945ee50ecb1dd02b605ab";
-      sha256 = "0rsg7qvy45hhrzsf0xsdkr8ac9d3w2b0wqdbzzkfispkxpbsqyl9";
+      rev = "9e86d014a72a4121ee27f3d8952e1ea868c3c8c4";
+      sha256 = "1fbvf3kz8c0aq2fvjbld0h1a3yckcxfxhzfnxji7a4cjfj2icj99";
     };
     meta.homepage = "https://github.com/aznhe21/actions-preview.nvim/";
   };
@@ -522,12 +522,12 @@ final: prev:
 
   aerial-nvim = buildVimPlugin {
     pname = "aerial.nvim";
-    version = "2024-01-21";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "e9661d4f739508377f42528fd08a85c4c8feba6e";
-      sha256 = "1pskj1vqrcxy4y7rvmb27d6810zcmklrff5163gav26rcgppn6x7";
+      rev = "3748e87a316a68754341cdffcef44fee61dee51c";
+      sha256 = "0d7623dibwrp7nzl512laznai478rw8vz2jxlmbihs5gccnxnvp7";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
@@ -583,12 +583,12 @@ final: prev:
 
   ale = buildVimPlugin {
     pname = "ale";
-    version = "2024-01-14";
+    version = "2024-02-06";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "8922478a83cd06bfe5b82eb45279649adc4ec046";
-      sha256 = "1s9cy0s08hgjb1n05gbl8am2s4wvxblpa1sfiwadwyqf163bd16j";
+      rev = "6fd9f3c54f80cec8be364594246daf9ac41cbe3e";
+      sha256 = "16wa96aymgx4jfw9cxryikvfa1628csblhc4y2d33khbpy8mg81d";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -607,12 +607,12 @@ final: prev:
 
   alpha-nvim = buildVimPlugin {
     pname = "alpha-nvim";
-    version = "2024-01-17";
+    version = "2024-01-30";
     src = fetchFromGitHub {
       owner = "goolord";
       repo = "alpha-nvim";
-      rev = "4b36c1ca9ea475bdc006896657cf1ccc486aeffa";
-      sha256 = "01s5kp4zxfs18i7r9hvrjakihk6wz191zrkniq4vhsns32mmjgk3";
+      rev = "1356b9ef31b985d541d94314f2cf73c61124bf1d";
+      sha256 = "1spnala1x6va4lv0ws3yc49z4g7sadvci4l4wnjm3l24hfw5ypnb";
     };
     meta.homepage = "https://github.com/goolord/alpha-nvim/";
   };
@@ -677,6 +677,18 @@ final: prev:
     meta.homepage = "https://github.com/vim-scripts/argtextobj.vim/";
   };
 
+  astrotheme = buildVimPlugin {
+    pname = "astrotheme";
+    version = "2024-01-27";
+    src = fetchFromGitHub {
+      owner = "AstroNvim";
+      repo = "astrotheme";
+      rev = "415d0030a86dc52371925483a823eb04d483447b";
+      sha256 = "16brpfp5kdgdlpij72kl02gzql04cyhswsaw93qm2svfvr9q2v9x";
+    };
+    meta.homepage = "https://github.com/AstroNvim/astrotheme/";
+  };
+
   async-vim = buildVimPlugin {
     pname = "async.vim";
     version = "2022-04-04";
@@ -775,12 +787,12 @@ final: prev:
 
   asyncrun-vim = buildVimPlugin {
     pname = "asyncrun.vim";
-    version = "2023-09-26";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "skywind3000";
       repo = "asyncrun.vim";
-      rev = "61cc3081963a12048e00e89f8cedc8bd1cb83b8c";
-      sha256 = "1l86kk0ha6yw3i285xaizzrgxvnxf95q0ys44glz8mns1z2jq4zk";
+      rev = "99b5025131c50c6ef638faefe1f872eea5454785";
+      sha256 = "1cbc1silg0hf3rj7saw4ifxcn5nmvs1fyilnfxskg38bk9pag5ds";
     };
     meta.homepage = "https://github.com/skywind3000/asyncrun.vim/";
   };
@@ -871,12 +883,12 @@ final: prev:
 
   auto-session = buildVimPlugin {
     pname = "auto-session";
-    version = "2023-12-05";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "auto-session";
-      rev = "51196ca66b38fc1660fdf50031cb0b31a199b7c9";
-      sha256 = "1k0vgnn7anx6s6avbx17gyy749960ap1nds23qnsmp0pfz9x5scw";
+      rev = "29a8c77a0579636d5520aebd38bdbc2e6079f2f5";
+      sha256 = "0pzbj840xwzgj08zlbs79kfr8p5pfaqmcwmvqvngciaawz5mxwrc";
     };
     meta.homepage = "https://github.com/rmagatti/auto-session/";
   };
@@ -929,6 +941,18 @@ final: prev:
     meta.homepage = "https://github.com/rafi/awesome-vim-colorschemes/";
   };
 
+  aylin-vim = buildVimPlugin {
+    pname = "aylin.vim";
+    version = "2022-08-13";
+    src = fetchFromGitHub {
+      owner = "AhmedAbdulrahman";
+      repo = "aylin.vim";
+      rev = "d9532f02f5ea8f396fc62c50bb34c348b4a9aa02";
+      sha256 = "1fqi0y49ac7ix39l8c27j7zysl4g9sm0akkmhpbznccc74kb6r7w";
+    };
+    meta.homepage = "https://github.com/AhmedAbdulrahman/aylin.vim/";
+  };
+
   ayu-vim = buildVimPlugin {
     pname = "ayu-vim";
     version = "2020-05-29";
@@ -953,14 +977,38 @@ final: prev:
     meta.homepage = "https://github.com/taybart/b64.nvim/";
   };
 
+  baleia-nvim = buildVimPlugin {
+    pname = "baleia.nvim";
+    version = "2024-01-06";
+    src = fetchFromGitHub {
+      owner = "m00qek";
+      repo = "baleia.nvim";
+      rev = "6d9cbdaca3a428bc7296f838fdfce3ad01ee7495";
+      sha256 = "sha256-0NmiGzMFvL1awYOVtiaSd+O4sAR524x68xwWLgArlqs=";
+    };
+    meta.homepage = "https://github.com/m00qek/baleia.nvim/";
+  };
+
+  bamboo-nvim = buildVimPlugin {
+    pname = "bamboo.nvim";
+    version = "2024-01-30";
+    src = fetchFromGitHub {
+      owner = "ribru17";
+      repo = "bamboo.nvim";
+      rev = "b79d540b251a2085d439f5a7c0fe12b9ed54bab6";
+      sha256 = "1qs0fw9f17x7xyqgx0911q3szrnqfrn77q2ja5pcf8vhq1hk4f1y";
+    };
+    meta.homepage = "https://github.com/ribru17/bamboo.nvim/";
+  };
+
   barbar-nvim = buildVimPlugin {
     pname = "barbar.nvim";
-    version = "2023-12-18";
+    version = "2024-02-06";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "barbar.nvim";
-      rev = "4ba9ac54f0c5d82131905160afff94172e3325e6";
-      sha256 = "0cfhcwb8w4h63dj3r1zi7ikqjs78isgvy2lgqw35k8camw4jlqkr";
+      rev = "71ac376acd000743146b1e08e62151b4d887bbac";
+      sha256 = "1yhircqbqm6kww5h2zj98i7vr7kkvigcfzfx1z0jpq1dwzkrilsw";
     };
     meta.homepage = "https://github.com/romgrk/barbar.nvim/";
   };
@@ -977,6 +1025,18 @@ final: prev:
     meta.homepage = "https://github.com/utilyre/barbecue.nvim/";
   };
 
+  base16-nvim = buildVimPlugin {
+    pname = "base16-nvim";
+    version = "2024-02-17";
+    src = fetchFromGitHub {
+      owner = "RRethy";
+      repo = "base16-nvim";
+      rev = "b3e9ec6a82c05b562cd71f40fe8964438a9ba64a";
+      sha256 = "1qb8g6q8vwq99030nqw719xgrizbqcnmj4n25fqakjq8pbclwh4p";
+    };
+    meta.homepage = "https://github.com/RRethy/base16-nvim/";
+  };
+
   base16-vim = buildVimPlugin {
     pname = "base16-vim";
     version = "2022-09-20";
@@ -1097,6 +1157,30 @@ final: prev:
     meta.homepage = "https://github.com/blueballs-theme/blueballs-neovim/";
   };
 
+  bluloco-nvim = buildVimPlugin {
+    pname = "bluloco.nvim";
+    version = "2024-01-22";
+    src = fetchFromGitHub {
+      owner = "uloco";
+      repo = "bluloco.nvim";
+      rev = "e97a9d61fad847a8d98c280181dde1c228be422b";
+      sha256 = "04qbp7chz009kma6lv2zvqkj9z5hv3c45h0zzyc0w145450isqv7";
+    };
+    meta.homepage = "https://github.com/uloco/bluloco.nvim/";
+  };
+
+  boo-colorscheme-nvim = buildVimPlugin {
+    pname = "boo-colorscheme-nvim";
+    version = "2023-12-26";
+    src = fetchFromGitHub {
+      owner = "rockerBOO";
+      repo = "boo-colorscheme-nvim";
+      rev = "f329950b54d2a9462dd8169bb9cf0adbddef70b4";
+      sha256 = "0939nxp2g0d6nzfhk0r5bvn4g3bs5bg8pjnc4z1f1qsnpvk6vyml";
+    };
+    meta.homepage = "https://github.com/rockerBOO/boo-colorscheme-nvim/";
+  };
+
   boole-nvim = buildVimPlugin {
     pname = "boole.nvim";
     version = "2023-07-08";
@@ -1171,12 +1255,12 @@ final: prev:
 
   bufferline-nvim = buildVimPlugin {
     pname = "bufferline.nvim";
-    version = "2024-01-25";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "bufferline.nvim";
-      rev = "d6cb9b7cac52887bcac65f8698e67479553c0748";
-      sha256 = "05j37sch4m8cxdjg7fyzmawr21mp2ipqlw3ar4adk8as698b68gy";
+      rev = "b15c6daf5a64426c69732b31a951f4e438cb6590";
+      sha256 = "09yj7gkk4ba50cdfmnn56g5hrbh4hk9934mj3xm08nbqhh4jir1k";
     };
     meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
   };
@@ -1195,14 +1279,14 @@ final: prev:
 
   bullets-vim = buildVimPlugin {
     pname = "bullets.vim";
-    version = "2022-10-10";
+    version = "2024-01-31";
     src = fetchFromGitHub {
-      owner = "dkarter";
+      owner = "bullets-vim";
       repo = "bullets.vim";
-      rev = "746f92ae05cdcc988857d8e76418326f07af9494";
-      sha256 = "0zdfri31h1iv3jjw2yqkqqfd07cdk7ymyrl5n03khwh192dawd5r";
+      rev = "d9a47f114031d3030b1e4de3c0b6a664b1201524";
+      sha256 = "0ypf8ggvl1q5kgrzanr20n6bllfl547hk50aq0jmw0mprhi5npds";
     };
-    meta.homepage = "https://github.com/dkarter/bullets.vim/";
+    meta.homepage = "https://github.com/bullets-vim/bullets.vim/";
   };
 
   calendar-vim = buildVimPlugin {
@@ -1255,12 +1339,12 @@ final: prev:
 
   chadtree = buildVimPlugin {
     pname = "chadtree";
-    version = "2024-01-25";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "713d374382398df12816b3aa8de5462e29266d8a";
-      sha256 = "1zi4v1fsayvcxsvbb60r7lj5zpsbhcysy2n6l9610xn0zmwmcnxq";
+      rev = "326830f797f38edefa9691cb9de35833b9571b95";
+      sha256 = "14s3lcp0pyd9dqi5jhnlv0rd51qia4p5sg7p6hxrdzi86mmkz1b6";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -1313,6 +1397,18 @@ final: prev:
     meta.homepage = "https://github.com/projekt0n/circles.nvim/";
   };
 
+  citruszest-nvim = buildVimPlugin {
+    pname = "citruszest.nvim";
+    version = "2024-01-30";
+    src = fetchFromGitHub {
+      owner = "zootedb0t";
+      repo = "citruszest.nvim";
+      rev = "6c090d537c4fcc5d187632e7e47943e41a218ba8";
+      sha256 = "0x09gz17436fmybr40l69ph0r8k6abxi5jaksn058gh0s6wiq8ic";
+    };
+    meta.homepage = "https://github.com/zootedb0t/citruszest.nvim/";
+  };
+
   clang_complete = buildVimPlugin {
     pname = "clang_complete";
     version = "2023-11-05";
@@ -1411,12 +1507,12 @@ final: prev:
 
   cmp-async-path = buildVimPlugin {
     pname = "cmp-async-path";
-    version = "2023-01-16";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "FelipeLema";
       repo = "cmp-async-path";
-      rev = "d8229a93d7b71f22c66ca35ac9e6c6cd850ec61d";
-      sha256 = "18z548v4ypby32jydq439zdi6gv7zybp8gk957iai22cnxaj403n";
+      rev = "9d581eec5acf812316913565c135b0d1ee2c9a71";
+      sha256 = "0dv00zsgyjqk98cnxkmc4hjqgsm5mhjg4q2j7xkwz17kq59fiv26";
     };
     meta.homepage = "https://github.com/FelipeLema/cmp-async-path/";
   };
@@ -1543,12 +1639,12 @@ final: prev:
 
   cmp-dictionary = buildVimPlugin {
     pname = "cmp-dictionary";
-    version = "2024-01-24";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "uga-rosa";
       repo = "cmp-dictionary";
-      rev = "472d0087035762f3c81af63433df15c8dd85601b";
-      sha256 = "03i5gb18w93fb7by1djj7b3sqfsdb2rlqlnj5dcl0r8qb4wa8nrc";
+      rev = "afa18f35a818af7bcb65b05c183a6777ede6c0ad";
+      sha256 = "1nz0ywakqvvscrvdzk86w8f29s8mrcyln2jqgh24kvic5zwb66xj";
     };
     meta.homepage = "https://github.com/uga-rosa/cmp-dictionary/";
   };
@@ -1961,6 +2057,18 @@ final: prev:
     meta.homepage = "https://github.com/saadparwaiz1/cmp_luasnip/";
   };
 
+  cobalt2-nvim = buildVimPlugin {
+    pname = "cobalt2.nvim";
+    version = "2024-01-13";
+    src = fetchFromGitHub {
+      owner = "lalitmee";
+      repo = "cobalt2.nvim";
+      rev = "89c4212da7f2a6ce7570ca1b8ed01a95e30585c2";
+      sha256 = "00fdqj61av1awq2m3qjkd3znpnc5ywi6abnvyh8xcbs9sbp4iid8";
+    };
+    meta.homepage = "https://github.com/lalitmee/cobalt2.nvim/";
+  };
+
   coc-clap = buildVimPlugin {
     pname = "coc-clap";
     version = "2021-09-18";
@@ -2071,24 +2179,24 @@ final: prev:
 
   codeium-nvim = buildVimPlugin {
     pname = "codeium.nvim";
-    version = "2023-12-26";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "Exafunction";
       repo = "codeium.nvim";
-      rev = "f871000e91faa9ed334da2bfa4eadbf54d0e1047";
-      sha256 = "11qjv6g2abb67sfql0i2lbrak9d1xs15x73llw1fglcmbn7wswrf";
+      rev = "cd5913ff5481229b15186293d1d46dd9500789f9";
+      sha256 = "1lsf60aaxzc0w0sgvb8pghrx6hwfh57jx9xaj6g7rhbpxw9l05cx";
     };
     meta.homepage = "https://github.com/Exafunction/codeium.nvim/";
   };
 
   codeium-vim = buildVimPlugin {
     pname = "codeium.vim";
-    version = "2024-01-18";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "Exafunction";
       repo = "codeium.vim";
-      rev = "a1c3d6b369a18514d656dac149de807becacbdf7";
-      sha256 = "1d1m30wrjm3s18672j97ypbky59mppn8af3vl0db7pf4c7bv2vbv";
+      rev = "9286586f790f837c4c3032f2124559936e77e6ed";
+      sha256 = "1kgba992635cjfwzzrdd9cajkjcxhvgy0nyydmnsx1d79p30q10b";
     };
     meta.homepage = "https://github.com/Exafunction/codeium.vim/";
   };
@@ -2323,12 +2431,12 @@ final: prev:
 
   conform-nvim = buildVimPlugin {
     pname = "conform.nvim";
-    version = "2024-01-24";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "conform.nvim";
-      rev = "d99b75b4aedf0e912f41c5740a7267de739cddac";
-      sha256 = "1qwrvidiq26fsl7bz3fhfnhn534k8cix488c9kykl9y971kb9mm7";
+      rev = "61cff430c9f15770d0c5e68c1b08067223bd94ab";
+      sha256 = "0b6syg14d1bs57nbikiwmragj2ac8nnjk1ns46nbvhc82ixsbr09";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/conform.nvim/";
@@ -2336,12 +2444,12 @@ final: prev:
 
   conjure = buildVimPlugin {
     pname = "conjure";
-    version = "2023-12-07";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "conjure";
-      rev = "4880144f13a7693cded529b302de491bfbaedbd6";
-      sha256 = "13rixqrw1hdpfxzz8qkwcvf1a2plcrv5mz6aaaa8vdksa3vica8i";
+      rev = "f50d4db821489f66ff93afe58155eef42c273a5d";
+      sha256 = "1q0in2yay28887vjirs15dcbx9p29rqcwg6fzfg01b8vs7nq63gw";
     };
     meta.homepage = "https://github.com/Olical/conjure/";
   };
@@ -2384,48 +2492,48 @@ final: prev:
 
   copilot-lua = buildVimPlugin {
     pname = "copilot.lua";
-    version = "2024-01-07";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "zbirenbaum";
       repo = "copilot.lua";
-      rev = "b03617a6dc4bc88b65ab5deac1631da9a9c2dcaf";
-      sha256 = "1pq8h1fnx5fkk6nj10ag6hx1br0c6vpclmcrw67qss8n52g0zwgk";
+      rev = "03f825956ec49e550d07875d867ea6e7c4dc8c00";
+      sha256 = "0iw7bvpv89r8l6bdds82nzpv4s7hrdm6gpw5ljh3c01r96v71iqz";
     };
     meta.homepage = "https://github.com/zbirenbaum/copilot.lua/";
   };
 
   copilot-vim = buildVimPlugin {
     pname = "copilot.vim";
-    version = "2024-01-23";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "github";
       repo = "copilot.vim";
-      rev = "a8142d44602f1b3f7b5c03c52b55f8f5d3453bf0";
-      sha256 = "08s0n9fyndjkri4lnpdg8hin4ykibxdkl8v3fgpglr944vs7cpff";
+      rev = "79e1a892ca9b4fa6234fd25f2930dba5201700bd";
+      sha256 = "11awdp6gmbiy9vp2bpd05x1aj7z5c3x6gkbbx4kjgk613589x7kg";
     };
     meta.homepage = "https://github.com/github/copilot.vim/";
   };
 
   coq-artifacts = buildVimPlugin {
     pname = "coq.artifacts";
-    version = "2023-12-22";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq.artifacts";
-      rev = "e7202d1a1b5cfa91446d5b7a035f915934e4d713";
-      sha256 = "11dkb6h7lshnhn8l04hjykwv7lsaxl58jqrxi2hv1byr6406j6xl";
+      rev = "de9d71b7fbf29ec8dc06adadb18621c55556a59b";
+      sha256 = "16vwf4rvbv00xg12spi8p48ciwkk1w4rlf70vnapl955r08mfwqh";
     };
     meta.homepage = "https://github.com/ms-jpq/coq.artifacts/";
   };
 
   coq-thirdparty = buildVimPlugin {
     pname = "coq.thirdparty";
-    version = "2024-01-12";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq.thirdparty";
-      rev = "99393e405c28883e92e39ad6cdb41120ecfb6f32";
-      sha256 = "0jkim8sxi66ra1xdlhlz3b04jh0whrgs43wyw7hdckwjvmn354hp";
+      rev = "d9c1492ee60d627b171c7a9bcd0c3bb35af3e0fd";
+      sha256 = "0q8fv58v2sy9kq737ddmrrf0vvqpz8wrybnrks3vazq017jc5y7v";
     };
     meta.homepage = "https://github.com/ms-jpq/coq.thirdparty/";
   };
@@ -2444,12 +2552,12 @@ final: prev:
 
   coq_nvim = buildVimPlugin {
     pname = "coq_nvim";
-    version = "2024-01-03";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq_nvim";
-      rev = "4337cb19c7bd922fa9b374456470a753dc1618d4";
-      sha256 = "1a13hb39hmpk2pgq615b32kd94arj22rppags99dxg02vz9ngsp8";
+      rev = "cddbe83386efbce2a33373df1f98b3bd0b9c10a8";
+      sha256 = "0v7lib5mb1washicqqzl1m3gm4wd6bi3ivygfd5j0j7kxvv6f0hw";
     };
     meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
   };
@@ -2480,12 +2588,12 @@ final: prev:
 
   crates-nvim = buildVimPlugin {
     pname = "crates.nvim";
-    version = "2024-01-25";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "saecki";
       repo = "crates.nvim";
-      rev = "f2a169840e97a8ed2048abb507d2742c3895c85b";
-      sha256 = "05j1f2cf9fgsl7kdz2kqq525xm7v6l4p10mh46nf897gllvvajmy";
+      rev = "ec2b04a380c9f3a8e6ca38c230e4990d71978143";
+      sha256 = "0x3zlvwz3w69sdfp0hqs3ra83mgdf72nmffkpm56f56hnld7r1f1";
     };
     meta.homepage = "https://github.com/saecki/crates.nvim/";
   };
@@ -2574,6 +2682,18 @@ final: prev:
     meta.homepage = "https://github.com/ctrlpvim/ctrlp.vim/";
   };
 
+  cyberdream-nvim = buildVimPlugin {
+    pname = "cyberdream.nvim";
+    version = "2024-01-16";
+    src = fetchFromGitHub {
+      owner = "scottmckendry";
+      repo = "cyberdream.nvim";
+      rev = "5eacf2e0a36c6c44645d66ab7950a126af15dfc2";
+      sha256 = "0a4v1xakcq6sc3kshl45r6iy0y881fv8zc2nyylqgy9xh5p37vzl";
+    };
+    meta.homepage = "https://github.com/scottmckendry/cyberdream.nvim/";
+  };
+
   dart-vim-plugin = buildVimPlugin {
     pname = "dart-vim-plugin";
     version = "2023-07-18";
@@ -2600,12 +2720,12 @@ final: prev:
 
   dashboard-nvim = buildVimPlugin {
     pname = "dashboard-nvim";
-    version = "2023-11-10";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "nvimdev";
       repo = "dashboard-nvim";
-      rev = "63df28409d940f9cac0a925df09d3dc369db9841";
-      sha256 = "0731yc308jhqwpgabdb69mz8wi75rbnlwa2rh25rrigr28hxin1c";
+      rev = "413442b12d85315fc626c44a0ce4929b213ef604";
+      sha256 = "0pdq7c34093a7p92kqs9pkipj91q45j4y4djlik69fmdxi1kcbxy";
     };
     meta.homepage = "https://github.com/nvimdev/dashboard-nvim/";
   };
@@ -2622,6 +2742,18 @@ final: prev:
     meta.homepage = "https://github.com/andrewferrier/debugprint.nvim/";
   };
 
+  deepwhite-nvim = buildVimPlugin {
+    pname = "deepwhite.nvim";
+    version = "2024-01-23";
+    src = fetchFromGitHub {
+      owner = "Verf";
+      repo = "deepwhite.nvim";
+      rev = "7c8d12505dafac651f14d4eaa21623a7658871ab";
+      sha256 = "1hz07976ka8q45sgk3ggmb0gk9qz463i8narda3hcws302h8nw8k";
+    };
+    meta.homepage = "https://github.com/Verf/deepwhite.nvim/";
+  };
+
   defx-git = buildVimPlugin {
     pname = "defx-git";
     version = "2021-01-01";
@@ -2708,12 +2840,12 @@ final: prev:
 
   denops-vim = buildVimPlugin {
     pname = "denops.vim";
-    version = "2024-01-25";
+    version = "2024-02-06";
     src = fetchFromGitHub {
       owner = "vim-denops";
       repo = "denops.vim";
-      rev = "16d4bbc5c8e359ab50042f66dc5c9a2cdeabff6e";
-      sha256 = "19274maj5nbf7psa4d1nwkd2x7wnmnr6i6sp0h36nk5bgjx5jhzg";
+      rev = "ebda886f724fa2eb8aaa51d569903d5c359f0887";
+      sha256 = "01ln1yp9ymryc5fps1w91a99fn8bdm2gc56k9cmb07mc868p20ll";
     };
     meta.homepage = "https://github.com/vim-denops/denops.vim/";
   };
@@ -3068,6 +3200,18 @@ final: prev:
     meta.homepage = "https://github.com/doki-theme/doki-theme-vim/";
   };
 
+  doom-one-nvim = buildVimPlugin {
+    pname = "doom-one.nvim";
+    version = "2022-12-24";
+    src = fetchFromGitHub {
+      owner = "NTBBloodbath";
+      repo = "doom-one.nvim";
+      rev = "a43528cbd7908ccec7af4587ec8e18be149095bd";
+      sha256 = "0zv40jrr9d65kny43bxcfx6hclrsnhirsb9cz87z08qbz9jkbywm";
+    };
+    meta.homepage = "https://github.com/NTBBloodbath/doom-one.nvim/";
+  };
+
   dracula-nvim = buildVimPlugin {
     pname = "dracula.nvim";
     version = "2024-01-23";
@@ -3082,24 +3226,24 @@ final: prev:
 
   dressing-nvim = buildVimPlugin {
     pname = "dressing.nvim";
-    version = "2024-01-21";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "dressing.nvim";
-      rev = "42d767b04c50a6966c9633e3968bc65c0c2f2bfc";
-      sha256 = "0zd2wswd1x83qgs9d6bsh7k5nmdniqd4ba0x4w3qdndp27nafcz9";
+      rev = "6f212262061a2120e42da0d1e87326e8a41c0478";
+      sha256 = "1xm7jbhgs3raaqc10lg0czayii36di6cx47b527qc67p2qp03q33";
     };
     meta.homepage = "https://github.com/stevearc/dressing.nvim/";
   };
 
   dropbar-nvim = buildVimPlugin {
     pname = "dropbar.nvim";
-    version = "2024-01-25";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "Bekaboo";
       repo = "dropbar.nvim";
-      rev = "9a8e498374276dd0281736c75b42098ef9fb5622";
-      sha256 = "0py5lipmxkd6brzz41sali1bbl61bmaan9visdvvh1jrk7zzzyz6";
+      rev = "da63ca9b24f18b814ac75881b1e36199a7676047";
+      sha256 = "125caxl299svj1lnfr718ahcsg2d2aia9mhm3jx4753piha07bsw";
     };
     meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/";
   };
@@ -3179,24 +3323,24 @@ final: prev:
 
   efmls-configs-nvim = buildVimPlugin {
     pname = "efmls-configs-nvim";
-    version = "2024-01-10";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "creativenull";
       repo = "efmls-configs-nvim";
-      rev = "5372981bc8785facefb51cd50cb0888d1129a291";
-      sha256 = "08d67vm14jqkvrds247wy81mhfvfki5vl3fg7lp8s6aafs1y576d";
+      rev = "a61c52d325835e24dc14ffb7748a32b8f087ae32";
+      sha256 = "0y145z35y5x1frnaw1s9nlap1sjm3gk0fzcgwp0xskmfhcm8b55r";
     };
     meta.homepage = "https://github.com/creativenull/efmls-configs-nvim/";
   };
 
   elixir-tools-nvim = buildVimPlugin {
     pname = "elixir-tools.nvim";
-    version = "2023-12-30";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "elixir-tools";
       repo = "elixir-tools.nvim";
-      rev = "163522196c962fa87cac0df2a0d1ad332e1e0755";
-      sha256 = "02ivwxv9xfpgg1p7nsnmvfkmvgqmy636pl2w1lp4mnhqx2m661z9";
+      rev = "f7877ae4cd491fd51183be1e68b3c8b39133e794";
+      sha256 = "1s6cmk3d1knj74nv6700a1j31wpf38wrv7ywfgsqa23njnz0hm8v";
     };
     meta.homepage = "https://github.com/elixir-tools/elixir-tools.nvim/";
   };
@@ -3262,14 +3406,26 @@ final: prev:
     meta.homepage = "https://github.com/vim-scripts/errormarker.vim/";
   };
 
+  eva01-vim = buildVimPlugin {
+    pname = "eva01.vim";
+    version = "2024-01-10";
+    src = fetchFromGitHub {
+      owner = "hachy";
+      repo = "eva01.vim";
+      rev = "8ab19cfc230806a5ce0ed8f3f75c990c78a949bd";
+      sha256 = "0bh2y5afi875b1p3h6lgz4jiszajv61fi14qns6n86n8zamqc3fl";
+    };
+    meta.homepage = "https://github.com/hachy/eva01.vim/";
+  };
+
   everforest = buildVimPlugin {
     pname = "everforest";
-    version = "2024-01-24";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "everforest";
-      rev = "89080db9637bb297b4c75ae1511e9f6f61ad9c78";
-      sha256 = "0xfq7x8cdp45qn1yrq88mxhvcqfri67laq7yk077g0m274phpjdr";
+      rev = "4ce8ea3588265dd7d82113d3a937f53c59685164";
+      sha256 = "0p8jp04dx0y3l6ll163m2pvanhysfakra2knmp9mp9rmzyyqk8xp";
     };
     meta.homepage = "https://github.com/sainnhe/everforest/";
   };
@@ -3396,12 +3552,12 @@ final: prev:
 
   fidget-nvim = buildNeovimPlugin {
     pname = "fidget.nvim";
-    version = "2024-01-08";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "j-hui";
       repo = "fidget.nvim";
-      rev = "3a93300c076109d86c7ce35ec67a8034ae6ba9db";
-      sha256 = "1ld4611wpgcy5lmrw16clh2hrbx42kfa9pm0a44cb6nfcx2gy1dq";
+      rev = "4e854f3299e21d1c18279add340428a97520fc44";
+      sha256 = "1519w7hb5xh1cgpcgi323if1wiq6n0vyfilza1wqpbbk6801rlfy";
     };
     meta.homepage = "https://github.com/j-hui/fidget.nvim/";
   };
@@ -3469,16 +3625,28 @@ final: prev:
 
   flatten-nvim = buildVimPlugin {
     pname = "flatten.nvim";
-    version = "2024-01-22";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "willothy";
       repo = "flatten.nvim";
-      rev = "a999f1abd8fa9f8e2447a65726f9f44288c26f3f";
-      sha256 = "1c3r5sqqkdbgb8y1gm0pqdjqyk5gp2x7p9905b5ic6kw451vs4vg";
+      rev = "92c59ae6200e6b04aff167577ebb8a9035a6d2b3";
+      sha256 = "18sq9bh5l60nfxhc1glgn6nc35089hvp9vgkqp5s5ridnibf77z4";
     };
     meta.homepage = "https://github.com/willothy/flatten.nvim/";
   };
 
+  fleet-theme-nvim = buildVimPlugin {
+    pname = "fleet-theme-nvim";
+    version = "2024-01-08";
+    src = fetchFromGitHub {
+      owner = "felipeagc";
+      repo = "fleet-theme-nvim";
+      rev = "df10a0e0021d3267eb7c7104107988e4fb977b32";
+      sha256 = "0205qig2va639saih817wkan4pmksakdxc3a8k5rr36gwsgyf4gd";
+    };
+    meta.homepage = "https://github.com/felipeagc/fleet-theme-nvim/";
+  };
+
   flit-nvim = buildVimPlugin {
     pname = "flit.nvim";
     version = "2024-01-13";
@@ -3541,12 +3709,12 @@ final: prev:
 
   flutter-tools-nvim = buildVimPlugin {
     pname = "flutter-tools.nvim";
-    version = "2024-01-22";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "flutter-tools.nvim";
-      rev = "271eec9edb0f1a2bf30ad449ec3b4eeb2c88af05";
-      sha256 = "0kk6iz1ziymgscgv7z22m8mbkinnmj7qlnnmh0sikh14kwa21xw3";
+      rev = "28482c71537bb748ccede91facc93a2ea2803a8c";
+      sha256 = "16qa5hlj1a1aff89hfmg1my3k60rvxdibhx3ian3vrh5zmmf4762";
     };
     meta.homepage = "https://github.com/akinsho/flutter-tools.nvim/";
   };
@@ -3589,12 +3757,12 @@ final: prev:
 
   friendly-snippets = buildVimPlugin {
     pname = "friendly-snippets";
-    version = "2024-01-24";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "aced40b66b7bae9bc2c37fd7b11841d54727a7b0";
-      sha256 = "11lmhx1vnaphljk91aslkzmp71swash5xiqi0jydmdhly753m5g9";
+      rev = "dbd45e9ba76d535e4cba88afa1b7aa43bb765336";
+      sha256 = "0z5lqifjvbh76fnpcq9sya8zp0n261vz9l8c73wb31ji0bgfj2wf";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -3697,24 +3865,24 @@ final: prev:
 
   fzf-lua = buildVimPlugin {
     pname = "fzf-lua";
-    version = "2024-01-20";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "ibhagwan";
       repo = "fzf-lua";
-      rev = "36195a230246fc44e8144ee0b454fc022ac5326b";
-      sha256 = "0v86khin5ac4x3w8sw9ffmg9nz7gqclycaxi5dpsm3r13imgkiym";
+      rev = "91ec17b4fd0d810599f054eef08db967a0457fbf";
+      sha256 = "1i3qb43mfkn32lkqkql9vrka68ljxc99slns4wp2mvc2x6xamdj7";
     };
     meta.homepage = "https://github.com/ibhagwan/fzf-lua/";
   };
 
   fzf-vim = buildVimPlugin {
     pname = "fzf.vim";
-    version = "2024-01-08";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "fzf.vim";
-      rev = "f6cb5b17897ff0c38f60fecd4b529678bcfec259";
-      sha256 = "177ca7w28s854zkjqza0b6mnrhdzpxkscbpxq24yg4aw8r4kjyhs";
+      rev = "8ea9574b3ebdc44fbe3dc6381a13f9ce0c290e2f";
+      sha256 = "14b8rwmhv47ls8ncr8zhf7zb0ziq5ccgcii9fwn71iqrqhzs0m0b";
     };
     meta.homepage = "https://github.com/junegunn/fzf.vim/";
   };
@@ -3865,12 +4033,12 @@ final: prev:
 
   gitsigns-nvim = buildNeovimPlugin {
     pname = "gitsigns.nvim";
-    version = "2024-01-23";
+    version = "2024-01-27";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "300a306da9973e81c2c06460f71fd7a079df1f36";
-      sha256 = "1vy1p2cgcmfwzgfd011pnvib2vp1zgwv2kp59xlb0v3jxl8rnsvj";
+      rev = "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae";
+      sha256 = "0j9q39pks1lvp9zd97lc1frb2fq0irjizza34kp381gg6smxmc28";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -3925,12 +4093,12 @@ final: prev:
 
   go-nvim = buildVimPlugin {
     pname = "go.nvim";
-    version = "2023-12-27";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "go.nvim";
-      rev = "24d2fa373d55d9900cd4b502a88214dc17e6fab6";
-      sha256 = "0fvfqfvbnn6a7056yrmqh4fy8vzx4sg8k9n61l9gbv2zqlb13575";
+      rev = "d748e79011437d5b080006b896b3c296656641d7";
+      sha256 = "1ygrifvgy226npcwywqkvv92dfyy51v8sav6nidmqil3qxv4glrq";
     };
     meta.homepage = "https://github.com/ray-x/go.nvim/";
   };
@@ -3973,12 +4141,12 @@ final: prev:
 
   goto-preview = buildVimPlugin {
     pname = "goto-preview";
-    version = "2023-11-21";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "goto-preview";
-      rev = "16ec236fabb40b2cebfe283b1d701338886462db";
-      sha256 = "006r0dl3nj0d642lniss3gbclix32bypykh7c8ml7qfh07mjahs7";
+      rev = "527fd81a827234e26ca47891abe90497215db2a6";
+      sha256 = "123gbz6313b0qz2ydzv1gi4nlv9a1p0lg2ywp0p365lx3684nqfg";
     };
     meta.homepage = "https://github.com/rmagatti/goto-preview/";
   };
@@ -4019,6 +4187,18 @@ final: prev:
     meta.homepage = "https://github.com/liuchengxu/graphviz.vim/";
   };
 
+  gruber-darker-nvim = buildVimPlugin {
+    pname = "gruber-darker.nvim";
+    version = "2024-01-08";
+    src = fetchFromGitHub {
+      owner = "blazkowolf";
+      repo = "gruber-darker.nvim";
+      rev = "a2dda61d9c1225e16951a51d6b89795b0ac35cd6";
+      sha256 = "1sxnprl27svdf4wp38abbywjbipr15mzmx53hg5w0jz1vj0kdjvl";
+    };
+    meta.homepage = "https://github.com/blazkowolf/gruber-darker.nvim/";
+  };
+
   gruvbox = buildVimPlugin {
     pname = "gruvbox";
     version = "2023-08-14";
@@ -4045,24 +4225,24 @@ final: prev:
 
   gruvbox-material = buildVimPlugin {
     pname = "gruvbox-material";
-    version = "2024-01-24";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "gruvbox-material";
-      rev = "479150eb46ddf7a724782730b1414a9b6bbe4628";
-      sha256 = "1dj2cm7an9a0n6pj9j6vin242pfv90qd4cad8d9zn93i6axaafwj";
+      rev = "b17fe51688b76e2ccf118e5f76f3978b9a8c503e";
+      sha256 = "00yd2gwv71rbnkyq1ldg1jgwp6np994yr3sfvykjxjc98p1lsmfn";
     };
     meta.homepage = "https://github.com/sainnhe/gruvbox-material/";
   };
 
   gruvbox-nvim = buildVimPlugin {
     pname = "gruvbox.nvim";
-    version = "2024-01-01";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "gruvbox.nvim";
-      rev = "4176b0b720db0c90ab4030e5c1b4893faf41fd51";
-      sha256 = "1s7c02ypjx6jf4fznmgdn8zs41y9jcv5nqj6hfwvza7mwvkbmz57";
+      rev = "6e4027ae957cddf7b193adfaec4a8f9e03b4555f";
+      sha256 = "1kk38xpwqlzvm3rgdii25nyxd8bcsgjjzin3a7sb0kyg5x3ynscd";
     };
     meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
   };
@@ -4081,12 +4261,12 @@ final: prev:
 
   guard-nvim = buildVimPlugin {
     pname = "guard.nvim";
-    version = "2024-01-13";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "nvimdev";
       repo = "guard.nvim";
-      rev = "d4782860b7da344d7409edbe7ee3693d5b8ea226";
-      sha256 = "017lsdh1a3z43dw5liz0hv2fic8rbxmw100rfnj9w3xxf6a5iv9k";
+      rev = "4ffdefe0f181ea7e449f60fe94ccc967220181c5";
+      sha256 = "0apv9jii9lw1rk84qycxgyfddcri9y5i3zkf2mpd1jhl1czw7iyb";
     };
     meta.homepage = "https://github.com/nvimdev/guard.nvim/";
   };
@@ -4129,12 +4309,12 @@ final: prev:
 
   hardtime-nvim = buildVimPlugin {
     pname = "hardtime.nvim";
-    version = "2023-12-30";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "m4xshen";
       repo = "hardtime.nvim";
-      rev = "4ba3be553fa0b713c7b817f6d201b07d282accf3";
-      sha256 = "12z1ii4p1m6qan048f3y7g48dcnp1dj1mfa494as5rbc322r4yfn";
+      rev = "860e912895176112868c97b46277f547e149f5e6";
+      sha256 = "11pj5lx5k5db66jkm7avkh2nmdqym09ipxa8ylq98d0cqzk8pd8z";
     };
     meta.homepage = "https://github.com/m4xshen/hardtime.nvim/";
   };
@@ -4176,24 +4356,24 @@ final: prev:
 
   haskell-snippets-nvim = buildVimPlugin {
     pname = "haskell-snippets.nvim";
-    version = "2024-01-15";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "mrcjkb";
       repo = "haskell-snippets.nvim";
-      rev = "c26279d568452f5474f26470aff6549f94ff7cd3";
-      sha256 = "1rl9g25afaqiw16i582hbnnag0v6xcn28f09cy8vfddj696ygzg6";
+      rev = "0adc2b0956c2de107bbf3b0329b5b7450a1d07e4";
+      sha256 = "1mpj9vpisd0g0w5qg0ck5lg4birxwlc9dw9haqcsynjpfk3za8q3";
     };
     meta.homepage = "https://github.com/mrcjkb/haskell-snippets.nvim/";
   };
 
   haskell-tools-nvim = buildNeovimPlugin {
     pname = "haskell-tools.nvim";
-    version = "2024-01-21";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "haskell-tools.nvim";
-      rev = "24f1ff1ac9f6ad71ba2535d491e6d21e700a6f8b";
-      sha256 = "0h7nijxgmwh75nmsim9bzx5qc0sawqj3v1iwzjkkqas05rmnjbjp";
+      rev = "48bd9e6581ff9442f1ca81995df2f1c3acba24a0";
+      sha256 = "1bknval844d889vbsivd1ydz2bm60hmqhbh2xlb8rqbr1w8g1sz4";
     };
     meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/";
   };
@@ -4236,24 +4416,24 @@ final: prev:
 
   headlines-nvim = buildVimPlugin {
     pname = "headlines.nvim";
-    version = "2023-11-13";
+    version = "2024-02-08";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "headlines.nvim";
-      rev = "e3d7bfdf40e41a020d966d35f8b48d75b90367d2";
-      sha256 = "1acxyy5317qf4ry0z32xkk3aasp233nss0nyd8dzfkf631klvzi2";
+      rev = "d39c4e6ed8963717bc9b2dc39fada8fe1039e9bf";
+      sha256 = "1a3qplb55gp5g9cprb0gz135gyq1nn2m7j8jjz4m6m867wsf859m";
     };
     meta.homepage = "https://github.com/lukas-reineke/headlines.nvim/";
   };
 
   heirline-nvim = buildVimPlugin {
     pname = "heirline.nvim";
-    version = "2024-01-12";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "heirline.nvim";
-      rev = "1b6f12e011f225a26aa162905cbf68804479e7e6";
-      sha256 = "0kqrriz5c0l5ljmz7amdhg3zrnkx0lpfjdxdagpcp9zyarvgdc6q";
+      rev = "03cff30d7e7d3ba6fdc00925f015822f79cef908";
+      sha256 = "1bw4077h3cv01wnz0gv5qkdyxi8naszkgl11zi9mqb54asl69c41";
     };
     meta.homepage = "https://github.com/rebelot/heirline.nvim/";
   };
@@ -4319,12 +4499,12 @@ final: prev:
 
   hmts-nvim = buildVimPlugin {
     pname = "hmts.nvim";
-    version = "2023-08-28";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "calops";
       repo = "hmts.nvim";
-      rev = "14fd941d7ec2bb98314a1aacaa2573d97f1629ab";
-      sha256 = "09f403w6gglfycghjzx4dc5gv71wqb6ywnmcvm15n1ldxasb6jwd";
+      rev = "ba1239972a1f56b94252d4f85a43e777ac419662";
+      sha256 = "1n67k7kl2xz3zi75h1qb524nxlgvrgwr4ywsykqwz1k7dlkxh3ck";
     };
     meta.homepage = "https://github.com/calops/hmts.nvim/";
   };
@@ -4379,12 +4559,12 @@ final: prev:
 
   hover-nvim = buildVimPlugin {
     pname = "hover.nvim";
-    version = "2024-01-24";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "hover.nvim";
-      rev = "060ea7f5a7b28be87689e2b3d940baf6efc2da04";
-      sha256 = "1ql2c34h294mmlwl44q3gd3a1v60iplvx9l9lyhzp8k5ddc8c4i0";
+      rev = "4d04667cf3d6b22379e02ccef6a2fdc6e8837d56";
+      sha256 = "066c7gjkgp9gj0kcg7vjik3sgzbfrbjm2j6fwcssh1vy9lgx12wk";
     };
     meta.homepage = "https://github.com/lewis6991/hover.nvim/";
   };
@@ -4463,12 +4643,12 @@ final: prev:
 
   image-nvim = buildNeovimPlugin {
     pname = "image.nvim";
-    version = "2024-01-08";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "3rd";
       repo = "image.nvim";
-      rev = "245422e5c4774f0640d41c0eadec77396f2be4a9";
-      sha256 = "0mx0sgibinr0vv4fafzm2d5kvqxlyi502imqldz69kxn7xqamfi1";
+      rev = "4c6cb5ad93ee93d8d7b7c84e1eb291cee99f0a0e";
+      sha256 = "0z3c7l12rjabb70rrlagj2j6cilvmqhws2dn0fp8s2mnapgcj7cs";
     };
     meta.homepage = "https://github.com/3rd/image.nvim/";
   };
@@ -4535,12 +4715,12 @@ final: prev:
 
   indent-blankline-nvim = buildVimPlugin {
     pname = "indent-blankline.nvim";
-    version = "2024-01-12";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "12e92044d313c54c438bd786d11684c88f6f78cd";
-      sha256 = "0mrlq0ymxg80nr9ph4gk4ldf6xmd4pxarpybb779xy7x417mnjsg";
+      rev = "821a7acd88587d966f7e464b0b3031dfe7f5680c";
+      sha256 = "0pc9irbfqvy55ymdyd60a69y3vvi1nqvs4j9akg624pvnda10fv7";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -4595,12 +4775,12 @@ final: prev:
 
   intellitab-nvim = buildVimPlugin {
     pname = "intellitab.nvim";
-    version = "2021-11-13";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "pta2002";
       repo = "intellitab.nvim";
-      rev = "a6c1a505865f6131866d609c52440306e9914b16";
-      sha256 = "19my464jsji7cb81h0agflzb0vmmb3f5kapv0wwhpdddcfzvp4fg";
+      rev = "31f914282e342c886243edb22dcfc82ffe6b7528";
+      sha256 = "1gq1mvhwdmjmsc4dypigy7qaj1yyi4zn7faws8l8kvqm6k3ff057";
     };
     meta.homepage = "https://github.com/pta2002/intellitab.nvim/";
   };
@@ -4776,12 +4956,12 @@ final: prev:
 
   kanagawa-nvim = buildVimPlugin {
     pname = "kanagawa.nvim";
-    version = "2023-10-02";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "kanagawa.nvim";
-      rev = "c19b9023842697ec92caf72cd3599f7dd7be4456";
-      sha256 = "07wwz1z3am862igx6hkkyymvj2807a1a0y51324jvk27csidrcm5";
+      rev = "ab41956c4559c3eb21e713fcdf54cda1cb6d5f40";
+      sha256 = "0gii4kfp8hpr9413pq28fd2b77yrhcfl3476ndgydzclnibw9yj7";
     };
     meta.homepage = "https://github.com/rebelot/kanagawa.nvim/";
   };
@@ -4884,12 +5064,12 @@ final: prev:
 
   lazy-lsp-nvim = buildVimPlugin {
     pname = "lazy-lsp.nvim";
-    version = "2024-01-02";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "dundalek";
       repo = "lazy-lsp.nvim";
-      rev = "fdfc7276bbbb884913d04e09bdf7d88e131b603f";
-      sha256 = "11mzy5292iiikpxa35gs6dip408xma84cjkpis6dqzdih0rkmwxv";
+      rev = "cdfeaf4f6c1714990180453723921002374a30de";
+      sha256 = "12y750mwy5awndapvsjsxqk77samyvjsb156fc8ggpwmd067jlq8";
     };
     meta.homepage = "https://github.com/dundalek/lazy-lsp.nvim/";
   };
@@ -4920,12 +5100,12 @@ final: prev:
 
   lean-nvim = buildVimPlugin {
     pname = "lean.nvim";
-    version = "2024-01-20";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "4dff4c9d40678d895c8fe8a19b7ad98a196d0921";
-      sha256 = "1rl8bsnpi095njj23ihhihky0r5nagcffc5d3drhv7q74jj3bz0x";
+      rev = "1a2a2dfbc7e6775e9ec8b84e5eadaf31fde1894e";
+      sha256 = "1lnwsiam4wkqjaamkdb34y1mgy5pir38kssm41v3w83n4gnn8g6f";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -4956,24 +5136,24 @@ final: prev:
 
   leap-nvim = buildVimPlugin {
     pname = "leap.nvim";
-    version = "2024-01-20";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "leap.nvim";
-      rev = "82f4ae91e8c3a192292d9ffeccbb15f71b57bf2e";
-      sha256 = "0lad6zzdws9gjd6lqj0339vc958i488jyiwp98yhmdjg29pfb4mq";
+      rev = "52f7ce4fcc1764caac77cf4d43c2c4f5fb42d517";
+      sha256 = "1dpgj7pmq76mc0vg1ahxnh3scl3zdydyfvrhb8gjmdhh32lzwi13";
     };
     meta.homepage = "https://github.com/ggandor/leap.nvim/";
   };
 
   legendary-nvim = buildVimPlugin {
     pname = "legendary.nvim";
-    version = "2023-10-23";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "mrjones2014";
       repo = "legendary.nvim";
-      rev = "234e2ef8dec65db153c63a8b310c74155bb93ee7";
-      sha256 = "051m8h7600f88ljn6m4mp49xi3pgh2ak8h01bb7gqk1lkq47d7ah";
+      rev = "8277e7ffbde3d32cc582e81b5d109f4071bbbc4b";
+      sha256 = "1frbi1wvhmhgr4cvlxh419fjww98h8b0h1zpcbjbvbv17iakchj9";
     };
     meta.homepage = "https://github.com/mrjones2014/legendary.nvim/";
   };
@@ -5028,12 +5208,12 @@ final: prev:
 
   lh-brackets = buildVimPlugin {
     pname = "lh-brackets";
-    version = "2023-05-16";
+    version = "2024-02-08";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-brackets";
-      rev = "b0fac72b5fc7592fe52458e45b77ff86919db014";
-      sha256 = "1mlmi0xiaq2dyblv3qx82ka5ka1nghnw99jqkwy4r3dm4rs1b4a5";
+      rev = "4899ead266d99e0b9749b9e44f6a33ea83384a7d";
+      sha256 = "0bg8p4g0v3y7sikcwb1g2n3kr4rcafskg1if6gh1xnr1g0czbckw";
     };
     meta.homepage = "https://github.com/LucHermitte/lh-brackets/";
   };
@@ -5268,12 +5448,12 @@ final: prev:
 
   lsp-overloads-nvim = buildVimPlugin {
     pname = "lsp-overloads.nvim";
-    version = "2024-01-07";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "Issafalcon";
       repo = "lsp-overloads.nvim";
-      rev = "5064093b8614663c2b9db1f6ce426f7c8cc89970";
-      sha256 = "1pfjb14gvnp88jx12snrcxz1kf1zmn8dqqay5mnhhcbi8y19f452";
+      rev = "6b023414d7a6264ce1880148f1a61cf10294546e";
+      sha256 = "1svxn4kvhr666hcjfm3qii03wl2djxch52ffn7a2fggv7116vjnn";
     };
     meta.homepage = "https://github.com/Issafalcon/lsp-overloads.nvim/";
   };
@@ -5304,12 +5484,12 @@ final: prev:
 
   lsp-zero-nvim = buildVimPlugin {
     pname = "lsp-zero.nvim";
-    version = "2024-01-22";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "VonHeikemen";
       repo = "lsp-zero.nvim";
-      rev = "c129311f4867675a52551b0a7ef12186308be00b";
-      sha256 = "0j1cc55y61bx7mxmxgkdrjx89jbgzfvkhi7kja215gqc144rrd0i";
+      rev = "abac76482ec3012a2b359ba956a74e2ffd33d46f";
+      sha256 = "0y5dv0gb8yy1isgz271yr712xspphax5ii4lc6cnlzrhxrmjdi8c";
     };
     meta.homepage = "https://github.com/VonHeikemen/lsp-zero.nvim/";
   };
@@ -5375,24 +5555,24 @@ final: prev:
 
   lspsaga-nvim = buildVimPlugin {
     pname = "lspsaga.nvim";
-    version = "2024-01-20";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "nvimdev";
       repo = "lspsaga.nvim";
-      rev = "2198c07124bef27ef81335be511c8abfd75db933";
-      sha256 = "03p433lw15km3gqf5p5jlw8xi1v8ifxr3byc5f7h692bgnn2983h";
+      rev = "b1b140aa20a0cf353cd3e282870429b48b30a169";
+      sha256 = "1psgxp5ynnbnks8337ralc0whw79d0l75n9q2sb62845dgs8i00f";
     };
     meta.homepage = "https://github.com/nvimdev/lspsaga.nvim/";
   };
 
   ltex_extra-nvim = buildVimPlugin {
     pname = "ltex_extra.nvim";
-    version = "2023-07-28";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "barreiroleo";
       repo = "ltex_extra.nvim";
-      rev = "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13";
-      sha256 = "1v4vxfysvisl9l91f519mbj4r7a43gzfyaj4cbgs3fc650h00f1g";
+      rev = "42dd3572cb09b52a137e91e515f2dff5eb631b1e";
+      sha256 = "1hirgy2w7lqn22qb20xkcxd7p1212wvra1xbyy43ky3an0bn6ivs";
     };
     meta.homepage = "https://github.com/barreiroleo/ltex_extra.nvim/";
   };
@@ -5423,12 +5603,12 @@ final: prev:
 
   luasnip = buildNeovimPlugin {
     pname = "luasnip";
-    version = "2024-01-17";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "2dbef19461198630b3d7c39f414d09fb07d1fdd2";
-      sha256 = "0mg2nn4r8124ki7vs659jla6494xgcq1k678xgdkzkyd0ja3vmhd";
+      rev = "f3b3d3446bcbfa62d638b1903ff00a78b2b730a1";
+      sha256 = "17q0z9jm9n3c4jj27xxd0nk3vflwnnwybkf47rxvpx95d3wkr0gi";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
@@ -5484,12 +5664,12 @@ final: prev:
 
   mark-radar-nvim = buildVimPlugin {
     pname = "mark-radar.nvim";
-    version = "2021-06-22";
+    version = "2024-02-06";
     src = fetchFromGitHub {
       owner = "winston0410";
       repo = "mark-radar.nvim";
-      rev = "d7fb84a670795a5b36b18a5b59afd1d3865cbec7";
-      sha256 = "1y3l2c7h8czhw0b5m25iyjdyy0p4nqk4a3bxv583m72hn4ac8rz9";
+      rev = "ae271a781e1f42f9d5bddcc4ffe97633526a6166";
+      sha256 = "1m5pcgrkyrfbjrkx6ndl3akc58dkz3l10k51dnkfy2yw2s6jqhk6";
     };
     meta.homepage = "https://github.com/winston0410/mark-radar.nvim/";
   };
@@ -5532,36 +5712,36 @@ final: prev:
 
   mason-lspconfig-nvim = buildVimPlugin {
     pname = "mason-lspconfig.nvim";
-    version = "2024-01-24";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "williamboman";
       repo = "mason-lspconfig.nvim";
-      rev = "b9084b1f42f790d6230dc66dbcb6bcc35b148552";
-      sha256 = "0r8idwgaa2w1ijxkgav2p3bbmka8mm3cihnwljgqc6k5cydbyc6j";
+      rev = "fe4cce44dec93c69be17dad79b21de867dde118a";
+      sha256 = "0p788r8k6dj8w5kxkhg8jwzrgyspvlbwd48lhday1gvqxbgfrcb8";
     };
     meta.homepage = "https://github.com/williamboman/mason-lspconfig.nvim/";
   };
 
   mason-tool-installer-nvim = buildVimPlugin {
     pname = "mason-tool-installer.nvim";
-    version = "2024-01-15";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "WhoIsSethDaniel";
       repo = "mason-tool-installer.nvim";
-      rev = "bf0f4f8062d3acbe0afcc61db01a4d19d96310e4";
-      sha256 = "1kawdvc1sk8drk2lkgj4zy3hbhbcyn9j6ahnzxwi7jlw9p3j3cmk";
+      rev = "1212fb6082b7177dde17ea65e429e027835aeb40";
+      sha256 = "0zrdpdqklmk1f9gsim209x28h4qisf1hljmwq2imc4lzpwca39kc";
     };
     meta.homepage = "https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim/";
   };
 
   mason-nvim = buildVimPlugin {
     pname = "mason.nvim";
-    version = "2024-01-22";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "williamboman";
       repo = "mason.nvim";
-      rev = "9c9416817c9f4e6f333c749327a1ed5355cfab61";
-      sha256 = "146p31z37kixchad2rrdndx6wmnfb354i34qhwwjc6xg5jqc1x9i";
+      rev = "c43eeb5614a09dc17c03a7fb49de2e05de203924";
+      sha256 = "0lbf2mkl27ag0lsh5b1l4n1sgaqndpkybnk1k2q6lrvpviwq609z";
     };
     meta.homepage = "https://github.com/williamboman/mason.nvim/";
   };
@@ -5580,12 +5760,12 @@ final: prev:
 
   material-nvim = buildVimPlugin {
     pname = "material.nvim";
-    version = "2024-01-22";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "marko-cerovac";
       repo = "material.nvim";
-      rev = "7cf05c682044a528510cc41135d83f52e4356f15";
-      sha256 = "1y7906y3c88sxcy4fccjvigy5vmxxllr45c6kg8w55404jaavhvi";
+      rev = "1804e517ceb0fce958a9fabaa94c9a6e09d54b8f";
+      sha256 = "1x4cqwy9anirl8y4lby1rdnxblypi256qdpcdd8wccfk6jsvd74r";
     };
     meta.homepage = "https://github.com/marko-cerovac/material.nvim/";
   };
@@ -5628,16 +5808,40 @@ final: prev:
 
   melange-nvim = buildVimPlugin {
     pname = "melange-nvim";
-    version = "2023-10-23";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "savq";
       repo = "melange-nvim";
-      rev = "ca3444c8e5002ee5ab6f077660317f869c7b6a36";
-      sha256 = "104lc4kfx5jr6fd684vx1bps7ifbqfx6iyi3nbczbhycw0wfw4r4";
+      rev = "ec15b091304580f1d37e711c3a54bc828b09e255";
+      sha256 = "1240s01m9mayjgqr0py3zwmbnvq06wzpm3pwdjmy3mj6kkaxxccp";
     };
     meta.homepage = "https://github.com/savq/melange-nvim/";
   };
 
+  miasma-nvim = buildVimPlugin {
+    pname = "miasma.nvim";
+    version = "2023-10-24";
+    src = fetchFromGitHub {
+      owner = "xero";
+      repo = "miasma.nvim";
+      rev = "c672feec07d4e77ac485ee58e3432a96ebe51953";
+      sha256 = "187d35g6s53rs7zi3p8c4d8sy23qdpzy22i2vmr8apzgc2hirvx7";
+    };
+    meta.homepage = "https://github.com/xero/miasma.nvim/";
+  };
+
+  midnight-nvim = buildVimPlugin {
+    pname = "midnight.nvim";
+    version = "2024-01-30";
+    src = fetchFromGitHub {
+      owner = "dasupradyumna";
+      repo = "midnight.nvim";
+      rev = "13d812355db1e535ba5c790186d301e1fe9e7e1b";
+      sha256 = "1ynwivjw4kn4zz4ahpinvdyd5ndcss308nbqap5pnqzza2k8a7qh";
+    };
+    meta.homepage = "https://github.com/dasupradyumna/midnight.nvim/";
+  };
+
   mind-nvim = buildVimPlugin {
     pname = "mind.nvim";
     version = "2023-03-22";
@@ -5652,12 +5856,12 @@ final: prev:
 
   mini-nvim = buildVimPlugin {
     pname = "mini.nvim";
-    version = "2024-01-23";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "echasnovski";
       repo = "mini.nvim";
-      rev = "1cd8d7e8318071eddc536815f5cafe50b012ac29";
-      sha256 = "03gpcx09a53w73bf4kyhk5xa764bxcaaymwrnw1jr0yqinyz7j62";
+      rev = "1d49300d50a2c8ee7faecceb151084f207ff65ba";
+      sha256 = "1md4wbydbnwmyw72pj1w67a0ljcgx4qam2a41ka3bxcr2hr2n5nw";
     };
     meta.homepage = "https://github.com/echasnovski/mini.nvim/";
   };
@@ -5688,12 +5892,12 @@ final: prev:
 
   mkdnflow-nvim = buildVimPlugin {
     pname = "mkdnflow.nvim";
-    version = "2023-12-26";
+    version = "2024-02-08";
     src = fetchFromGitHub {
       owner = "jakewvincent";
       repo = "mkdnflow.nvim";
-      rev = "7b2fc47d6a3ae3b19ebc5a7eea00ea1e712f20d1";
-      sha256 = "010gh0qdqqx53fpxjhfn3w0r5kkdw4h27vl6zbrvw4n0ilqlg9n2";
+      rev = "1b24b8b5fe10fe09af4572c0165293e0dcd998aa";
+      sha256 = "04bsnj8v1wwkq92dlgk1jn8sx964zawcc7im858r4jxczycg8kj8";
     };
     meta.homepage = "https://github.com/jakewvincent/mkdnflow.nvim/";
   };
@@ -5712,12 +5916,12 @@ final: prev:
 
   modicator-nvim = buildVimPlugin {
     pname = "modicator.nvim";
-    version = "2024-01-25";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "mawkler";
       repo = "modicator.nvim";
-      rev = "81f0e320d63e2bb59219b9de8dc244e856412020";
-      sha256 = "18dkiksnnrxhzisarrxzza3lyankw6h3zf1dvzcb6rbbmn946bz5";
+      rev = "d35bb7c3a93e311c784cb439ca26209181c0815e";
+      sha256 = "0dg7q1x2mzkhlvrbr26zcqih81b5wzb9wvh5zm0iw099pgf2fq37";
     };
     meta.homepage = "https://github.com/mawkler/modicator.nvim/";
   };
@@ -5748,24 +5952,24 @@ final: prev:
 
   molten-nvim = buildVimPlugin {
     pname = "molten-nvim";
-    version = "2024-01-20";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "benlubas";
       repo = "molten-nvim";
-      rev = "4a3980f74742ac6f151cc00e444e74fc02b799a2";
-      sha256 = "081x575151glxz0lfpif3msdzx0wjr9730rwj4ynkavjj5fcx9s3";
+      rev = "21d766c2d60e5f6e03f507e7f3e382a2a927ad41";
+      sha256 = "15bnp062hxjh477pr5rqs4w9wpqy6rf2h64l9hsaijamrk19qd4y";
     };
     meta.homepage = "https://github.com/benlubas/molten-nvim/";
   };
 
   monokai-pro-nvim = buildVimPlugin {
     pname = "monokai-pro.nvim";
-    version = "2024-01-23";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "loctvl842";
       repo = "monokai-pro.nvim";
-      rev = "c2fe71f5b47ff5042053dc74cf8a849d662f2275";
-      sha256 = "00p0y008w07c5yd3aqczxiidl0x269fsblg3lnjd4xxshjhpdsp9";
+      rev = "1b9b086df95ad9a6b946c56f65fa2d048297c00b";
+      sha256 = "14iks0rcnr695lv39i85ysfh4752y5x56mcr5dl9np5sk7820v3p";
     };
     meta.homepage = "https://github.com/loctvl842/monokai-pro.nvim/";
   };
@@ -6060,12 +6264,12 @@ final: prev:
 
   neo-tree-nvim = buildVimPlugin {
     pname = "neo-tree.nvim";
-    version = "2024-01-21";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "nvim-neo-tree";
       repo = "neo-tree.nvim";
-      rev = "e578fe7a5832421b0d2c5b3c0a7a1e40e0f6a47a";
-      sha256 = "0s0j67zv6hzj4fsa7kp5rkbbgcvx7n7hf7vx14v8lwaz139lml5w";
+      rev = "db178f4a49c19f8e4ed5a01dafa9d79e76f0081e";
+      sha256 = "1kzbz3163mw70cbxwf0kpb5dhz3qh68ywx23n7m4mzrg4anwlhkb";
     };
     meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/";
   };
@@ -6084,26 +6288,26 @@ final: prev:
 
   neoconf-nvim = buildVimPlugin {
     pname = "neoconf.nvim";
-    version = "2024-01-22";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neoconf.nvim";
-      rev = "cfc29315288515849aa54c05828d49f01f033b66";
-      sha256 = "0h642cscysznr4rxzch4kq99l7f2kgdxyiibws844w1wsail1zqx";
+      rev = "4ef6c6c5882e7e16209173fb8c47414202843384";
+      sha256 = "0shaipc3nnm3gr19ivxcyqydihlryr07axs1sqvhy0x0x02y37jp";
     };
     meta.homepage = "https://github.com/folke/neoconf.nvim/";
   };
 
   neocord = buildVimPlugin {
     pname = "neocord";
-    version = "2024-02-10";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "IogaMaster";
       repo = "neocord";
-      rev = "d5f51d466644fe3c62eda4c41e373ecdc299a367";
-      sha256 = "1gv7lkqgiljgazzm0r5nbnvj3rj0l376bcz3hf2d881h4xi2lq3l";
+      rev = "387854d81a2c55207b7223ab5221f9d0afc6b273";
+      sha256 = "1a9ykcslpb90y332az3khwbw8kjnnw6wpmgq3yhryd1a9viyz6kf";
     };
-    meta.homepage = "https://github.com/IogaMaster/neocord";
+    meta.homepage = "https://github.com/IogaMaster/neocord/";
   };
 
   neodark-vim = buildVimPlugin {
@@ -6120,24 +6324,24 @@ final: prev:
 
   neodev-nvim = buildVimPlugin {
     pname = "neodev.nvim";
-    version = "2024-01-25";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neodev.nvim";
-      rev = "3408a4daeca5ff8f41cb2c668b6d8fcc665f793a";
-      sha256 = "18rgw2jlwyyc586ajrrkhgj6ddnz784ijjxjk73007icdsychyh6";
+      rev = "de3685b8c1cd439dd96b7958793f6f381f98652d";
+      sha256 = "184v1zxbcrndkzbqa9v9mc82vy0mjjwkww62n6nqqvf316dklzwf";
     };
     meta.homepage = "https://github.com/folke/neodev.nvim/";
   };
 
   neoformat = buildVimPlugin {
     pname = "neoformat";
-    version = "2024-01-10";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "209b56a00fc0206d81db768b121b94d0daf48b64";
-      sha256 = "1ii10q91l78c1hbmz0p0jv7vqpgz69rbklznzckrbia8mqz416yk";
+      rev = "b8e0baf965d2fbb173aabe3d847538744c0e321b";
+      sha256 = "1b9xrh8zp2x05pyn0rrfzx1db9hv98737zn910fm36arbhr5flvq";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
@@ -6156,12 +6360,12 @@ final: prev:
 
   neogit = buildVimPlugin {
     pname = "neogit";
-    version = "2024-01-22";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "NeogitOrg";
       repo = "neogit";
-      rev = "ce0c369ccdba3f644a3b28f4c053421f435352c9";
-      sha256 = "0zvs6ygghz786fs436pladaml57mfb28lfx0xciwdrxfcd25rmf0";
+      rev = "1c0369a39587054ff473179c1c04e793fb3d6378";
+      sha256 = "12viin5g409ac5d6p62hz9kyvzrjiyg0l04m28i1hxh5qn719k3q";
     };
     meta.homepage = "https://github.com/NeogitOrg/neogit/";
   };
@@ -6228,36 +6432,36 @@ final: prev:
 
   neorg = buildVimPlugin {
     pname = "neorg";
-    version = "2024-01-21";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "28cbafbc0cde316d8e2618ff26377200225e9393";
-      sha256 = "1z1ir56mlwaay20x7yqdhkrj2nl39xhd63maims68jam59l55lq9";
+      rev = "7b3e794aa8722826418501608c8a3ffe4e19ea30";
+      sha256 = "1cr8hxwyzcca5kwajadvsmi0v1hzr8lfi3gcyhilxjnmaiiqaing";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
 
   neorg-telescope = buildVimPlugin {
     pname = "neorg-telescope";
-    version = "2023-11-12";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg-telescope";
-      rev = "6a7a677c40fa3c348924a4e2a06a513e0b34c056";
-      sha256 = "05m64vwi55kzknz9za0izc9hs1djc46467d7d8ijx3268sw3l0x6";
+      rev = "418f8fd4bd7360d954613a2322b4eb2888ac3ad9";
+      sha256 = "0r09xwvzb2ma25ngfiilwd9i6ci2llkv98scdzjkq5z96m1h6vnx";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg-telescope/";
   };
 
   neoscroll-nvim = buildVimPlugin {
     pname = "neoscroll.nvim";
-    version = "2023-12-08";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "karb94";
       repo = "neoscroll.nvim";
-      rev = "be4ebf855a52f71ca4338694a5696675d807eff9";
-      sha256 = "1yqh9ig3w8kyzksv8sv7xsc2rk2l637q54g4wv8zqwz226cw56ws";
+      rev = "6e3546751076890304428150e53bd59198a4505d";
+      sha256 = "1hm93lzg9mgpcm871gln6dq864mm2llaypcm0415gyvpqy2fmr3n";
     };
     meta.homepage = "https://github.com/karb94/neoscroll.nvim/";
   };
@@ -6300,24 +6504,24 @@ final: prev:
 
   neotest = buildVimPlugin {
     pname = "neotest";
-    version = "2024-01-25";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest";
-      rev = "73043d666780e35185a77589e01bec96a52db910";
-      sha256 = "1aj4zrp21h7h77sw70l2g3spkgzl5vb24vv2halrfrqms7jfaaqf";
+      rev = "f6048f32be831907fb15018af2688ff6633704fc";
+      sha256 = "0ib8psdw472w3zxiyiw0inps7lg7jfyzhwsi9s7lpyhkjb5m7ljk";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest/";
   };
 
   neotest-dart = buildVimPlugin {
     pname = "neotest-dart";
-    version = "2024-01-10";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "sidlatau";
       repo = "neotest-dart";
-      rev = "b776e86c08b1cfd23fd49c337214d9ea67bb6ccc";
-      sha256 = "0x30v0dfi7d1940ga0qnbn9sidy0x6wy58lbvnpb3v1ig24p435y";
+      rev = "242b380d44c0932fbc990a264414542e345c5592";
+      sha256 = "0072vmr875dk4pfwrjvjrr0mrihn3jq5ikn0jrnrxy7lvqf97r60";
     };
     meta.homepage = "https://github.com/sidlatau/neotest-dart/";
   };
@@ -6336,12 +6540,12 @@ final: prev:
 
   neotest-dotnet = buildVimPlugin {
     pname = "neotest-dotnet";
-    version = "2023-12-22";
+    version = "2024-02-07";
     src = fetchFromGitHub {
       owner = "Issafalcon";
       repo = "neotest-dotnet";
-      rev = "1532f6123207dcfe36263e7f3182609f68588da8";
-      sha256 = "06jvpsw21gryy4vzv6ag2zradm71v7lrzvkhhhpljyvc482yvflg";
+      rev = "cc387cbd39fd7455ea0a3e0348ccd0da35aa3443";
+      sha256 = "0fndhlgwngvm5dnxxkpv8cbrf1qk5pla2ys9pmgabf3q7js7lq0f";
     };
     meta.homepage = "https://github.com/Issafalcon/neotest-dotnet/";
   };
@@ -6361,48 +6565,48 @@ final: prev:
 
   neotest-go = buildVimPlugin {
     pname = "neotest-go";
-    version = "2023-11-30";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest-go";
-      rev = "d29d20d912aca81a07c50022d880cc66f0d26542";
-      sha256 = "0dhmkh2k18klhlv3cpjsi23ym0isrsf59dr0da2m9528pjzf1qi6";
+      rev = "ba5d536304ed6971f00d16b48ec26997622ffb43";
+      sha256 = "0adbz26anv3qnwjw018bkxcf3syjxjdkv71zw3lnal34k5xp6x27";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest-go/";
   };
 
   neotest-haskell = buildVimPlugin {
     pname = "neotest-haskell";
-    version = "2024-01-15";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "neotest-haskell";
-      rev = "25c5d7c8619abe9dece137aacf2abe9d38995fad";
-      sha256 = "06xpqvrxx9n2yn0mrbk90mhwhn42gbbwl7n73g5dn5y1krkk50hn";
+      rev = "02852878c8d1e9f3cc61ea2d6592335d4cf6a54a";
+      sha256 = "0967yv47gld3gy3nh1fxqxqnfjjaajqnil42z7pwz7bkxgs63hib";
     };
     meta.homepage = "https://github.com/MrcJkb/neotest-haskell/";
   };
 
   neotest-jest = buildVimPlugin {
     pname = "neotest-jest";
-    version = "2023-12-17";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest-jest";
-      rev = "a394106cf053eef86d65ae04c4b93a1a7bd60aef";
-      sha256 = "0vgb4lvi1cvdjqwljdrzgvpm772jj9cj44s1hms58iwl35rg17wq";
+      rev = "c2118446d770fedb360a91b1d91a7025db86d4f1";
+      sha256 = "0wzgwx4mdwhrj77bf0wv6rv4qjii118hayavdamwsszpm1ddyvaz";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest-jest/";
   };
 
   neotest-pest = buildVimPlugin {
     pname = "neotest-pest";
-    version = "2022-11-24";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "theutz";
       repo = "neotest-pest";
-      rev = "a50582719267a847c84e1564e97c698d994f883c";
-      sha256 = "00scdxkqkfsdq6sn1a7cdcrqpdi8bzi5z2qjqlysp6njilbd1jws";
+      rev = "94ed941af4ea6e7d0caa4de8afbf966f3cfe35e4";
+      sha256 = "1655rpr007ix9z4nxkabnvdk8c0kj080waxddaq656dhdzdj7l1q";
     };
     meta.homepage = "https://github.com/theutz/neotest-pest/";
   };
@@ -6461,8 +6665,8 @@ final: prev:
     src = fetchFromGitHub {
       owner = "rouge8";
       repo = "neotest-rust";
-      rev = "d945ccc5041ff02b86313cc5d02affd39f8e1c3f";
-      sha256 = "00194ldhg9m2w5mr0wzcvz7d7icjb2ym0plqzhh4yga0iipqsdvb";
+      rev = "392b54e18174b8c69eba779f94a9fd0b318d383e";
+      sha256 = "1sg41hfgrjc0nc1qn4rddgipq1s5gdnc1i5i4wijkjvyd7cw5nhy";
     };
     meta.homepage = "https://github.com/rouge8/neotest-rust/";
   };
@@ -6493,24 +6697,24 @@ final: prev:
 
   neotest-vitest = buildVimPlugin {
     pname = "neotest-vitest";
-    version = "2024-01-16";
+    version = "2024-02-09";
     src = fetchFromGitHub {
       owner = "marilari88";
       repo = "neotest-vitest";
-      rev = "87e91bfd9419a8c74bf0d105e2ae31b9692daf0b";
-      sha256 = "0kfbb9rywkfaz7v2ls7dnncbg221ayyrlp1cz9sgbqib8627pmmz";
+      rev = "75bb96b8b18adcf5152fdb8a9342373a20a463ce";
+      sha256 = "1k459x2dyw2gr3i9ayqwldbad6zwbr6sp7js1bz9i4ily8wn5y7y";
     };
     meta.homepage = "https://github.com/marilari88/neotest-vitest/";
   };
 
   neovim-ayu = buildVimPlugin {
     pname = "neovim-ayu";
-    version = "2024-01-08";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "Shatur";
       repo = "neovim-ayu";
-      rev = "6463d39253bb70e2b867fce57f9e7174f657bd1b";
-      sha256 = "1xhk1qdlk10paqaf8np7z52zyl2k0x463llh14gxbc58iraz5g95";
+      rev = "0a9804db5c08dba63be9774a57e4214fd0473ce1";
+      sha256 = "17324y4ywxmijappa9sb194xc2mwa8ijfxvb3s4302bnd6ggdw7h";
     };
     meta.homepage = "https://github.com/Shatur/neovim-ayu/";
   };
@@ -6565,12 +6769,12 @@ final: prev:
 
   nerdtree = buildVimPlugin {
     pname = "nerdtree";
-    version = "2024-01-09";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdtree";
-      rev = "bc606c43e2d8ef0987d6d3d1ec8c17360a2e29d5";
-      sha256 = "1c3pxa49wy2rgir0s87mfmb0h2wi0jmm54p6zmnm8x5v7j7n1bvp";
+      rev = "bdf81a086dd271571104a11f555b79e5cdff5dc5";
+      sha256 = "0rys7y40ifw87q10p3sj9yf8hnmzanrn1pp2ayfl6sf94i6y9p4q";
     };
     meta.homepage = "https://github.com/preservim/nerdtree/";
   };
@@ -6647,18 +6851,42 @@ final: prev:
     meta.homepage = "https://github.com/chr4/nginx.vim/";
   };
 
+  night-owl-nvim = buildVimPlugin {
+    pname = "night-owl.nvim";
+    version = "2024-01-30";
+    src = fetchFromGitHub {
+      owner = "oxfist";
+      repo = "night-owl.nvim";
+      rev = "2b7e78c34e25aea841d10ebc3ee19d6d558e9ec0";
+      sha256 = "07bnm5z1k384kmsvxwg2vk432gq0dp0rf83b0jf0z9lzh9ghfq6f";
+    };
+    meta.homepage = "https://github.com/oxfist/night-owl.nvim/";
+  };
+
   nightfox-nvim = buildVimPlugin {
     pname = "nightfox.nvim";
-    version = "2024-01-24";
+    version = "2024-01-31";
     src = fetchFromGitHub {
       owner = "EdenEast";
       repo = "nightfox.nvim";
-      rev = "7e9487875dc5f69a2fd6f60d3a3ef4fb457b57c1";
-      sha256 = "0yzx95mkgq37hylc9ksca7bds0ny06x8hphin28k4pnwi0vqcf3s";
+      rev = "a408e6bb101066952b81de9c11be367114bd561f";
+      sha256 = "0h9dcwh404jzrjw78y98s59pcqcyki5wrsap77lilzq0j8zh1lj1";
     };
     meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
   };
 
+  nightly-nvim = buildVimPlugin {
+    pname = "nightly.nvim";
+    version = "2023-10-20";
+    src = fetchFromGitHub {
+      owner = "Alexis12119";
+      repo = "nightly.nvim";
+      rev = "825299e1dfafc093918137e752bde2dbaed60503";
+      sha256 = "1g10pmg0jkj5bfsm1kvws9al2s0b2b15582815nf6mwr9fmhhbzy";
+    };
+    meta.homepage = "https://github.com/Alexis12119/nightly.nvim/";
+  };
+
   nim-vim = buildVimPlugin {
     pname = "nim.vim";
     version = "2021-11-11";
@@ -6707,18 +6935,42 @@ final: prev:
     meta.homepage = "https://github.com/mcchrish/nnn.vim/";
   };
 
+  no-clown-fiesta-nvim = buildVimPlugin {
+    pname = "no-clown-fiesta.nvim";
+    version = "2024-01-30";
+    src = fetchFromGitHub {
+      owner = "aktersnurra";
+      repo = "no-clown-fiesta.nvim";
+      rev = "dae9bbb61223218d0043baffb3ede4cee9568872";
+      sha256 = "0dg6pk8p7gc18nf17yxbs0c4pv1ng44n41jppi71dgv6xb481mbz";
+    };
+    meta.homepage = "https://github.com/aktersnurra/no-clown-fiesta.nvim/";
+  };
+
   no-neck-pain-nvim = buildVimPlugin {
     pname = "no-neck-pain.nvim";
-    version = "2024-01-24";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "shortcuts";
       repo = "no-neck-pain.nvim";
-      rev = "fc3cc9012d9720aca3203702447caa59bd93f1a6";
-      sha256 = "0flml2v5znlgffgn59k82dlz84d705mg8rxrhs8sciqr7jqxk1xk";
+      rev = "7ab539aaa083e92ef438d4cdc0261d8661916f1d";
+      sha256 = "0pprczdx9bfsdvkc2l3szkdfvkpbcmblz3bz9cn68vldnw1z4yvx";
     };
     meta.homepage = "https://github.com/shortcuts/no-neck-pain.nvim/";
   };
 
+  noctis-nvim = buildVimPlugin {
+    pname = "noctis.nvim";
+    version = "2022-09-30";
+    src = fetchFromGitHub {
+      owner = "kartikp10";
+      repo = "noctis.nvim";
+      rev = "0b9336e39c686a7e58de06e4dd38c2bd862a7b33";
+      sha256 = "0aw361j28mnggv8769b70rywsx2cvri26kg2n8i470ka1wmzklaf";
+    };
+    meta.homepage = "https://github.com/kartikp10/noctis.nvim/";
+  };
+
   noice-nvim = buildVimPlugin {
     pname = "noice.nvim";
     version = "2024-01-22";
@@ -6733,12 +6985,12 @@ final: prev:
 
   none-ls-nvim = buildVimPlugin {
     pname = "none-ls.nvim";
-    version = "2024-01-24";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "nvimtools";
       repo = "none-ls.nvim";
-      rev = "a311c7cc8f17543143a7482cdbe3a384c371d56a";
-      sha256 = "1fk52awkplp2c1bf7aa8whs6qaxvphry1crp515b2yz0ik8ykqdk";
+      rev = "34b1311bd07bd3741e60e06b34d0709d6e5a9f0f";
+      sha256 = "07bxv7xcjgyzvmh4lpdqn2350awi2ah5bjrimqvcm0hrak7b204x";
     };
     meta.homepage = "https://github.com/nvimtools/none-ls.nvim/";
   };
@@ -6793,12 +7045,12 @@ final: prev:
 
   nui-nvim = buildNeovimPlugin {
     pname = "nui.nvim";
-    version = "2024-01-04";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "MunifTanjim";
       repo = "nui.nvim";
-      rev = "35da9ca1de0fc4dda96c2e214d93d363c145f418";
-      sha256 = "0ix9dshl7hxyygfyjg8ki0swm0ysbhm42aah5cbbhpnd00hv8qa9";
+      rev = "c3c7fd618dcb5a89e443a2e1033e7d11fdb0596b";
+      sha256 = "0wj2mgmykplg6dwgdh63342fdfqwmr7x2pnykk47646gzzixlgl1";
     };
     meta.homepage = "https://github.com/MunifTanjim/nui.nvim/";
   };
@@ -6829,12 +7081,12 @@ final: prev:
 
   nvchad = buildVimPlugin {
     pname = "nvchad";
-    version = "2024-01-19";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "nvchad";
-      rev = "282a23f4469ee305e05ec7a108a728ee389d87fb";
-      sha256 = "0b222vc3xqhaa6abkd9w3gd8l50ddrb06lsxwhw1sa9sqssv0bc1";
+      rev = "8aec881517ae9e39990507f3bc7dfebfb38d531a";
+      sha256 = "1wk51ja4338zi9bh4bvcr1wpqfd6rv00sy0wqvm8fcjn5csqh6qq";
     };
     meta.homepage = "https://github.com/nvchad/nvchad/";
   };
@@ -6877,26 +7129,26 @@ final: prev:
 
   nvim-autopairs = buildVimPlugin {
     pname = "nvim-autopairs";
-    version = "2024-01-22";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "096d0baecc34f6c5d8a6dd25851e9d5ad338209b";
-      sha256 = "167a5d8rycg703f1x9q7g9bavchfv8cj3qxvq721cf9sz1jniip2";
+      rev = "2e8a10c5fc0dcaf8296a5f1a7077efcd37065cc8";
+      sha256 = "1d02klx0fhacg1ighmz84176rrm0a28dv19fnryhd0086b8ykrr9";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
 
-  nvim-base16 = buildVimPlugin {
-    pname = "nvim-base16";
-    version = "2024-01-24";
+  nvim-bacon = buildVimPlugin {
+    pname = "nvim-bacon";
+    version = "2024-02-12";
     src = fetchFromGitHub {
-      owner = "RRethy";
-      repo = "nvim-base16";
-      rev = "fc26d79fb3420eb3bc6e036f23671e25bfe227d6";
-      sha256 = "1fqhngnwas2lykrz5yjw68nfwzy9f0a6f4vmk97jc54npwn5qgkc";
+      owner = "Canop";
+      repo = "nvim-bacon";
+      rev = "3f8e7a80a0e715952a3066fefe7447f1347207ca";
+      sha256 = "sha256-jIoRzMjOZlTHR7q4piyY7MjEUgZIR5pjobfOdY/IpeM=";
     };
-    meta.homepage = "https://github.com/RRethy/nvim-base16/";
+    meta.homepage = "https://github.com/Canop/nvim-bacon/";
   };
 
   nvim-biscuits = buildVimPlugin {
@@ -6949,12 +7201,12 @@ final: prev:
 
   nvim-cmp = buildNeovimPlugin {
     pname = "nvim-cmp";
-    version = "2023-12-14";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "538e37ba87284942c1d76ed38dd497e54e65b891";
-      sha256 = "1mxigpm4h8ad8hjd8zy6ajkk2c03vgcrigqarhybz6zsi52iil06";
+      rev = "04e0ca376d6abdbfc8b52180f8ea236cbfddf782";
+      sha256 = "0zzlkla5vgrfa55a3sjb885q0574s67ji5ps2rq53q82hlfwwphl";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -6973,12 +7225,12 @@ final: prev:
 
   nvim-cokeline = buildVimPlugin {
     pname = "nvim-cokeline";
-    version = "2024-01-07";
+    version = "2024-01-27";
     src = fetchFromGitHub {
       owner = "willothy";
       repo = "nvim-cokeline";
-      rev = "a62eaff75c59da2ca261fefc2992e1cac04bd30e";
-      sha256 = "0l4wfxiz4c7xg9m25lyv0xlrwgcyx2951x9dirqchpaf3ja6a0d4";
+      rev = "7310f192af74c6912ca7a40ae1b16253aa95e50e";
+      sha256 = "130lxdw0717f1hhkrraa2xl4abpd5w4lqqifi3hbk4brxsric6a3";
     };
     meta.homepage = "https://github.com/willothy/nvim-cokeline/";
   };
@@ -7069,12 +7321,12 @@ final: prev:
 
   nvim-dap = buildVimPlugin {
     pname = "nvim-dap";
-    version = "2024-01-13";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "9adbfdca13afbe646d09a8d7a86d5d031fb9c5a5";
-      sha256 = "1pwzw1v314m0gbpr77y48w1qrpappqw1vmvkl7qm4dz02rvkh5zm";
+      rev = "fc880e82059eb21c0fa896be60146e5f17680648";
+      sha256 = "1dg4sh3dxswak311faz5n3g2l7zy6jvqdvdrbj51n5flm7bgzscq";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
@@ -7093,24 +7345,24 @@ final: prev:
 
   nvim-dap-python = buildVimPlugin {
     pname = "nvim-dap-python";
-    version = "2023-12-19";
+    version = "2024-02-01";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap-python";
-      rev = "091e4ae00a12085f9ed4200a3cd04af7179b8a23";
-      sha256 = "02ialmgk6i2svjqglj7hmrakfsk5spcxb9idb13vmzlng8s3rzsp";
+      rev = "f5b6f3a90aae0284b61fb3565e575267c19a16e6";
+      sha256 = "0drz7gmlg5kyz8a3xhczwlg2bc7lpdwph4q3acjm9skv67cp5bfj";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap-python/";
   };
 
   nvim-dap-ui = buildVimPlugin {
     pname = "nvim-dap-ui";
-    version = "2024-01-22";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-dap-ui";
-      rev = "d845ebd798ad1cf30aa4abd4c4eff795cdcfdd4f";
-      sha256 = "1by56ffghig930r0cak95h0gxxrf78jwr3f2fxqziyz32dvi5mp2";
+      rev = "9720eb5fa2f41988e8770f973cd11b76dd568a5d";
+      sha256 = "0ahc1f2h9qv6bns5mh7m90lfrf3yldy018p27dsc9cgpdpb15i1q";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
   };
@@ -7213,24 +7465,24 @@ final: prev:
 
   nvim-highlite = buildVimPlugin {
     pname = "nvim-highlite";
-    version = "2024-01-24";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "6a69959d5a945970cd59b32e19428c4732d7554a";
-      sha256 = "01qw3qaq94vsawm3nnwwrf0x7mra8wqprgw1nc2njzzygqkhivqw";
+      rev = "6c177613d5de2962c4d5b79d96894d77b7b55c31";
+      sha256 = "1563bbwz2szy0gc7i17dii5y1bq0s78dh8k9z5xbb2a415s3qr1s";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
 
   nvim-hlslens = buildVimPlugin {
     pname = "nvim-hlslens";
-    version = "2023-12-17";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "8ffc64bb6b624612cf762982b92633f283f7a715";
-      sha256 = "093da3q6lalp48wph4688hjkd0lf0bnzsa8y2bms1j8js0mmr0p3";
+      rev = "e4c811a401b06f86a7bb042b1d64a5cba21729a9";
+      sha256 = "1ifi59hd3wwb0wy2ymfbcyhixwfgmj292c5qip7gav8ffqn9cv9z";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
@@ -7249,12 +7501,12 @@ final: prev:
 
   nvim-jdtls = buildVimPlugin {
     pname = "nvim-jdtls";
-    version = "2023-11-28";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "66b5ace68a5d1c45fdfb1afa8d847e87af2aa1f8";
-      sha256 = "1cycasjvms1m58vcb3sk01dp4dzjjchds20yq0c6vq1s98wir0y6";
+      rev = "01b57f75b00e71541aa328398d5e10ba5ca3ea18";
+      sha256 = "0mfaim31n99j7jd9q1i67ri5a8jkkfkndyhqvl6dcybziyj86l8w";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -7332,12 +7584,12 @@ final: prev:
 
   nvim-lint = buildVimPlugin {
     pname = "nvim-lint";
-    version = "2024-01-24";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "8e5920f9ce9f24c283a2e64be5fe58d1d37d1744";
-      sha256 = "07vs24r8jglq9sjj5lz5k2ay0b5arg21cvvl54j2hl9nrl5fl2z4";
+      rev = "31be66c27214174a28fc092ffcf4bb3e8f6cfd43";
+      sha256 = "0n1rkxddmz4q7isf49cigr0viyny758ds8bj3g1rcgd7qd7x4s3m";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
@@ -7368,12 +7620,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPlugin {
     pname = "nvim-lspconfig";
-    version = "2024-01-20";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "8917d2c830e04bf944a699b8c41f097621283828";
-      sha256 = "0wiqy0k83qjh2y9r3rdm8jrrfmrwfm2729wrshxmxbdns0vjrmja";
+      rev = "d1bab4cf4b69e49d6058028fd933d8ef5e74e680";
+      sha256 = "10sfqf97v2cr9l6fb1i9zvv5srlc0hzm3k74ivb9vwvj6d3c2kfn";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -7428,12 +7680,12 @@ final: prev:
 
   nvim-metals = buildVimPlugin {
     pname = "nvim-metals";
-    version = "2024-01-15";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "scalameta";
       repo = "nvim-metals";
-      rev = "d47287324d1e2efdb7aabde73fad5fd5b2b438bf";
-      sha256 = "1q963lj9bxx4iycgzrpsybmrpc7l4qq7nd3cl4iqrp8qkjqklqwn";
+      rev = "94c8d4d3b13bbf51594cfb940454af33e1149f8b";
+      sha256 = "1p6rpap752y0y42xhl5jkmv08fx1aggjnqyb9adsm11p351yqm1r";
     };
     meta.homepage = "https://github.com/scalameta/nvim-metals/";
   };
@@ -7500,12 +7752,12 @@ final: prev:
 
   nvim-notify = buildVimPlugin {
     pname = "nvim-notify";
-    version = "2024-01-15";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-notify";
-      rev = "80b67b265530632505193553d05127ae7fe09ddd";
-      sha256 = "0spjp93s5zb2jyvj5is98kaargaxr11sb4dk3hc40p6nv78bq42s";
+      rev = "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15";
+      sha256 = "1daf6qhm9p0smcqi8w6vr8agnvyv9ra3z7f0ijlcab8qgqwhz5n4";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-notify/";
   };
@@ -7596,12 +7848,12 @@ final: prev:
 
   nvim-scrollview = buildVimPlugin {
     pname = "nvim-scrollview";
-    version = "2024-01-13";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "2bc1d94174a977e7147e845156d3c4c12ac06b67";
-      sha256 = "0da1bb9ppk3klxlwrbfh48vl39a6pbpp1z2irwybnz24zanxb4bi";
+      rev = "1852d8927e3e4c53df8c675a8a271175483c6ede";
+      sha256 = "0cq9q2q7lmbcq0xcrr9wxvkhb36vsbjg9bm84rqga740db1az1da";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
@@ -7644,12 +7896,12 @@ final: prev:
 
   nvim-spectre = buildVimPlugin {
     pname = "nvim-spectre";
-    version = "2023-12-20";
+    version = "2024-02-07";
     src = fetchFromGitHub {
       owner = "nvim-pack";
       repo = "nvim-spectre";
-      rev = "d8906855f1949ac97b1e77aaf8d3fe12ed158ddc";
-      sha256 = "1kmw61gli562d4r4vsf2fpxa09pi6a0brcdzly02n7xcan4l7bc4";
+      rev = "6a0785ef64c839d935a2f92e20988e962fb6537e";
+      sha256 = "1qn1w0n209fhi160mr2jknvly53zj2njcy34cszw0v7sal3achlw";
     };
     meta.homepage = "https://github.com/nvim-pack/nvim-spectre/";
   };
@@ -7668,12 +7920,12 @@ final: prev:
 
   nvim-surround = buildVimPlugin {
     pname = "nvim-surround";
-    version = "2024-01-17";
+    version = "2024-02-09";
     src = fetchFromGitHub {
       owner = "kylechui";
       repo = "nvim-surround";
-      rev = "0c02c52182a9c2a7fa7e122b4037f6408e98434a";
-      sha256 = "00cfnnz9hrr2hjvb6y58xwv6rsh0p6v7dw0ca60gx2313js10q08";
+      rev = "8f2af76134f37058dc4c27a24bc5f86c9cae76dc";
+      sha256 = "0xsnz2x5jma4ff7sgl9ac7mnm71n22hx6wmh96245rclx24z3a8q";
     };
     meta.homepage = "https://github.com/kylechui/nvim-surround/";
   };
@@ -7716,48 +7968,48 @@ final: prev:
 
   nvim-tree-lua = buildVimPlugin {
     pname = "nvim-tree.lua";
-    version = "2024-01-21";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-tree.lua";
-      rev = "7bdb220d0fe604a77361e92cdbc7af1b8a412126";
-      sha256 = "1ij2prf826bp90i9ask2an0aih0nch5c4sax4awwwhpnhic3780h";
+      rev = "863cf832ceb0b2377c913b7696dd7d64f4978941";
+      sha256 = "1pcfv6skwxifyzh94a8rjzz3gffflxlf5c2zvs851adc1lkhbwrp";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPlugin {
     pname = "nvim-treesitter";
-    version = "2024-01-25";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "cc908cfcd7258b2e5c1a9c583e2f3feda0caf23b";
-      sha256 = "0xp9gfcdpxbxf09s449w5dxpkbw5hin6fxzb67kfz18k7fhnwfrw";
+      rev = "17d68ac13c902f55253b7facb47df4c0ae532575";
+      sha256 = "1m77s8va6h6g2xvjfjw3adigyg09z0qnrwbfkbymksa36y4jgc11";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
 
   nvim-treesitter-context = buildVimPlugin {
     pname = "nvim-treesitter-context";
-    version = "2024-01-24";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-context";
-      rev = "2972717355a18d5599e9162f48d6e3e584068bf9";
-      sha256 = "136yqfbgcjzy0k99h5zjrfdkcy5xpdqwdkvvc6x0ff4sw4mq0kgj";
+      rev = "23b699ac40091d8c729f024b3f1400bc7e26e0c5";
+      sha256 = "0mrc0ilamj956wmymr2cc6zjjfxcrzp32iwhy1gmj9hxwacllvw4";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/";
   };
 
   nvim-treesitter-endwise = buildVimPlugin {
     pname = "nvim-treesitter-endwise";
-    version = "2023-09-23";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "nvim-treesitter-endwise";
-      rev = "4c344ffc8d54d7e1ba2cefaaa2c10ea93aa1cc2d";
-      sha256 = "0320lz13zymw70wx7malkw4nkma3scz4kz35mq59f9p51dan6iky";
+      rev = "60e8c288e011403f248b5f6478dde12bed8a6c55";
+      sha256 = "0dly21jk1wm80s7ypwpwfm4mx1srbmaww0441854dwvh2s7j634v";
     };
     meta.homepage = "https://github.com/RRethy/nvim-treesitter-endwise/";
   };
@@ -7788,12 +8040,12 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPlugin {
     pname = "nvim-treesitter-textobjects";
-    version = "2024-01-14";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "19a91a38b02c1c28c14e0ba468d20ae1423c39b2";
-      sha256 = "1g38yh7434sxbi270q8bddqiv61msaf4cj62ar0khjavzgxy41nc";
+      rev = "7f00d94543f1fd37cab2afa2e9a6cd54e1c6b9ef";
+      sha256 = "18f2lnl18iha6sjk4053k4f82bh1ay8p4k71kj76lfizllvswxjf";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
@@ -7812,60 +8064,60 @@ final: prev:
 
   nvim-ts-autotag = buildVimPlugin {
     pname = "nvim-ts-autotag";
-    version = "2024-01-25";
+    version = "2024-02-07";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-ts-autotag";
-      rev = "a65b202cfd08e0e69e531eab737205ff5bc082a4";
-      sha256 = "1wysb48l5dfqfqf6mr75jni7n078h1ab1bqyrrjr05sybn3lww8b";
+      rev = "531f48334c422222aebc888fd36e7d109cb354cd";
+      sha256 = "1azlkqjvdnam4plm98a23j21swwlk1lvpa7cj3cpvi8q6wi09wkh";
     };
     meta.homepage = "https://github.com/windwp/nvim-ts-autotag/";
   };
 
   nvim-ts-context-commentstring = buildVimPlugin {
     pname = "nvim-ts-context-commentstring";
-    version = "2023-11-30";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "joosepalviste";
       repo = "nvim-ts-context-commentstring";
-      rev = "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee";
-      sha256 = "0363gb837rm66127z7b7q20ak4dgby3q1r0wvz5sqbkw8d704jgb";
+      rev = "7ab799a9792f7cf3883cf28c6a00ad431f3d382a";
+      sha256 = "1m0c909pkyp5ha9n0p72kvh9mrhl2mzsmhnfanrgyqxj32gaqa26";
     };
     meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/";
   };
 
   nvim-ufo = buildVimPlugin {
     pname = "nvim-ufo";
-    version = "2024-01-13";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-ufo";
-      rev = "b0741a647efd98d9abb6cb653e056d24a07e4581";
-      sha256 = "1bnyf422pf7y58a7v8zfx3w6w7ihzxchrix6rxxpypaivdp6say2";
+      rev = "553d8a9c611caa9f020556d4a26b760698e5b81b";
+      sha256 = "17nd2clil96j1a8l5rxvb83c1aqkff31sxylv4kac6rx30g8k9qa";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-ufo/";
   };
 
   nvim-unception = buildVimPlugin {
     pname = "nvim-unception";
-    version = "2023-11-30";
+    version = "2024-02-06";
     src = fetchFromGitHub {
       owner = "samjwill";
       repo = "nvim-unception";
-      rev = "23085504347a710e43d7921ccb839fda8f1a70c1";
-      sha256 = "0lprrkgm1plnw28vfpq550gakyw3ngxw930lr72wcx82r029i51g";
+      rev = "a0af21a27e2ba19ce6004d57d34006d18bc6bad4";
+      sha256 = "165gg5bgvga5c79hvniryf5d530r4gckahnhaj3xb9cf7m2xsdvy";
     };
     meta.homepage = "https://github.com/samjwill/nvim-unception/";
   };
 
   nvim-web-devicons = buildVimPlugin {
     pname = "nvim-web-devicons";
-    version = "2024-01-24";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-web-devicons";
-      rev = "b427ac5f9dff494f839e81441fb3f04a58cbcfbc";
-      sha256 = "13ywffn24wlqciy1fnisiqbgsg4h6nxf3wcd0v28kmk29wyzqkf3";
+      rev = "7f30f2da3c3641841ceb0e2c150281f624445e8f";
+      sha256 = "1srssx18fgipznnl6b3lk17jkv0acsx6cw86m6x788nawl6qhsv7";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-web-devicons/";
   };
@@ -7944,12 +8196,12 @@ final: prev:
 
   obsidian-nvim = buildVimPlugin {
     pname = "obsidian.nvim";
-    version = "2024-01-25";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "epwalsh";
       repo = "obsidian.nvim";
-      rev = "5f469faab7bebc1ee30942eeebfdfdcbd7f2b411";
-      sha256 = "1abrd8zs1cmdw08m3vxlc6j2ay7kvchl53zx052lqps07is3b6ny";
+      rev = "0a6739d2229c8eb30396db550f3818e092088c27";
+      sha256 = "1d1xihqkb1fcaqbkdx4pr7xa35g66v9z4bqdv2pk89pa1jm3k1sl";
     };
     meta.homepage = "https://github.com/epwalsh/obsidian.nvim/";
   };
@@ -7980,12 +8232,12 @@ final: prev:
 
   octo-nvim = buildVimPlugin {
     pname = "octo.nvim";
-    version = "2024-01-24";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "pwntester";
       repo = "octo.nvim";
-      rev = "f77d214e5a67f1c1eb601a9c99418a5f7924af22";
-      sha256 = "04hsdz0ma7q4c7bs89si2hdjnds5rybagh7z1jnl8xc52kxf2lwk";
+      rev = "feae1e5519deebad3c59ee1d57d28aa22822f7c8";
+      sha256 = "0nvd93ml9gv20qh7bl1q69bk7ya6k3lnl49ywhaixh41f28z39wf";
     };
     meta.homepage = "https://github.com/pwntester/octo.nvim/";
   };
@@ -8015,6 +8267,18 @@ final: prev:
     meta.homepage = "https://github.com/nomnivore/ollama.nvim/";
   };
 
+  omni-vim = buildVimPlugin {
+    pname = "omni.vim";
+    version = "2022-06-17";
+    src = fetchFromGitHub {
+      owner = "yonlu";
+      repo = "omni.vim";
+      rev = "6c0f3015b1d6f2ae59c12cc380c629b965d3dc62";
+      sha256 = "0mb3qb2yv4y57xp3548wrlnlyrshxjv511lwmzb9k0xnyig6mgmx";
+    };
+    meta.homepage = "https://github.com/yonlu/omni.vim/";
+  };
+
   omnisharp-extended-lsp-nvim = buildVimPlugin {
     pname = "omnisharp-extended-lsp.nvim";
     version = "2023-12-25";
@@ -8041,12 +8305,12 @@ final: prev:
 
   onedark-nvim = buildVimPlugin {
     pname = "onedark.nvim";
-    version = "2024-01-22";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "navarasu";
       repo = "onedark.nvim";
-      rev = "14e5de43cf1ff761c280d1ff5b9980897f5b46c7";
-      sha256 = "16c3hqpn11bqa39b02x5dn94ny5i3pkyn80gkrcdvibp7zdxjfwf";
+      rev = "1230aaf2a427b2c5b73aba6e4a9a5881d3e69429";
+      sha256 = "1npc9x2r0aass9swxmhryia90ar7f4nx8j456jzlf66lzbr8xrnp";
     };
     meta.homepage = "https://github.com/navarasu/onedark.nvim/";
   };
@@ -8063,14 +8327,26 @@ final: prev:
     meta.homepage = "https://github.com/joshdick/onedark.vim/";
   };
 
+  onedarker-nvim = buildVimPlugin {
+    pname = "onedarker.nvim";
+    version = "2022-10-10";
+    src = fetchFromGitHub {
+      owner = "LunarVim";
+      repo = "onedarker.nvim";
+      rev = "b4f92f073ed7cdf0358ad005cee0484411232b1b";
+      sha256 = "121bympiikzwgbklpbzvp9f0izm3bz9mqndv3wj796qb853ap48c";
+    };
+    meta.homepage = "https://github.com/LunarVim/onedarker.nvim/";
+  };
+
   onedarkpro-nvim = buildVimPlugin {
     pname = "onedarkpro.nvim";
-    version = "2024-01-24";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedarkpro.nvim";
-      rev = "e39ebd1d8062acd11b2bc0cfef8ce6d88d26c4f9";
-      sha256 = "1vaafhvfzcg1g2llb1swazfjy24safc57lkyxd6f0cdh0hxiykx6";
+      rev = "bbe613372548ef8fa1a1f67d50f55795727ac432";
+      sha256 = "0dd2wrr25cj7k6zp0zdhqks3xdg9kivh3m5z4wnkdxv8mwssm31n";
     };
     meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
   };
@@ -8089,12 +8365,12 @@ final: prev:
 
   onenord-nvim = buildVimPlugin {
     pname = "onenord.nvim";
-    version = "2024-01-20";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "rmehri01";
       repo = "onenord.nvim";
-      rev = "c2219394f20ab4d256d7cf78d6c82dea75491a2a";
-      sha256 = "06dwlckfhvzgmfq13a6259krhs69z5r5yp4wqnwf17wvj80n1vvd";
+      rev = "ad19a49d38e34a5dde8224882ac711c1310565a0";
+      sha256 = "0cqq3av4a3fsb34xknr5xlsy3m6q1d9wgzscp8zsfz0nqxvq5j77";
     };
     meta.homepage = "https://github.com/rmehri01/onenord.nvim/";
   };
@@ -8125,12 +8401,12 @@ final: prev:
 
   openingh-nvim = buildVimPlugin {
     pname = "openingh.nvim";
-    version = "2023-10-31";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "Almo7aya";
       repo = "openingh.nvim";
-      rev = "5c9e851d7c26fdb236dfea8866b71fefe7ddeffc";
-      sha256 = "0xq2s7vwjfxqm5g7k5c3b9cm9j3ngrx8g4dd9qfzq1s9pfkk3i3y";
+      rev = "52e2727cbd7b52cdc7a5bb52c77c07a329db6cba";
+      sha256 = "06v4b07ary1swli801ay0g7jd14c7b3pp75vndkxab79nshcs88c";
     };
     meta.homepage = "https://github.com/Almo7aya/openingh.nvim/";
   };
@@ -8149,48 +8425,48 @@ final: prev:
 
   orgmode = buildVimPlugin {
     pname = "orgmode";
-    version = "2024-01-24";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "bd2a65179c814b40ca3073a282507a6a4f2355c1";
-      sha256 = "0biqfp0azb2y66zvqlp8y037c4raxhlnwvn89vdpp26d6isyzf93";
+      rev = "5a238a2880bc57c156cb23c12ff4af0a0c8181c7";
+      sha256 = "02b7zm570b394ynzr47jik3q3basfm8rz4vm99d8xvrjq7vkjjil";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
 
   other-nvim = buildVimPlugin {
     pname = "other.nvim";
-    version = "2023-12-04";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "rgroli";
       repo = "other.nvim";
-      rev = "d4d926dec6d0e037c1a5f092793b474947ed357e";
-      sha256 = "1pqs0sv35p74jgb3p01dqgpvzcdsxg1fmwkrq65nz9lw8zff7q11";
+      rev = "d36a66af270b63459c080d4589126a06cf56578c";
+      sha256 = "015is3pyjn0jrmz03vsvyiiy8fgwrpd1syfq3zmspyyki7blclcl";
     };
     meta.homepage = "https://github.com/rgroli/other.nvim/";
   };
 
   otter-nvim = buildVimPlugin {
     pname = "otter.nvim";
-    version = "2024-01-22";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "jmbuhr";
       repo = "otter.nvim";
-      rev = "151b75410e7b6041fb54f48443a80ecd518cb31e";
-      sha256 = "08bni1v06agsm9mpq01wdig3shc78i97a7mfbagzlws0wj38qgpq";
+      rev = "05cc5ee31fb20e3dd5b4a3a150b0aabf20c86826";
+      sha256 = "1vnc1p7949jx53070zl15lpdn3gid4s3c7510ncs1npbwhyh9p4d";
     };
     meta.homepage = "https://github.com/jmbuhr/otter.nvim/";
   };
 
   overseer-nvim = buildVimPlugin {
     pname = "overseer.nvim";
-    version = "2024-01-07";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "overseer.nvim";
-      rev = "68a2d344cea4a2e11acfb5690dc8ecd1a1ec0ce0";
-      sha256 = "0miakpcc11yr7p7yaj9igakkv6dnyngra7p52hc26qm4mnq4ghwd";
+      rev = "792aeb6d834a11585ea5d667e3e3f05bc6aa4ecc";
+      sha256 = "1s34jqg8p0crrbsv037m9b6gjv0vlvfhrp1acvacwxx9fqbmciik";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/overseer.nvim/";
@@ -8244,6 +8520,18 @@ final: prev:
     meta.homepage = "https://github.com/drewtempelmeyer/palenight.vim/";
   };
 
+  palenightfall-nvim = buildVimPlugin {
+    pname = "palenightfall.nvim";
+    version = "2023-10-05";
+    src = fetchFromGitHub {
+      owner = "JoosepAlviste";
+      repo = "palenightfall.nvim";
+      rev = "25a1e7d43256834a671174e5d83edb57f7bec1e0";
+      sha256 = "1svfibhrlwxsh4nzyb8hjdfgdakh176pg47vzvkrywafr8mw6ak5";
+    };
+    meta.homepage = "https://github.com/JoosepAlviste/palenightfall.nvim/";
+  };
+
   palette-nvim = buildVimPlugin {
     pname = "palette.nvim";
     version = "2023-10-02";
@@ -8390,12 +8678,12 @@ final: prev:
 
   plenary-nvim = buildNeovimPlugin {
     pname = "plenary.nvim";
-    version = "2024-01-21";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "663246936325062427597964d81d30eaa42ab1e4";
-      sha256 = "12cj7f0ghmd58ka9qc1c2qyd5x4cx97wd3avx5ny1x1gb8il013b";
+      rev = "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d";
+      sha256 = "0kr8c5fgvv7ijsvk4z0c9dawqy58mg5yz9yzx0al2ljax32lfqh1";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -8596,12 +8884,12 @@ final: prev:
 
   quarto-nvim = buildVimPlugin {
     pname = "quarto-nvim";
-    version = "2023-11-29";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "quarto-dev";
       repo = "quarto-nvim";
-      rev = "0a35b3890e9d723b730506d7d8b3ba3d0d6aae2e";
-      sha256 = "1pkyr1pqq9dfk0s7f8rfqkg5zqhi9ss818wv54v9gnhvmwnw30mk";
+      rev = "e70a207ede642ccb910540ee36480dcefb67ad6c";
+      sha256 = "1j5yxfmxzc2zimp508r769vgcr4hhn671r4fmwi3nnsrjgp9rq55";
     };
     meta.homepage = "https://github.com/quarto-dev/quarto-nvim/";
   };
@@ -8644,12 +8932,12 @@ final: prev:
 
   quickmath-nvim = buildVimPlugin {
     pname = "quickmath.nvim";
-    version = "2023-03-12";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "jbyuki";
       repo = "quickmath.nvim";
-      rev = "dcfc5450fa686714817a0d4767299f37f94bdb43";
-      sha256 = "1rmbrdxz26f4b12yvb4yjb6b3rn89nky6an4wclh4c68li70h54l";
+      rev = "7a9a6599018aa931a8fe7ad2e4cb2f36db533d19";
+      sha256 = "0192am8bligkjzzwarkgwk6cja2jkya6ixraybz64yp0mk6lha5r";
     };
     meta.homepage = "https://github.com/jbyuki/quickmath.nvim/";
   };
@@ -8668,11 +8956,11 @@ final: prev:
 
   rainbow-delimiters-nvim = buildVimPlugin {
     pname = "rainbow-delimiters.nvim";
-    version = "2024-01-22";
+    version = "2024-02-12";
     src = fetchgit {
       url = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim";
-      rev = "35530b4ad48f01bdaa852da34e4de9930fb54c89";
-      sha256 = "04a36454m0vhwmq6xfg75252yhck54b58n18kshm9z0razsg4j7m";
+      rev = "586f44d21ef687a4d41b5b24c1566d686ae84250";
+      sha256 = "0bvnypwlp688024iaswd9p5d6viyf7p65q09fjlkip28rq50a4cy";
     };
     meta.homepage = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim";
   };
@@ -8751,12 +9039,12 @@ final: prev:
 
   refactoring-nvim = buildVimPlugin {
     pname = "refactoring.nvim";
-    version = "2024-01-22";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "theprimeagen";
       repo = "refactoring.nvim";
-      rev = "f4546284059f7dc01f65be93d03f6c850fd2aba1";
-      sha256 = "190438nnqw9nra3vrrpcfw2nib3s2jzld6iyd1kniarlggid4fwd";
+      rev = "fb4990a0546c59136930ea624b8640d07957f281";
+      sha256 = "14d33lc0a7r5k7i8x2nzy86xgy6p003cjxv9nc827q1g9jv55r7z";
     };
     meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
   };
@@ -8811,12 +9099,12 @@ final: prev:
 
   rest-nvim = buildNeovimPlugin {
     pname = "rest.nvim";
-    version = "2024-01-24";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "rest-nvim";
       repo = "rest.nvim";
-      rev = "3035cab370f806651704d5af5d18cbf0b0be0840";
-      sha256 = "0v04cc7mgzk7l8dznjqx7vaghh66c2x32zy0kjvwhyb64n07zwxv";
+      rev = "9741f827bd88b588e5136d67c7963e1904f8f1f7";
+      sha256 = "0k16kxz31cxgvsq1341r4gwlyjnavizib3hw2c43x7nw7yxj5mr2";
     };
     meta.homepage = "https://github.com/rest-nvim/rest.nvim/";
   };
@@ -8931,12 +9219,12 @@ final: prev:
 
   rustaceanvim = buildNeovimPlugin {
     pname = "rustaceanvim";
-    version = "2024-01-25";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "mrcjkb";
       repo = "rustaceanvim";
-      rev = "87fc16de1360cda02470824a17e0073967bf29f1";
-      sha256 = "0j3kysif91m3dldk5fwh8r4qxsakr6yk1q6iyi9wajnqdkgxkzcy";
+      rev = "ec3288d52ed581ee63a10e41a226297801fa6ee8";
+      sha256 = "1nxdyxz416srz4fgpkrnw65kxg6am9ak0yd824667ygsilbcqi2s";
     };
     meta.homepage = "https://github.com/mrcjkb/rustaceanvim/";
   };
@@ -8967,12 +9255,12 @@ final: prev:
 
   satellite-nvim = buildVimPlugin {
     pname = "satellite.nvim";
-    version = "2024-01-12";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "satellite.nvim";
-      rev = "99610b77fe2e047d2e55d70a256bcf63953eb6d7";
-      sha256 = "1i7l2r3kwcv3sixsjlh0wyhafl60cam0bgygc483qrn4jgdxqhzy";
+      rev = "40eb89743e3439c66192abfc31eb3280622a5d3c";
+      sha256 = "1zi3m7zhjl9naggmq9z81x9lfvahjs9bmp43d6b1p1idxa716pij";
     };
     meta.homepage = "https://github.com/lewis6991/satellite.nvim/";
   };
@@ -9099,12 +9387,12 @@ final: prev:
 
   sg-nvim = buildVimPlugin {
     pname = "sg.nvim";
-    version = "2024-01-15";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "sourcegraph";
       repo = "sg.nvim";
-      rev = "691e138a86ccb4083c46ff62ab5eb53f9148696d";
-      sha256 = "0qgrycxckx7ffz0rkdj1nc7bfgl5n5mhcj56sn96vrhgbzlpli7q";
+      rev = "d8286f431981f32e5e6e494c8a6f9ffbd2ee1428";
+      sha256 = "197bg1ndc33s2bcb026qy2cwazgaz9djgw1g9fcp7gj0ki900h1d";
     };
     meta.homepage = "https://github.com/sourcegraph/sg.nvim/";
   };
@@ -9172,12 +9460,12 @@ final: prev:
 
   smart-splits-nvim = buildVimPlugin {
     pname = "smart-splits.nvim";
-    version = "2024-01-11";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "mrjones2014";
       repo = "smart-splits.nvim";
-      rev = "36bfe63246386fc5ae2679aa9b17a7746b7403d5";
-      sha256 = "1gkxms47i52xadrdzh60zqp00gy2ai391cybw9n7ar0ar5xcjp1c";
+      rev = "33c85072ac7901b0f4a68dec7f7d6175f4182377";
+      sha256 = "182i7ak4m4bbxgaipc2kqca5i57qw1p244hgra8sv6xgd3qqjhj0";
     };
     meta.homepage = "https://github.com/mrjones2014/smart-splits.nvim/";
   };
@@ -9256,12 +9544,12 @@ final: prev:
 
   sonokai = buildVimPlugin {
     pname = "sonokai";
-    version = "2024-01-23";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "42822f8f9b3a5088f05cf72a0aa1477598ad1a40";
-      sha256 = "1k881larnnqwsm9fanqp7nbiqpd03m779prshky9hy50hywl5vv2";
+      rev = "a62656a798043f3c6b603efa98d4de2da89c72b2";
+      sha256 = "09l69n5j80pdb5awja3mzlsw5i7f1w1jp1xwfq72wrcap96xyk3g";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -9388,12 +9676,12 @@ final: prev:
 
   splitjoin-vim = buildVimPlugin {
     pname = "splitjoin.vim";
-    version = "2024-01-08";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "splitjoin.vim";
-      rev = "503e56ed103b58b6bd0880a3e61225c8b1c40033";
-      sha256 = "0yw3dzhngk2pqcm40cd3vkqij4m7pkh7f0phvl3mmmy8x5kw2zh6";
+      rev = "3e60a0b460b5bff086b880727392c71276c2c286";
+      sha256 = "063lbb56h9slryp5pk6f5s66dzaiyaq3znp3jxc2qrw0h82657dw";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
@@ -9413,12 +9701,12 @@ final: prev:
 
   srcery-vim = buildVimPlugin {
     pname = "srcery-vim";
-    version = "2024-01-05";
+    version = "2024-02-08";
     src = fetchFromGitHub {
       owner = "srcery-colors";
       repo = "srcery-vim";
-      rev = "b020d2a1eed0d578ae195fba2b9c6841cc886c57";
-      sha256 = "1p0d7zkgb05w1zz4xy5gc5shhlmyzxkhcfv382bvva5qzrrcvk80";
+      rev = "2e9b1d46bf28cf390950c586d5d1c688a009c8ec";
+      sha256 = "0wiz6q8fw9af825knpv5rbmk8qdq9p2b42hcybmj0m9jic288qwd";
     };
     meta.homepage = "https://github.com/srcery-colors/srcery-vim/";
   };
@@ -9459,6 +9747,18 @@ final: prev:
     meta.homepage = "https://github.com/luukvbaal/stabilize.nvim/";
   };
 
+  staline-nvim = buildVimPlugin {
+    pname = "staline.nvim";
+    version = "2023-11-22";
+    src = fetchFromGitHub {
+      owner = "tamton-aquib";
+      repo = "staline.nvim";
+      rev = "a53f869278b8b186a5afd6f21680cd103c381599";
+      sha256 = "sha256-GDMKzxFDtQk5LL+rMsxTGTyLv69w5NUd+u19noeO5ws=";
+    };
+    meta.homepage = "https://github.com/tamton-aquib/staline.nvim/";
+  };
+
   stan-vim = buildVimPlugin {
     pname = "stan-vim";
     version = "2023-12-13";
@@ -9509,16 +9809,28 @@ final: prev:
 
   statuscol-nvim = buildVimPlugin {
     pname = "statuscol.nvim";
-    version = "2023-12-23";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "luukvbaal";
       repo = "statuscol.nvim";
-      rev = "3b629754420919575a9e5758027d6e1831dbf2aa";
-      sha256 = "1qbvcrqih5w2dxf0gd9rnw1vmx0mzsi52i38i0zp44kflgp432h3";
+      rev = "eca428c8df8549fe7a480dd0da0ccc1634f16a4b";
+      sha256 = "1p6h5mmz2lz13ghdyva5as1wqh5ysd5d1zgpyvark7w1a10pp616";
     };
     meta.homepage = "https://github.com/luukvbaal/statuscol.nvim/";
   };
 
+  styler-nvim = buildVimPlugin {
+    pname = "styler.nvim";
+    version = "2024-01-19";
+    src = fetchFromGitHub {
+      owner = "folke";
+      repo = "styler.nvim";
+      rev = "2cd29996d08cec8b31270c6de64465f716ef9d71";
+      sha256 = "0lml1hizypx26n80ghaibh3wkazd21phak0af5936y46c54xi2dk";
+    };
+    meta.homepage = "https://github.com/folke/styler.nvim/";
+  };
+
   stylish-nvim = buildVimPlugin {
     pname = "stylish.nvim";
     version = "2022-02-01";
@@ -9666,12 +9978,12 @@ final: prev:
 
   tabby-nvim = buildVimPlugin {
     pname = "tabby.nvim";
-    version = "2024-01-08";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "nanozuki";
       repo = "tabby.nvim";
-      rev = "55712426431b12beae5f12e731cfb1d707632a3d";
-      sha256 = "16543b3mjqlba03bmgv961fdc8gk1cz3b3djivf10b8597rlf9sy";
+      rev = "c4df244245e116280c961112cf6ee221ca3bc294";
+      sha256 = "0mnwdhnqrcl746hzm6v9g6n2f3hy8dkk9gn19nmi32xsybw4hpxx";
     };
     meta.homepage = "https://github.com/nanozuki/tabby.nvim/";
   };
@@ -9775,12 +10087,12 @@ final: prev:
 
   tagbar = buildVimPlugin {
     pname = "tagbar";
-    version = "2023-12-21";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "fcd31ec145bbc628b90371be381717a1498b7c12";
-      sha256 = "04hv2fm8f2s4bczn3mdgm6wl690lnchxmv1k2iyjwsa79gkhcn5h";
+      rev = "12edcb59449b335555652898f82dd6d5c59d519a";
+      sha256 = "14nl91jzpbj0rd3w96qjl1z6w64y27ss3hiw08lpfhqd7f929x5b";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
@@ -9908,24 +10220,24 @@ final: prev:
 
   telescope-file-browser-nvim = buildVimPlugin {
     pname = "telescope-file-browser.nvim";
-    version = "2024-01-13";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-file-browser.nvim";
-      rev = "6f735a63dc24b9aed527cd505a31864223c8a6d8";
-      sha256 = "10ppgwzh839riksx8a3gg2nhyqhifam8s9p5p0nyjkcpq0zbgcy3";
+      rev = "48ffb8de688a22942940f50411d5928631368848";
+      sha256 = "0f00kag7jjs7h9mz43jik45xmffvz0biiyj37qkzkq7s6zjgh7ml";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/";
   };
 
   telescope-frecency-nvim = buildVimPlugin {
     pname = "telescope-frecency.nvim";
-    version = "2024-01-22";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-frecency.nvim";
-      rev = "1189184484e3153533af66b219f9ed59263a403c";
-      sha256 = "0fjl8bjmnm4gy8dxc0596sajf24sd5w2z1p6bwfpjisapykf41hb";
+      rev = "4f3e007ec28eb248811f9d7074315fe1f8852199";
+      sha256 = "1lpdxgs344sdp38r8160bjm4iigilhhailyl2gsfxxc7rwrlc03x";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/";
   };
@@ -10005,12 +10317,12 @@ final: prev:
 
   telescope-manix = buildNeovimPlugin {
     pname = "telescope-manix";
-    version = "2024-01-15";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "telescope-manix";
-      rev = "127033f39a16c0fd48128653b4cee9b17fcc80a3";
-      sha256 = "1hsplynqmgbknbkz5b769a401i3hch1kvxdzxpx15jadq5lb169p";
+      rev = "47d8bf6c447db33dc059577bd7715665220e79e8";
+      sha256 = "0xxvhi1jp3hfaa06f4jzzqxgk79alkvi2vli59j2j7vj0zvkpm53";
     };
     meta.homepage = "https://github.com/MrcJkb/telescope-manix/";
   };
@@ -10077,12 +10389,12 @@ final: prev:
 
   telescope-ultisnips-nvim = buildVimPlugin {
     pname = "telescope-ultisnips.nvim";
-    version = "2021-09-26";
+    version = "2024-02-09";
     src = fetchFromGitHub {
       owner = "fhill2";
       repo = "telescope-ultisnips.nvim";
-      rev = "f48b6d4f53b31507d3fd514905c6940409e8ada8";
-      sha256 = "0333k3m0fygc4r7w56csf0h282gf2wqrykl52n6310i9vardyqw7";
+      rev = "d1cca4b5aa809a90b7a8caddeb860329d5a8c2ff";
+      sha256 = "1nnxyc70b5zsgdylfzag2g4xl2p62v9ynx8nqv13fdn8s2g4lrvm";
     };
     meta.homepage = "https://github.com/fhill2/telescope-ultisnips.nvim/";
   };
@@ -10125,12 +10437,12 @@ final: prev:
 
   telescope-zf-native-nvim = buildVimPlugin {
     pname = "telescope-zf-native.nvim";
-    version = "2023-03-15";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "natecraddock";
       repo = "telescope-zf-native.nvim";
-      rev = "beb34b6c48154ec117930180f257a5592606d48f";
-      sha256 = "1lkgsjmmj006zwvrpr1w48pii1wrzxxanhhl1r302vll62frx94n";
+      rev = "c8ac635fb51065bb3a77f51bcec585a8dddf8652";
+      sha256 = "19a3p666wdjbnar1ifk73yf02i6gr24818svawsh8h1hsva0zyn8";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/natecraddock/telescope-zf-native.nvim/";
@@ -10150,12 +10462,12 @@ final: prev:
 
   telescope-nvim = buildNeovimPlugin {
     pname = "telescope.nvim";
-    version = "2024-01-25";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "1bfbb1fb5c56d2dbe33216fcb2ebe82e499aa06c";
-      sha256 = "08v642fh91c7mj92jjdjfzx86jmz2plvnlja8p8lwbvz0yvida5r";
+      rev = "b744cf59752aaa01561afb4223006de26f3836fd";
+      sha256 = "1fnzr97xkrg9j713pwi9093nw772xabxs9cxdaa61jy4qlxsnkfz";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -10258,12 +10570,12 @@ final: prev:
 
   text-case-nvim = buildVimPlugin {
     pname = "text-case.nvim";
-    version = "2024-01-14";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "johmsalas";
       repo = "text-case.nvim";
-      rev = "6bc91cde614bbec6f0befbaf7fcd302415d803fb";
-      sha256 = "0gbzsw9s6ja5r4acdhd331gna1y03hvr6d11584sklh00xdv497a";
+      rev = "5d85b7495c3cf8e842e4d2528edc68e6fe7c92c8";
+      sha256 = "1ri4vp260mvjqkldw9qyp5l31qnks716gz9z2l9vf01wwmxxk76i";
     };
     meta.homepage = "https://github.com/johmsalas/text-case.nvim/";
   };
@@ -10342,12 +10654,12 @@ final: prev:
 
   tmux-nvim = buildVimPlugin {
     pname = "tmux.nvim";
-    version = "2023-10-28";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "aserowy";
       repo = "tmux.nvim";
-      rev = "ea67d59721eb7e12144ce2963452e869bfd60526";
-      sha256 = "020prdsczz2vc5cdb6075fdy1fj5zhvjcirfc46kfp5bahzfarzz";
+      rev = "9c02adf16ff2f18c8e236deba91e9cf4356a02d2";
+      sha256 = "0lg3zcyd76qfbz90i01jwhxfglsnmggynh6v48lnbz0kj1prik4y";
     };
     meta.homepage = "https://github.com/aserowy/tmux.nvim/";
   };
@@ -10391,24 +10703,24 @@ final: prev:
 
   toggleterm-nvim = buildVimPlugin {
     pname = "toggleterm.nvim";
-    version = "2024-01-22";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "toggleterm.nvim";
-      rev = "b49df5cdce67a8964d1b027dae94bde212092b51";
-      sha256 = "1102wcz61bcvkiz1ck2cxxb32id9rf2hjhcs82y3x37n831kgvyb";
+      rev = "193786e0371e3286d3bc9aa0079da1cd41beaa62";
+      sha256 = "0cz6i3xa61mh8s5b9b2z008ay85ggaw02ak9w58wzgmn172q770l";
     };
     meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
   };
 
   tokyonight-nvim = buildVimPlugin {
     pname = "tokyonight.nvim";
-    version = "2024-01-24";
+    version = "2024-01-31";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "tokyonight.nvim";
-      rev = "e3301873c1e96903daebb98cc9b5926810bf73dd";
-      sha256 = "18acixjcgqzihb86apc1s8r31yp0lxw804ddwiaygwc2b3drfyx8";
+      rev = "610179f7f12db3d08540b6cc61434db2eaecbcff";
+      sha256 = "1vdw6rav1y4i4x8pgxh6lgi6d21fvvzkw25maihxh865zrqrsc4v";
     };
     meta.homepage = "https://github.com/folke/tokyonight.nvim/";
   };
@@ -10439,12 +10751,12 @@ final: prev:
 
   treesj = buildVimPlugin {
     pname = "treesj";
-    version = "2024-01-17";
+    version = "2024-02-09";
     src = fetchFromGitHub {
       owner = "Wansmer";
       repo = "treesj";
-      rev = "14808da3cddd62fc86ede53a5ea1fd1635897e75";
-      sha256 = "0qnkp3x8h956achrc90g0g1nlcnxkl6wcim7q5d4jhipf3ql6w7l";
+      rev = "60e27280030f9cd8dfb6ceb335922c6ff76682cc";
+      sha256 = "1rrcnldpl9d4fifk48w6sgrar0zhi6pbd6iqildzp3bmhf83smd1";
     };
     meta.homepage = "https://github.com/Wansmer/treesj/";
   };
@@ -10547,12 +10859,12 @@ final: prev:
 
   typescript-vim = buildVimPlugin {
     pname = "typescript-vim";
-    version = "2023-10-08";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "leafgarland";
       repo = "typescript-vim";
-      rev = "eafdcf5e9ee73b43d92372d69dd84458bf98c5e3";
-      sha256 = "1ybc0ppr6xqx5ahg56xfcrs2v0h9dnsblqmgvx5xbz41lirh51h0";
+      rev = "e83ccab88c7a045ce795583adb66956afd464a31";
+      sha256 = "0zjdwjvp9wk7gb1h569c2h5fsmr41p51wz7k0kiig4xfz1i9s7yg";
     };
     meta.homepage = "https://github.com/leafgarland/typescript-vim/";
   };
@@ -10571,26 +10883,26 @@ final: prev:
 
   typst-vim = buildVimPlugin {
     pname = "typst.vim";
-    version = "2024-01-24";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "kaarmu";
       repo = "typst.vim";
-      rev = "816ba15885cb5eb742e06bafcd53b1a8531d334b";
-      sha256 = "092cihsphaxvpimmpzfys64pakrvh23l3zc2r0f3pjzhf69vdsvr";
+      rev = "e28d440c7ba4df2516d7d7f908c4fb664a8cf86c";
+      sha256 = "14x482vxssfd2w8iyj72jzx43ap7zd3s9xpa818pq6czfyqmy6q7";
     };
     meta.homepage = "https://github.com/kaarmu/typst.vim/";
   };
 
-  ultimate-autopair = buildVimPlugin {
+  ultimate-autopair-nvim = buildVimPlugin {
     pname = "ultimate-autopair.nvim";
-    version = "2024-02-10";
+    version = "2024-02-07";
     src = fetchFromGitHub {
       owner = "altermo";
       repo = "ultimate-autopair.nvim";
-      rev = "25c13e0ce167db0255456cac10158b27d2be30c0";
+      rev = "07c9da3e7722107163b68ecc5e0141fdd825449d";
       sha256 = "16aizsf86cg5l131y2lszlfkdz1b998js89fja8yk25mwa79lsaf";
     };
-    meta.homepage = "https://github.com/altermo/ultimate-autopair.nvim.git";
+    meta.homepage = "https://github.com/altermo/ultimate-autopair.nvim/";
   };
 
   ultisnips = buildVimPlugin {
@@ -10607,12 +10919,12 @@ final: prev:
 
   undotree = buildVimPlugin {
     pname = "undotree";
-    version = "2024-01-21";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "mbbill";
       repo = "undotree";
-      rev = "d9c8b4ef872e078e8c4080812e5a3ed56d151c00";
-      sha256 = "1dawzdyrzbiry907i7flqyk5178a18vv9gycxn0g90cd5d5lrrrp";
+      rev = "9dbbf3b7d19dda0d22ceca461818e4739ad8154d";
+      sha256 = "1avs5cmwcnp5pnyk2d6krsmgqlbd5zf32nwwcxk5ac1mhyx9fcln";
     };
     meta.homepage = "https://github.com/mbbill/undotree/";
   };
@@ -10631,12 +10943,12 @@ final: prev:
 
   unison = buildVimPlugin {
     pname = "unison";
-    version = "2024-01-24";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "unisonweb";
       repo = "unison";
-      rev = "2ab2ef5142b390e99b2280a4b45b24295f58169f";
-      sha256 = "1si3aixiwbb80wwdqx5i51h4sqsvvd75bnc0kv6sijc04gl10fj7";
+      rev = "9d1c75a443fd94efdfa36ec4aa106e0894e03bd1";
+      sha256 = "0g99a224v6brxm15r88chffx1cd009yiix3352h0xd9cl3sf88pv";
     };
     meta.homepage = "https://github.com/unisonweb/unison/";
   };
@@ -10727,12 +11039,12 @@ final: prev:
 
   vifm-vim = buildVimPlugin {
     pname = "vifm.vim";
-    version = "2024-01-20";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "vifm";
       repo = "vifm.vim";
-      rev = "b187efe0ba367a47d2cc4785fb724c0451a85260";
-      sha256 = "1pmmkalyhzq9v8g1ldkvc06jz3nwidr9iwrwkl9phnssn4v9jsr4";
+      rev = "590cb40de984e369f744ac98a2222739ef6e02fc";
+      sha256 = "1cbapvzvkrdjzim9ic7kb1bkr68i0xw7bmwizmm1maa69z01si18";
     };
     meta.homepage = "https://github.com/vifm/vifm.vim/";
   };
@@ -11075,12 +11387,12 @@ final: prev:
 
   vim-airline = buildVimPlugin {
     pname = "vim-airline";
-    version = "2023-12-26";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "ff7352e4bff02eb600a136b6fd741404f3195371";
-      sha256 = "16j788ji9a3fj1cfsr5sjhix3dx9fh88g4d50g53dvln5zf201y5";
+      rev = "20a49bd494a87a40b815289693c8b7505f0074c0";
+      sha256 = "1nyjgsjs5n0wkw4419fa1p1dpgrbcxpvxgjg7w0zmkm9s4bifyl4";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -11147,12 +11459,12 @@ final: prev:
 
   vim-apm = buildVimPlugin {
     pname = "vim-apm";
-    version = "2024-01-25";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "vim-apm";
-      rev = "a4f52e65c3af4282508ba0db0e33c45bbc371968";
-      sha256 = "004fy3v1nxjhiiv0kd2ahfbbngdkmkrpr97s5q6aaa8mykgs7rfr";
+      rev = "96d452bb97c7b147b87edf75b53d5d724fb4bf64";
+      sha256 = "106rjqi3wg1yn62szi7v5xyira2qz5l5fc987n2abddakqr5ivhp";
     };
     meta.homepage = "https://github.com/ThePrimeagen/vim-apm/";
   };
@@ -11231,12 +11543,12 @@ final: prev:
 
   vim-autoformat = buildVimPlugin {
     pname = "vim-autoformat";
-    version = "2023-08-26";
+    version = "2024-02-07";
     src = fetchFromGitHub {
       owner = "vim-autoformat";
       repo = "vim-autoformat";
-      rev = "99dc8d5030945c01a7e04b1e44d107a9bd15af67";
-      sha256 = "00a1j7snyz0gc3pxks26axhdwcbd5iqs9s2crhs6vwvcj5fymmr1";
+      rev = "38a01acb7471d276ecf5970ab4fd58bfebb9ea06";
+      sha256 = "1f9cppm7x0vyxcch256lm0m7k2wj3njpp62b9xlphw8cwyqx45dp";
     };
     meta.homepage = "https://github.com/vim-autoformat/vim-autoformat/";
   };
@@ -11303,12 +11615,12 @@ final: prev:
 
   vim-be-good = buildVimPlugin {
     pname = "vim-be-good";
-    version = "2022-11-08";
+    version = "2024-01-31";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "vim-be-good";
-      rev = "c290810728a4f75e334b07dc0f3a4cdea908d351";
-      sha256 = "1xnydbqyjrmwj7cpj3qcr1icg8v75ny847i1qpj94dafjzzmi4wl";
+      rev = "4fa57b7957715c91326fcead58c1fa898b9b3625";
+      sha256 = "06smpsv72740f3i26svsa4nqd5ld357r62nns1cdw2zqcvf6llax";
     };
     meta.homepage = "https://github.com/ThePrimeagen/vim-be-good/";
   };
@@ -11783,12 +12095,12 @@ final: prev:
 
   vim-dadbod = buildVimPlugin {
     pname = "vim-dadbod";
-    version = "2023-11-23";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dadbod";
-      rev = "738cfc2ea6a1510fe23cba9006fef9291be70f7b";
-      sha256 = "1j3kga4iy6n8814j33zpxxyk4z7lxwqdnjdd70mhpybiw9ydazny";
+      rev = "936e78f44113eac54948474e222293dd70eaef9e";
+      sha256 = "0qsf1vid7482h7lccwxrkp2nql8pqi8sppvm4fj3xrcdli41vckq";
     };
     meta.homepage = "https://github.com/tpope/vim-dadbod/";
   };
@@ -11915,12 +12227,12 @@ final: prev:
 
   vim-dispatch = buildVimPlugin {
     pname = "vim-dispatch";
-    version = "2023-02-05";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dispatch";
-      rev = "6cc2691576f97d43f8751664d1a1a908b99927e5";
-      sha256 = "151fxvhz6pi021rg9bc2g564a13lvbcwh3lpa4vl3g5w9j95pmv3";
+      rev = "b84d00f11567abfcfec82a6838c7d41dfa49a447";
+      sha256 = "1gfvlki411i090rjww2nx3jn6z609g6d64xrn2hryjxyqykfnr9s";
     };
     meta.homepage = "https://github.com/tpope/vim-dispatch/";
   };
@@ -12143,12 +12455,12 @@ final: prev:
 
   vim-eunuch = buildVimPlugin {
     pname = "vim-eunuch";
-    version = "2024-01-16";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-eunuch";
-      rev = "084946fb1c8103ae0cb7342e9be3a2c69374958c";
-      sha256 = "0wp0a4zssmjmclsvzk3w2r65sxllfivbb5mfqd6yrazfg6vssdw0";
+      rev = "8fb3904be27b6b60d086f87c2570085902414069";
+      sha256 = "1icir4spx0hj4zp2ps26v9q2jgbqi9fw4anhn6k48n8ahgvim614";
     };
     meta.homepage = "https://github.com/tpope/vim-eunuch/";
   };
@@ -12275,12 +12587,12 @@ final: prev:
 
   vim-floaterm = buildVimPlugin {
     pname = "vim-floaterm";
-    version = "2023-11-19";
+    version = "2024-02-06";
     src = fetchFromGitHub {
       owner = "voldikss";
       repo = "vim-floaterm";
-      rev = "3f01a623376957437f9376327637491b74719e38";
-      sha256 = "16az2qg9a3r466b9s4agqvxnsx99wpqlw8kn8dxcg94hxrgg35dc";
+      rev = "97c085b2f69e931ed78bb1c260512d1e0492a754";
+      sha256 = "0xjgqw4apva0kaxc225nxgcnf9drl50wz30955l860s4227lv6pw";
     };
     meta.homepage = "https://github.com/voldikss/vim-floaterm/";
   };
@@ -12347,12 +12659,12 @@ final: prev:
 
   vim-fugitive = buildVimPlugin {
     pname = "vim-fugitive";
-    version = "2024-01-19";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "854a8df0d06b8d3fcb30fa7f2b08c62b553eee3b";
-      sha256 = "0bzsm454bbxyjxfiwjgx5hydhia0i04y895am0m5rl2vbbyykkmq";
+      rev = "011cf4fcb93a9649ffc6dcdff56ef948f5d0f7cc";
+      sha256 = "0dmfy7dzfv201fm0l1x18pg8rbjqflg1js6g8f36nlaqn5fvr3bl";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -12503,12 +12815,12 @@ final: prev:
 
   vim-go = buildVimPlugin {
     pname = "vim-go";
-    version = "2024-01-22";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "ca6c532753e70e4fb093e755773cc6f250a3b4b3";
-      sha256 = "0pfizf55abw1rbdrsyw9g65cia165irnj2f0snx7qmg194bgblqg";
+      rev = "0e975560df38be387cca1d7d33df7a4744091303";
+      sha256 = "03l599pga2p679m5yb0vkz492snjg1z7s9hk0002yjp2fl7fd1sy";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -12539,12 +12851,12 @@ final: prev:
 
   vim-grepper = buildVimPlugin {
     pname = "vim-grepper";
-    version = "2021-08-30";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-grepper";
-      rev = "2b93535752ffcb312f9fab73d90e80dc9f2e60fc";
-      sha256 = "1xldg5hkbapd9s842d3xpdw32sslr8lvfx12p03hrlc2w58innx1";
+      rev = "485d349125d46f2788833ecb43df7a14c46706f6";
+      sha256 = "0kkrkf8p3pxknavksj5bfxcs9wxjy5yscb45as41h85lgmmsfccs";
     };
     meta.homepage = "https://github.com/mhinz/vim-grepper/";
   };
@@ -12659,12 +12971,12 @@ final: prev:
 
   vim-helm = buildVimPlugin {
     pname = "vim-helm";
-    version = "2023-11-22";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "towolf";
       repo = "vim-helm";
-      rev = "fc2259e1f8836304a0526853ddc3fe27045be39a";
-      sha256 = "10al5is3x2a2383023rn8p9q056mgsc6dhyblxj48xb32rsmlf23";
+      rev = "86cc6766db60b8cc5731068d0c2111dee1f2b328";
+      sha256 = "0b7fxf43v8px2d4vfhj1b8d2scrr6h8dr9hfg6y7k1yk9jainsy9";
     };
     meta.homepage = "https://github.com/towolf/vim-helm/";
   };
@@ -12696,12 +13008,12 @@ final: prev:
 
   vim-highlightedyank = buildVimPlugin {
     pname = "vim-highlightedyank";
-    version = "2023-03-19";
+    version = "2024-01-28";
     src = fetchFromGitHub {
       owner = "machakann";
       repo = "vim-highlightedyank";
-      rev = "fa3f57b097e9521ce41a66b6c7cf5d9adea70ea3";
-      sha256 = "1fgbih8m7drr8ik34c5vpmd8qs3vdshixni42nih6ls6gzcv7l7z";
+      rev = "afb0f262b490706c23e94012c2ab9fa67c0481ce";
+      sha256 = "0m68f1c5b1qfdb5mcqmnm9qfjrz9f1hh5nnjzymsrb04fsjv3i2r";
     };
     meta.homepage = "https://github.com/machakann/vim-highlightedyank/";
   };
@@ -12766,6 +13078,18 @@ final: prev:
     meta.homepage = "https://github.com/jonsmithers/vim-html-template-literals/";
   };
 
+  vim-humanoid-colorscheme = buildVimPlugin {
+    pname = "vim-humanoid-colorscheme";
+    version = "2021-11-21";
+    src = fetchFromGitHub {
+      owner = "humanoid-colors";
+      repo = "vim-humanoid-colorscheme";
+      rev = "ce4fa890a2b8a32f4747eb951e93050100548fba";
+      sha256 = "1650ymvma30zyq2hl9x5z7ql11wakjgq6jarc6vxbrpgvbz0f9c8";
+    };
+    meta.homepage = "https://github.com/humanoid-colors/vim-humanoid-colorscheme/";
+  };
+
   vim-husk = buildVimPlugin {
     pname = "vim-husk";
     version = "2015-11-29";
@@ -12816,12 +13140,12 @@ final: prev:
 
   vim-illuminate = buildVimPlugin {
     pname = "vim-illuminate";
-    version = "2023-10-06";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86";
-      sha256 = "0x3li63dijw9z4imbajpxbrclw32649810bsnx5cawrqgbc7kl99";
+      rev = "305bf07b919ac526deb5193280379e2f8b599926";
+      sha256 = "1pmzh7pz23dl6jmcify9494jwgyi2jfjkg0l95cxfrbjqghjxli8";
     };
     meta.homepage = "https://github.com/RRethy/vim-illuminate/";
   };
@@ -13081,12 +13405,12 @@ final: prev:
 
   vim-just = buildVimPlugin {
     pname = "vim-just";
-    version = "2024-01-25";
+    version = "2024-02-08";
     src = fetchFromGitHub {
       owner = "NoahTheDuke";
       repo = "vim-just";
-      rev = "6d95cd79c40d82d26f2ca887494d01e8a7e90d6e";
-      sha256 = "06sx968r78nx7nmlrh8m9f45l0wpq251p7097r7ygxjn3da3l5rq";
+      rev = "974b16e257e2d30d94ec954d815ff2755fa229fb";
+      sha256 = "0n0n9dgcp7fqc299khjddn661sv0pbbc17qsnnqwqh2fmdfpdnpc";
     };
     meta.homepage = "https://github.com/NoahTheDuke/vim-just/";
   };
@@ -13309,12 +13633,12 @@ final: prev:
 
   vim-lsp = buildVimPlugin {
     pname = "vim-lsp";
-    version = "2024-01-20";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "c20c6650d32a85e09ae6c7a9747aef7ded3677fb";
-      sha256 = "1farhbqp06dkjh480lv07yvgwnmikaaagr5mpwwjrmws3m92xmv4";
+      rev = "28293320510eaa5c4b11f7510630eb95374922bb";
+      sha256 = "173kdsrqkry7p5kb1hc9g2m0d46qpa316bjrpir3hripg474fq0f";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -13345,12 +13669,12 @@ final: prev:
 
   vim-lsp-settings = buildVimPlugin {
     pname = "vim-lsp-settings";
-    version = "2024-01-06";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "vim-lsp-settings";
-      rev = "223c7382e53ba5017c6b1b1edebccae6ab8265ab";
-      sha256 = "0x5jgswz09gf958qnry01bn9sdccjv3rilajlfbhac20vhs4izm0";
+      rev = "1b60a35c40d2ef6e00ead984a95eff7c2b74fb54";
+      sha256 = "014jnk5b946ls707494alld5r2azf4j82sl8nnaza9sdd8krpba8";
     };
     meta.homepage = "https://github.com/mattn/vim-lsp-settings/";
   };
@@ -13466,12 +13790,12 @@ final: prev:
 
   vim-matchup = buildVimPlugin {
     pname = "vim-matchup";
-    version = "2024-01-06";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "e2cca1747ab175b8d839a5d28679427564643a57";
-      sha256 = "1clcvb6r1vfkajj9jd8hmvi1vx0vclyppj2vh7sjy9mpbn9xpggg";
+      rev = "7f81ae12542b2a35819f0324895df9bd8626c8ba";
+      sha256 = "10bbp2hshxghimzlvg6avfqi503skfnjlvxv3aar8rclznxd628z";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -14090,12 +14414,12 @@ final: prev:
 
   vim-plug = buildVimPlugin {
     pname = "vim-plug";
-    version = "2023-04-01";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "ca0ae0a8b1bd6380caba2d8be43a2a19baf7dbe2";
-      sha256 = "1ay2f1liya4ycf7ybiqhz02sywxkw7vhschl2kwl5hvxjahpi9p7";
+      rev = "eee20c7e795c9268ce36cb30adb66711af868941";
+      sha256 = "01szxcbdvlh2ki6drmpp3yh8m1a7290w5p997gam63s4y8qvbx8r";
     };
     meta.homepage = "https://github.com/junegunn/vim-plug/";
   };
@@ -14366,12 +14690,12 @@ final: prev:
 
   vim-rails = buildVimPlugin {
     pname = "vim-rails";
-    version = "2023-09-11";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rails";
-      rev = "1ad9663ce31e8c08134849d04184cda94bb42aba";
-      sha256 = "0kp2vbx5qfd86cmzrsnmgbpi3r07wpn5j6gn1gxgkh09xngf93nl";
+      rev = "3a155462d1c346e291595400ca238037d02a357f";
+      sha256 = "0zz510l1ncv3abax76s99cfpc6r6vvb81hnhxzyx4nzgwqzm0qag";
     };
     meta.homepage = "https://github.com/tpope/vim-rails/";
   };
@@ -14462,12 +14786,12 @@ final: prev:
 
   vim-sandwich = buildVimPlugin {
     pname = "vim-sandwich";
-    version = "2022-12-07";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "machakann";
       repo = "vim-sandwich";
-      rev = "c5a2cc438ce6ea2005c556dc833732aa53cae21a";
-      sha256 = "1b1rim7q398dnwdaqakcycvyvw04rw32k10ij7w7mqpbn9hklpm5";
+      rev = "2ce54d26564e66a675685c8a3331388b2747a26b";
+      sha256 = "172dmnb9scblsin4adx0jdw2nc9ygw4icid6i4d6q2hjak9gvd79";
     };
     meta.homepage = "https://github.com/machakann/vim-sandwich/";
   };
@@ -14654,12 +14978,12 @@ final: prev:
 
   vim-slime = buildVimPlugin {
     pname = "vim-slime";
-    version = "2024-01-25";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "4174e7505019c37f754af0717b2c8b75a80193f2";
-      sha256 = "1zfjy48s4w2b7sjpgb97sy7blwbf3d91z51id4pnzdi23dzcs5g0";
+      rev = "1feef68f237cb840a7220f83c24b6c60bf914eb5";
+      sha256 = "1swq6am7jlk52sizgcxcq9lbpqvvwbjnl7rib8s9rwmqy7iaqp64";
     };
     meta.homepage = "https://github.com/jpalardy/vim-slime/";
   };
@@ -14738,12 +15062,12 @@ final: prev:
 
   vim-sneak = buildVimPlugin {
     pname = "vim-sneak";
-    version = "2023-07-12";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-sneak";
-      rev = "29ec9167d4a609f74c130b46265aa17eb2736e6a";
-      sha256 = "1n7y5i8zbr04n48n0l4k1xp76pgrbd2lx0pnj4278ply88hgfg9f";
+      rev = "1f8702bdee0d19e9354ce26735e5d87865b55dc0";
+      sha256 = "1qkyd43kxc5i8bxmfipf2jkb1wah9jfskdnwvwbkn2bpw8cblf94";
     };
     meta.homepage = "https://github.com/justinmk/vim-sneak/";
   };
@@ -14846,12 +15170,12 @@ final: prev:
 
   vim-startuptime = buildVimPlugin {
     pname = "vim-startuptime";
-    version = "2023-06-03";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "vim-startuptime";
-      rev = "454b3de856b7bd298700de33d79774ca9b9e3875";
-      sha256 = "0zs9bp9bdf29jxkld7sff2x85y7pmi7f6am4hvzd9anhch9gnm7j";
+      rev = "308b0088a864c4711a96e45b6734cf9294074f65";
+      sha256 = "0x9vgca4zb3nwnir69df21x1qxar2yf0bshq68rxfswlc00djwy4";
     };
     meta.homepage = "https://github.com/dstein64/vim-startuptime/";
   };
@@ -15014,12 +15338,12 @@ final: prev:
 
   vim-terraform = buildVimPlugin {
     pname = "vim-terraform";
-    version = "2024-01-23";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "hashivim";
       repo = "vim-terraform";
-      rev = "3d1cfc8e183f1a58f71587442849510462f5857b";
-      sha256 = "0nsyv4pasavp8iaakl9l4vybpwxvkxaimzv7rzb51v9m03r6jqyx";
+      rev = "21f756b933cd11ac5990a6046fdc7c4e2a6c0aee";
+      sha256 = "1bp6nqsdn9h3ihy5y2na7n40nmjr1vqsjj845ks4kfrzfcsvmxms";
     };
     meta.homepage = "https://github.com/hashivim/vim-terraform/";
   };
@@ -15039,12 +15363,12 @@ final: prev:
 
   vim-test = buildVimPlugin {
     pname = "vim-test";
-    version = "2024-01-23";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "vim-test";
       repo = "vim-test";
-      rev = "1f4ee3307e266a64b00d816c727fdaa57b34ada3";
-      sha256 = "0y361p1dc5nmv622ml6j5bw3f7ccpwa56jzjfnjhd069qi8xkvrp";
+      rev = "46d2067586b788e2194e812bbfdbb2061b93a5ee";
+      sha256 = "150wl2gky4v4qs9czag3q64p4xcp1x53dyy5dkiyz2bwalphwv01";
     };
     meta.homepage = "https://github.com/vim-test/vim-test/";
   };
@@ -15219,12 +15543,12 @@ final: prev:
 
   vim-tpipeline = buildVimPlugin {
     pname = "vim-tpipeline";
-    version = "2023-10-13";
+    version = "2024-01-27";
     src = fetchFromGitHub {
       owner = "vimpostor";
       repo = "vim-tpipeline";
-      rev = "bff212497e0873ef7c97bd1e3d59cf57d6627581";
-      sha256 = "1zpn2l7lzi03glmficfs1jwk7d9c5jn2pp63m818h8810dhicalr";
+      rev = "86be2d4d7719db34d651df4690ab5f49274c646a";
+      sha256 = "1lh8dvh8din5qnm0icmrvsph4aa4nfh91zf1nf8l5kf5yfr3zy68";
     };
     meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
   };
@@ -15363,12 +15687,12 @@ final: prev:
 
   vim-visual-multi = buildVimPlugin {
     pname = "vim-visual-multi";
-    version = "2024-01-22";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "e67f7fa011c98fc5426352d3bb06362a0f70af3c";
-      sha256 = "052hb8ly7yxaylaqmlb7nwnwsjn2sbhr76k3fr618zn9p4nqa3df";
+      rev = "cff14071098de5279743b009c496303995fe4df9";
+      sha256 = "0v5fzdkihlbwmplfs44mjm08j2qvkq2h6zx0dxn628v7dzqfxcy3";
     };
     meta.homepage = "https://github.com/mg979/vim-visual-multi/";
   };
@@ -15459,12 +15783,12 @@ final: prev:
 
   vim-wakatime = buildVimPlugin {
     pname = "vim-wakatime";
-    version = "2024-01-10";
+    version = "2024-02-07";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "cae21a19c3db4d9aadd5d320de3da0c99dfd0f62";
-      sha256 = "1f7jqmsr7b9103g9fif3p8fglrqlgk5nf3ckhkjpwfy6355vk41h";
+      rev = "a4c66faea1eca47dce7c7c3586332f75cfbe9edf";
+      sha256 = "0ji718y9dkpvqz5r5zkvirksgc4nan5xng53flzjnwdiyfzgz5j2";
     };
     meta.homepage = "https://github.com/wakatime/vim-wakatime/";
   };
@@ -15603,12 +15927,12 @@ final: prev:
 
   vim-zettel = buildVimPlugin {
     pname = "vim-zettel";
-    version = "2024-01-11";
+    version = "2024-01-31";
     src = fetchFromGitHub {
       owner = "michal-h21";
       repo = "vim-zettel";
-      rev = "aa3d6edfa0251928e268e13a92d090c92446e545";
-      sha256 = "1v639cgsfx87qg30n1p3cjrp83xlanng2a428i05r319z2njvj2i";
+      rev = "c0230fb9f3d0f4aa10c6598549a733e20eeaa92f";
+      sha256 = "0pdl26s4n3wnjh2mf0vwwxwvjc8hg4i5cfsj8fip7k8zsgwg14vx";
     };
     meta.homepage = "https://github.com/michal-h21/vim-zettel/";
   };
@@ -15771,12 +16095,12 @@ final: prev:
 
   vimspector = buildVimPlugin {
     pname = "vimspector";
-    version = "2024-01-02";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "703df4d948957105fe056dec9b106fbebf25ca66";
-      sha256 = "1yavhc0y4s03mh9swa1cg21g7b3h461k6m9j728751qd30hjdbcf";
+      rev = "da7fc248dc699bf423378bd6e48eaa446f674ca7";
+      sha256 = "0r241p9h48c7hdiwfx382dpfnmjz78phw2vx0cmbc3mvsjqi71pk";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -15784,12 +16108,12 @@ final: prev:
 
   vimtex = buildVimPlugin {
     pname = "vimtex";
-    version = "2024-01-18";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "fe20ab1bd82a23441ac55054afefcd60001947a2";
-      sha256 = "1pfhsgz768knvmjiizcfv0y5vxvrywn44p1jhqz15zx3d6svf064";
+      rev = "9df79e15bf035d1cfb32c11fffed38dd7b6a0501";
+      sha256 = "06k407g6bs3msvvq8715bk21pj80ybgdhhl84zwf9gxrdrl7yapd";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -15868,12 +16192,12 @@ final: prev:
 
   vscode-nvim = buildVimPlugin {
     pname = "vscode.nvim";
-    version = "2024-01-24";
+    version = "2024-02-01";
     src = fetchFromGitHub {
       owner = "Mofiqul";
       repo = "vscode.nvim";
-      rev = "826102511b9b689a16e3e55c30f2eb65eedc99f6";
-      sha256 = "0nph82xyqvcvlr0pc78r292q6givc76lz24any7p6zph9rw0zyry";
+      rev = "380c1068612b1bfbe35d70a4f2e58be5030a0707";
+      sha256 = "1lq1j6wlh8xxzikpab2gciw6gg88hya92bswz0kk75l6fphp41kl";
     };
     meta.homepage = "https://github.com/Mofiqul/vscode.nvim/";
   };
@@ -15928,12 +16252,12 @@ final: prev:
 
   whitespace-nvim = buildVimPlugin {
     pname = "whitespace.nvim";
-    version = "2023-04-18";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "johnfrankmorgan";
       repo = "whitespace.nvim";
-      rev = "fe9ca0ba3c6e6cc1dd14c0d6cbe49d97496700dd";
-      sha256 = "1a391aq8svh3ayv4sa5dphg31l0x9rji8jrb6pa91y4b9sdhr6is";
+      rev = "34d319e07f86a628deeb237133088f01f8432bc0";
+      sha256 = "1gkxw6zhkgjvwg4jcpfiv2xkg7vk0q1prj4sh5swiznmyswsr0ay";
     };
     meta.homepage = "https://github.com/johnfrankmorgan/whitespace.nvim/";
   };
@@ -15952,12 +16276,12 @@ final: prev:
 
   wiki-vim = buildVimPlugin {
     pname = "wiki.vim";
-    version = "2024-01-22";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "wiki.vim";
-      rev = "41d63295e2e90a6a587c9b7792cf672b416cf0b4";
-      sha256 = "1mrmrlcq3g6ham8ywirf1bxbhrfw3xygvnl6mmrav2xydnv7yg8c";
+      rev = "7d0eaf0037b01b0f8bcbb59286d58feac38bb4c8";
+      sha256 = "1ibd0g6g110cvk287k7iw7fsz7w6j9g8fzrcmblxcspg5bpassy3";
     };
     meta.homepage = "https://github.com/lervag/wiki.vim/";
   };
@@ -16060,12 +16384,12 @@ final: prev:
 
   wrapping-nvim = buildVimPlugin {
     pname = "wrapping.nvim";
-    version = "2023-10-08";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "andrewferrier";
       repo = "wrapping.nvim";
-      rev = "696febba72939cf9082e0fd9cb9c603254cfa8a6";
-      sha256 = "0dqygl72ln9x572a6q3dii9cqnjgfb7l70iw9vifjpv8vsyak20x";
+      rev = "a03c9ab5590cecce1a7a19e22e28979eb82da6e9";
+      sha256 = "0cl6nljb2rrwjkjmas7rfv08i3h0asxhn79hbglzljk1v1y8ibvs";
     };
     meta.homepage = "https://github.com/andrewferrier/wrapping.nvim/";
   };
@@ -16120,24 +16444,24 @@ final: prev:
 
   yanky-nvim = buildVimPlugin {
     pname = "yanky.nvim";
-    version = "2023-11-27";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "gbprod";
       repo = "yanky.nvim";
-      rev = "6bb9ffd3cad4c9876bda54e19d0659de28a4f84f";
-      sha256 = "01pd9xgw9wh9xa4sk80g0n61ra4l9xvssqak6vv03kgrpyb1qizw";
+      rev = "7c5cbf0122ff2dfbb6a92f14885894f65949cc8b";
+      sha256 = "177xjvghk3i889hlmzmyc8xsryrj6f69v6dk0zs3wf10m20ixr78";
     };
     meta.homepage = "https://github.com/gbprod/yanky.nvim/";
   };
 
   yats-vim = buildVimPlugin {
     pname = "yats.vim";
-    version = "2023-08-24";
+    version = "2024-02-08";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "2b6950c7143790e6930b8cf32d60c6858a50d47c";
-      sha256 = "0385gak2sil6z8n20s5kdmnnpyw7ds5c2qcfr0pmyaz3dlyfx2ih";
+      rev = "6927af6e3e45d0ce585684be5681bada0ffcc3a7";
+      sha256 = "0vfcbsm77kmxs6876kac28ncjlp96hqwaj5sgjxkk5jx8077jq0p";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/HerringtonDarkholme/yats.vim/";
@@ -16193,12 +16517,12 @@ final: prev:
 
   zenbones-nvim = buildVimPlugin {
     pname = "zenbones.nvim";
-    version = "2024-01-20";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "mcchrish";
       repo = "zenbones.nvim";
-      rev = "072b21d16cc1d5ae5701455fadaa47b1e8a61780";
-      sha256 = "00n9yy41qihayp3312wqnjms3la4kw0yjbb8fid26nq3a2719hjw";
+      rev = "33672310aac6b823c88cf16d5d99472439111f9c";
+      sha256 = "0yc7rr54ywap910k6jzwv4kwjy7n7s3yfpd435gq8hlcci1fj5am";
     };
     meta.homepage = "https://github.com/mcchrish/zenbones.nvim/";
   };
@@ -16277,12 +16601,12 @@ final: prev:
 
   catppuccin-nvim = buildVimPlugin {
     pname = "catppuccin-nvim";
-    version = "2024-01-23";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "catppuccin";
       repo = "nvim";
-      rev = "bc1f2151f23227ba02ac203c2c59ad693352a741";
-      sha256 = "0qs9s2qc3xmam66ix6blg1n4wfx6847i2ls824a75a5xr73yx15x";
+      rev = "9703f227bfab20d04bcee62d2f08f1795723b4ae";
+      sha256 = "1sgz7m8gdaam87dw5k609jbihyad9hqmlxplv9xwkp76z7nja6kj";
     };
     meta.homepage = "https://github.com/catppuccin/nvim/";
   };
@@ -16313,16 +16637,28 @@ final: prev:
 
   embark-vim = buildVimPlugin {
     pname = "embark-vim";
-    version = "2024-01-14";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "embark-theme";
       repo = "vim";
-      rev = "54dd8727a871421530bb07f3629dadab24b02183";
-      sha256 = "0qxskx7lvf91zg7fr32j5vm6v4vf1r51zq9flsdx6fvvlmaqbkry";
+      rev = "d0ce0502c83864721c92d0723dde10f38a09c714";
+      sha256 = "01bx2hkxmqi9401n327m9k63m8n2jyqklgl3xkv0w3h0a16wc7h6";
     };
     meta.homepage = "https://github.com/embark-theme/vim/";
   };
 
+  gbprod-nord = buildVimPlugin {
+    pname = "gbprod-nord";
+    version = "2024-01-28";
+    src = fetchFromGitHub {
+      owner = "gbprod";
+      repo = "nord.nvim";
+      rev = "fb40d5b19205bc821964f795637250911a9fde0a";
+      sha256 = "10sswfgcl05wpj98m9qlqdbx16ypvmszpipkqhm1n59j43441m0v";
+    };
+    meta.homepage = "https://github.com/gbprod/nord.nvim/";
+  };
+
   gruvbox-community = buildVimPlugin {
     pname = "gruvbox-community";
     version = "2024-01-21";
@@ -16337,12 +16673,12 @@ final: prev:
 
   harpoon2 = buildVimPlugin {
     pname = "harpoon2";
-    version = "2024-01-06";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "harpoon";
-      rev = "2cd4e03372f7ee5692c8caa220f479ea07970f17";
-      sha256 = "01ljz9w3agz5nnz5v0894scr8hwwd599qpxb2nm2lw45hr30chii";
+      rev = "a38be6e0dd4c6db66997deab71fc4453ace97f9c";
+      sha256 = "1cmiw4sy5r4h8f2k1m91f2xykasnp66zdibx0l8vk94hw990sg26";
     };
     meta.homepage = "https://github.com/ThePrimeagen/harpoon/";
   };
@@ -16361,12 +16697,12 @@ final: prev:
 
   nightfly = buildVimPlugin {
     pname = "nightfly";
-    version = "2024-01-24";
+    version = "2024-01-30";
     src = fetchFromGitHub {
       owner = "bluz71";
       repo = "vim-nightfly-colors";
-      rev = "0c5f52d717c65951173455a70592f6383b3487e7";
-      sha256 = "0i56cqfkzgccnic23v5k0slyqc8z9zai3zcgxka40wpg3wl02x0m";
+      rev = "56fe47bd16272d9644fd9946a2596fa2c3905c35";
+      sha256 = "075iagcglwl2ggl1p6p0lmkpfrqsr5g48j3pix3xb5sx82697l3j";
     };
     meta.homepage = "https://github.com/bluz71/vim-nightfly-colors/";
   };
@@ -16385,16 +16721,28 @@ final: prev:
 
   nvchad-ui = buildVimPlugin {
     pname = "nvchad-ui";
-    version = "2023-12-28";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "ui";
-      rev = "1737a2a98e18b635480756e817564b60ff31fc53";
-      sha256 = "1d15chjvbmx583qrfw1cn0z00lkrkhippgy2rvf90b6djb0z38f3";
+      rev = "a0d3fd0adc5fd81dc5128ca3b33949196eb1fee8";
+      sha256 = "1kkrffjhr9w8f7qjvzyr82ndqy42w4m542brjvngqd3ykg8ihsgs";
     };
     meta.homepage = "https://github.com/nvchad/ui/";
   };
 
+  phha-zenburn = buildVimPlugin {
+    pname = "phha-zenburn";
+    version = "2024-01-07";
+    src = fetchFromGitHub {
+      owner = "phha";
+      repo = "zenburn.nvim";
+      rev = "512d5192214000a1ddb430d31df2e2a80c88fa8a";
+      sha256 = "1bx0c1xssmvr4ly01gs67241f9wb30k9z8ykwyqicbid2abx2jga";
+    };
+    meta.homepage = "https://github.com/phha/zenburn.nvim/";
+  };
+
   pure-lua = buildVimPlugin {
     pname = "pure-lua";
     version = "2021-05-16";
@@ -16421,12 +16769,12 @@ final: prev:
 
   rose-pine = buildVimPlugin {
     pname = "rose-pine";
-    version = "2024-01-18";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "rose-pine";
       repo = "neovim";
-      rev = "2a4aad89a803c84d7d1555d136639cd48ade1d64";
-      sha256 = "1cc62q8smmwmccq15jngbsx9wrwnjp7gl5lryavf32qngknlcb09";
+      rev = "f977eeba34b030b37f93ece2fbd792477606203b";
+      sha256 = "1mlpqm0g8nx8pfnn5kgg8scqayjl6n3x4jnnpbb4hharrrp37sb6";
     };
     meta.homepage = "https://github.com/rose-pine/neovim/";
   };
@@ -16445,12 +16793,12 @@ final: prev:
 
   tinykeymap = buildVimPlugin {
     pname = "tinykeymap";
-    version = "2024-01-05";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "tomtom";
       repo = "tinykeymap_vim";
-      rev = "4c8beeab44be0a544bcc2aff7f68ac432ab647d8";
-      sha256 = "0y3r5i2nz8m8vy5njsyrbrcnp1jsck48h7925pqhrh11lf7a9sba";
+      rev = "7217ce656069d82cd71872ede09152b232ecaf1b";
+      sha256 = "1y0snmb402k1f5r54192d7jpg3fbam4ry92hn063y92110j9580w";
     };
     meta.homepage = "https://github.com/tomtom/tinykeymap_vim/";
   };
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
index 185681984e58..0ccbc9564e74 100644
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -16,58 +16,68 @@
   };
   agda = buildGrammar {
     language = "agda";
-    version = "0.0.0+rev=c21c3a0";
+    version = "0.0.0+rev=d3dc807";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-agda";
-      rev = "c21c3a0f996363ed17b8ac99d827fe5a4821f217";
-      hash = "sha256-EV0J38zcfSHaBqzu2Rcut1l20FpB+xneFRaizEX1DXg=";
+      rev = "d3dc807692e6bca671d4491b3bf5c67eeca8c016";
+      hash = "sha256-2HBndaridTSSpYgCnpc6buLWWusmQPzsQjwAD9PkrCE=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-agda";
   };
   angular = buildGrammar {
     language = "angular";
-    version = "0.0.0+rev=624ff10";
+    version = "0.0.0+rev=3946b10";
     src = fetchFromGitHub {
-      owner = "steelsojka";
+      owner = "dlvandenberg";
       repo = "tree-sitter-angular";
-      rev = "624ff108fe949727217cddb302f20e4f16997b1c";
-      hash = "sha256-ROmM6GEhKLtNPUK3W4BOTRdxS2VcIpuRqdF18nrSsXk=";
+      rev = "3946b1040b98a12458beef2763ce4780a523e3c6";
+      hash = "sha256-z49hTi6fG/00nb23rScIQScGTFm+NS+CL5+9d8mOCFI=";
     };
-    generate = true;
-    meta.homepage = "https://github.com/steelsojka/tree-sitter-angular";
+    meta.homepage = "https://github.com/dlvandenberg/tree-sitter-angular";
   };
   apex = buildGrammar {
     language = "apex";
-    version = "0.0.0+rev=ca70b23";
+    version = "0.0.0+rev=857077f";
     src = fetchFromGitHub {
       owner = "aheber";
       repo = "tree-sitter-sfapex";
-      rev = "ca70b2347a79615cd749517f6c6c2352e50a7ce9";
-      hash = "sha256-7gVA5aFGw2DSFmmlv6HMLcfSki4aDPB05llfHFSaYME=";
+      rev = "857077f9e6bb04df0f769c18d32bfe036911adc8";
+      hash = "sha256-b7rw0AWqqvFisS0qlDppJFxSnjNZaTTeph6gKfQwFNA=";
     };
     location = "apex";
     meta.homepage = "https://github.com/aheber/tree-sitter-sfapex";
   };
   arduino = buildGrammar {
     language = "arduino";
-    version = "0.0.0+rev=ff1045f";
+    version = "0.0.0+rev=2372f16";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-arduino";
-      rev = "ff1045f5da90344d547022c50f1756be4adaf721";
-      hash = "sha256-8qPkmLxe4DrZyVjiEYGTWlLnXDzMV/7ZlDFDAPY+jTE=";
+      rev = "2372f163b8416eeea674686fe0222e39fa06bad5";
+      hash = "sha256-nX0JXEP+fAADlKqMA1rrhKlUS4JMrOtFTQ/wxoOxcIY=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino";
   };
+  asm = buildGrammar {
+    language = "asm";
+    version = "0.0.0+rev=6ace266";
+    src = fetchFromGitHub {
+      owner = "RubixDev";
+      repo = "tree-sitter-asm";
+      rev = "6ace266be7ad6bf486a95427ca3fc949aff66211";
+      hash = "sha256-sMUlk4BKpsmNhGF/ayi/wkSP6ea7pvTJKuctnOvKda0=";
+    };
+    meta.homepage = "https://github.com/RubixDev/tree-sitter-asm";
+  };
   astro = buildGrammar {
     language = "astro";
-    version = "0.0.0+rev=a092afa";
+    version = "0.0.0+rev=e924787";
     src = fetchFromGitHub {
       owner = "virchau13";
       repo = "tree-sitter-astro";
-      rev = "a092afa5c330495fdfbc652766c29c66ec6880f4";
-      hash = "sha256-yYQPBGNRmr/O9hI11L3a2ydZL/lypLtabfmBdKghnzM=";
+      rev = "e924787e12e8a03194f36a113290ac11d6dc10f3";
+      hash = "sha256-FNnkti4Ypw4RGIrIL9GtgjlYFMmOWZ2f8uQg/h3xesA=";
     };
     meta.homepage = "https://github.com/virchau13/tree-sitter-astro";
   };
@@ -84,23 +94,23 @@
   };
   awk = buildGrammar {
     language = "awk";
-    version = "0.0.0+rev=dcf4ac4";
+    version = "0.0.0+rev=207b049";
     src = fetchFromGitHub {
       owner = "Beaglefoot";
       repo = "tree-sitter-awk";
-      rev = "dcf4ac4eaff601d87cc15604765a7ae329c1b2ee";
-      hash = "sha256-ZxSgNVY5jRi6S6psG2XoNhuQnXqAjgUK7NtBK9y1WNo=";
+      rev = "207b04974c83d8d25a947e4d09763675c4617da7";
+      hash = "sha256-sW6ix5j9VpeQj7dct9u3cJ8sXgjIQlhQ7Nnh2S8wWbk=";
     };
     meta.homepage = "https://github.com/Beaglefoot/tree-sitter-awk";
   };
   bash = buildGrammar {
     language = "bash";
-    version = "0.0.0+rev=f7239f6";
+    version = "0.0.0+rev=975bc70";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-bash";
-      rev = "f7239f638d3dc16762563a9027faeee518ce1bd9";
-      hash = "sha256-+Mpks0FyQLl26TX63J6WhaAl/QDUR1k9wSUY5SFwL+w=";
+      rev = "975bc70ad95dbbf2733872bc2e0a059c055db983";
+      hash = "sha256-SU5wBy81aANd7oUZvYR14Vd53Ml/cBSwDtO6uG34CaE=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash";
   };
@@ -117,12 +127,12 @@
   };
   beancount = buildGrammar {
     language = "beancount";
-    version = "0.0.0+rev=cd08aef";
+    version = "0.0.0+rev=dd6f4ec";
     src = fetchFromGitHub {
       owner = "polarmutex";
       repo = "tree-sitter-beancount";
-      rev = "cd08aefa20dc0f3d5984b08b5d468f75bf4fd096";
-      hash = "sha256-39TnAM/urE0slFtqGykkmBlZPg0OFdkDU+p1WAAjl5c=";
+      rev = "dd6f4ec9b01dd18cc4aa8c8517738414fb98cd63";
+      hash = "sha256-HG2L0PeYJm+U0ZUra5iRH9gm41sn44tiaS91vURHe2o=";
     };
     meta.homepage = "https://github.com/polarmutex/tree-sitter-beancount";
   };
@@ -139,23 +149,23 @@
   };
   bicep = buildGrammar {
     language = "bicep";
-    version = "0.0.0+rev=3604d8c";
+    version = "0.0.0+rev=c3451d1";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-bicep";
-      rev = "3604d8c961ab129d2bfc6dfca56419c236ccdb83";
-      hash = "sha256-s0BtyYtC/D8+nudkHxpd4rSPQWrA0FngH9HIX85H/Uw=";
+      rev = "c3451d1049c80074b18078ba50007b7c00e063f8";
+      hash = "sha256-81Pt/Yyc/r8RDBCaGcXx9giIJ9+smi9Xus43NGOePgM=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-bicep";
   };
   bitbake = buildGrammar {
     language = "bitbake";
-    version = "0.0.0+rev=10bacac";
+    version = "0.0.0+rev=7e0e2ac";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-bitbake";
-      rev = "10bacac929ff36a1e8f4056503fe4f8717b21b94";
-      hash = "sha256-PSI1XVDGwDk5GjHjvCJfmBDfYM2Gmm1KR4h5KxBR1d0=";
+      rev = "7e0e2ac6f1d0da1a91ab84f35edddfdfece54f1a";
+      hash = "sha256-7He69Nk1b0gUCnLcfALQk46E2JPDhVpIIqS6qtJIx4k=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-bitbake";
   };
@@ -172,23 +182,23 @@
   };
   c = buildGrammar {
     language = "c";
-    version = "0.0.0+rev=34f4c7e";
+    version = "0.0.0+rev=72a60ea";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-c";
-      rev = "34f4c7e751f4d661be3e23682fe2631d6615141d";
-      hash = "sha256-VqTe0teQalt35HG8b2RDPOEJyqgViqUf43MQKdhEcUM=";
+      rev = "72a60ea888fb59a8e143883661f021139c905b74";
+      hash = "sha256-huEi/PEzjG9mtwL30mJ2oVy+D64d8I9Z/LZc856qlbw=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
   };
   c_sharp = buildGrammar {
     language = "c_sharp";
-    version = "0.0.0+rev=dd5e597";
+    version = "0.0.0+rev=4b4e82c";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-c-sharp";
-      rev = "dd5e59721a5f8dae34604060833902b882023aaf";
-      hash = "sha256-DlnGIky33CuRKkVVS+tOTBLVOVzASXqdaUrZawh6LZc=";
+      rev = "4b4e82ca0a30376ae605e77a0d8a3c803c9f9327";
+      hash = "sha256-NPF4nvryKvSmf4cI2xjYQiG391GqO0JoyymQCTXDjGc=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp";
   };
@@ -216,12 +226,12 @@
   };
   chatito = buildGrammar {
     language = "chatito";
-    version = "0.0.0+rev=871622a";
+    version = "0.0.0+rev=308b591";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-chatito";
-      rev = "871622a3a483f0baf94923d8495c8e0bb2c09009";
-      hash = "sha256-w4dCrAgb7/qQvFvo2RbfN0bRaUO8RKtReKx5i7SbTF8=";
+      rev = "308b5913fd2ae6b527183ba1b3a490f90da32012";
+      hash = "sha256-oD49Rc1J/CkIAqEFI87efdzGLYl73se0ekpQll/Mpxs=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-chatito";
   };
@@ -304,23 +314,23 @@
   };
   cpp = buildGrammar {
     language = "cpp";
-    version = "0.0.0+rev=3deebb6";
+    version = "0.0.0+rev=3d98832";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-cpp";
-      rev = "3deebb663506a06e179e0dd739d2b23e158f4157";
-      hash = "sha256-IN4svBz8TiDi6ADLEFgKfuY68GxIX5nG3nvtPRFt4Eo=";
+      rev = "3d988327a1cfd724c0d195b37a1056174fae99bc";
+      hash = "sha256-s7+dRY3OWE7iz9nlqHEOyLlrWaDPF0buDSIjsRYPc7s=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-cpp";
   };
   css = buildGrammar {
     language = "css";
-    version = "0.0.0+rev=98c7b3d";
+    version = "0.0.0+rev=02b4ee7";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-css";
-      rev = "98c7b3dceb24f1ee17f1322f3947e55638251c37";
-      hash = "sha256-+30AJq3L30QmLXvTnePGW39crd7mLBUJ+sGsF7Wd9qI=";
+      rev = "02b4ee757654b7d54fe35352fd8e53a8a4385d42";
+      hash = "sha256-IniaiBBx2pDD5nwJKfr5i9qvfvG+z8H21v14qk14M0g=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-css";
   };
@@ -360,35 +370,34 @@
   };
   d = buildGrammar {
     language = "d";
-    version = "0.0.0+rev=c2fbf21";
+    version = "0.0.0+rev=d9a1a2e";
     src = fetchFromGitHub {
-      owner = "CyberShadow";
+      owner = "gdamore";
       repo = "tree-sitter-d";
-      rev = "c2fbf21bd3aa45495fe13247e040ad5815250032";
-      hash = "sha256-1aW3nLZ5MbsOEiJ9PH6N/bBUlRihosWa4OWRcAmT3kc=";
+      rev = "d9a1a2ed77017c23f715643f4739433a5ea7ab6f";
+      hash = "sha256-GgecDpsZMBTEqHjSbNyUUA6HzGuYEgtqZ9AB+6+fsDo=";
     };
-    generate = true;
-    meta.homepage = "https://github.com/CyberShadow/tree-sitter-d";
+    meta.homepage = "https://github.com/gdamore/tree-sitter-d";
   };
   dart = buildGrammar {
     language = "dart";
-    version = "0.0.0+rev=f71e310";
+    version = "0.0.0+rev=1a31399";
     src = fetchFromGitHub {
       owner = "UserNobody14";
       repo = "tree-sitter-dart";
-      rev = "f71e310a93010863f4b17a2a501ea8e2032c345b";
-      hash = "sha256-6iRUtQ1bol0a7whK35MaJ3UKrxmTAzchQ8Yxy4TeerE=";
+      rev = "1a31399a08aefc93bc4cdbfadc0cb619136f86c1";
+      hash = "sha256-iQCjzNVCglHP670yT2inJKG5m3pstTZZzzcN0feGpFs=";
     };
     meta.homepage = "https://github.com/UserNobody14/tree-sitter-dart";
   };
   devicetree = buildGrammar {
     language = "devicetree";
-    version = "0.0.0+rev=6b53bfd";
+    version = "0.0.0+rev=2087a5b";
     src = fetchFromGitHub {
       owner = "joelspadin";
       repo = "tree-sitter-devicetree";
-      rev = "6b53bfdb20a54727bfe344aa40907351a298f75c";
-      hash = "sha256-KaLaRfFFVNFrQmKv6G33r4H00hNkHvyTo4Aj9sBkW4s=";
+      rev = "2087a5b965db2a9efabab958a27fd8ddf43038a2";
+      hash = "sha256-mQDZ+klWpg7csDnrj9R/9OCzwlojZoXJHiK7NCAyXIs=";
     };
     meta.homepage = "https://github.com/joelspadin/tree-sitter-devicetree";
   };
@@ -460,15 +469,15 @@
   };
   dtd = buildGrammar {
     language = "dtd";
-    version = "0.0.0+rev=dd7ef38";
+    version = "0.0.0+rev=2743ff8";
     src = fetchFromGitHub {
-      owner = "ObserverOfTime";
+      owner = "tree-sitter-grammars";
       repo = "tree-sitter-xml";
-      rev = "dd7ef38c74d8430da729b4da815e4c40776e03bb";
-      hash = "sha256-6uQ9IeR4P5VXVvFA2KURDtjuYMMj9CwLHvI1dZ1B9L4=";
+      rev = "2743ff864eac85cec830ff400f2e0024b9ca588b";
+      hash = "sha256-wuj3Q+LAtAS99pwJUD+3BzndVeNhzvQlaugzTHRvUjI=";
     };
-    location = "tree-sitter-dtd";
-    meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-xml";
+    location = "dtd";
+    meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml";
   };
   ebnf = buildGrammar {
     language = "ebnf";
@@ -550,12 +559,12 @@
   };
   embedded_template = buildGrammar {
     language = "embedded_template";
-    version = "0.0.0+rev=203f7bd";
+    version = "0.0.0+rev=6d791b8";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-embedded-template";
-      rev = "203f7bd3c1bbfbd98fc19add4b8fcb213c059205";
-      hash = "sha256-SaZkyy2wKYoK0+pdHLVpQrdXjEeX/uR5XxgahcAdwz0=";
+      rev = "6d791b897ecda59baa0689a85a9906348a2a6414";
+      hash = "sha256-I4L3mxkAnmKs+BiNRDAs58QFD2r8jN1B2yv0dZdgkzQ=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-embedded-template";
   };
@@ -581,14 +590,25 @@
     };
     meta.homepage = "https://github.com/FacilityApi/tree-sitter-facility";
   };
+  faust = buildGrammar {
+    language = "faust";
+    version = "0.0.0+rev=9e514af";
+    src = fetchFromGitHub {
+      owner = "khiner";
+      repo = "tree-sitter-faust";
+      rev = "9e514af33bfe061d0ccf1999dbcc93fca91f133c";
+      hash = "sha256-FZ5wl6Pl2Y86dNpaRMTh8Q7TEx/s0YoV9/H1J+qwlwo=";
+    };
+    meta.homepage = "https://github.com/khiner/tree-sitter-faust";
+  };
   fennel = buildGrammar {
     language = "fennel";
-    version = "0.0.0+rev=5171959";
+    version = "0.0.0+rev=15e4f8c";
     src = fetchFromGitHub {
       owner = "travonted";
       repo = "tree-sitter-fennel";
-      rev = "517195970428aacca60891b050aa53eabf4ba78d";
-      hash = "sha256-7bmrLJunNAus8XbBcBiTS5enhSzZ1mecAAyqlZUtSgo=";
+      rev = "15e4f8c417281768db17080c4447297f8ff5343a";
+      hash = "sha256-BdhgDS+yJ/DUYJknVksLSNHvei+MOkqVW7gp6AffKhU=";
     };
     meta.homepage = "https://github.com/travonted/tree-sitter-fennel";
   };
@@ -715,23 +735,23 @@
   };
   gitattributes = buildGrammar {
     language = "gitattributes";
-    version = "0.0.0+rev=19d554d";
+    version = "0.0.0+rev=3d03b37";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-gitattributes";
-      rev = "19d554d39e4a8491f7a77abcdb75bfbc1c19d0b5";
-      hash = "sha256-/mbnDUMVeyFmkkk/9AdhTvAjSeZcyc2rFgzaPJBiNs4=";
+      rev = "3d03b37395f5707b6a2bfb43f62957fe0e669c0c";
+      hash = "sha256-+DvxhL+m3Nagv0GXWWWYsIIDuWNzlK1vNVLOO0qBl2E=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-gitattributes";
   };
   gitcommit = buildGrammar {
     language = "gitcommit";
-    version = "0.0.0+rev=e8d9eda";
+    version = "0.0.0+rev=7c01af8";
     src = fetchFromGitHub {
       owner = "gbprod";
       repo = "tree-sitter-gitcommit";
-      rev = "e8d9eda4e5ea0b08aa39d48dab0f6553058fbe0f";
-      hash = "sha256-gn945mu9JhLocKjdNbUhQnDvXNy2xxMn36oNOsbNOz4=";
+      rev = "7c01af8d227b5344f62aade2ff00f19bd0c458ca";
+      hash = "sha256-2/SttSCDdTwXbhfYsiNOlVbf1V4nxd+3dxaaaTH0VQU=";
     };
     meta.homepage = "https://github.com/gbprod/tree-sitter-gitcommit";
   };
@@ -770,12 +790,12 @@
   };
   glsl = buildGrammar {
     language = "glsl";
-    version = "0.0.0+rev=5bb58a6";
+    version = "0.0.0+rev=284bed0";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-glsl";
-      rev = "5bb58a6a5b0941d4e1256c6335e50d9780e74dde";
-      hash = "sha256-k2hs8psjVJ2HcNZoVaM4k81uccmacqbl7VxDXXOAQzA=";
+      rev = "284bed0e2f1d9f700756b96512baf33483642ff0";
+      hash = "sha256-pyxMMXDwpu4IOXVzBX1LteD6pmRVCcijCyzMioqjlO0=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-glsl";
   };
@@ -790,14 +810,25 @@
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-gn";
   };
+  gnuplot = buildGrammar {
+    language = "gnuplot";
+    version = "0.0.0+rev=7549f6f";
+    src = fetchFromGitHub {
+      owner = "dpezto";
+      repo = "tree-sitter-gnuplot";
+      rev = "7549f6faf5cc9fb8cf78054a7af356a6b003c6f3";
+      hash = "sha256-AnSOI1pAMHtlkK6VcRuTCEsnXP3Sm2O95Eiwdx15UzM=";
+    };
+    meta.homepage = "https://github.com/dpezto/tree-sitter-gnuplot";
+  };
   go = buildGrammar {
     language = "go";
-    version = "0.0.0+rev=ff86c7f";
+    version = "0.0.0+rev=fd577c4";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-go";
-      rev = "ff86c7f1734873c8c4874ca4dd95603695686d7a";
-      hash = "sha256-0oXApYf6Ht9xWrWMMaumac1Rqg52GMYW0bAhRbQ8To0=";
+      rev = "fd577c4358c28cbcb6748bbf65354cc85f1cf7a4";
+      hash = "sha256-Fz9xSyjJLbNXAXbYMoVDsRqyRrLTWHAxnQBV9EF6n78=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-go";
   };
@@ -847,12 +878,12 @@
   };
   gpg = buildGrammar {
     language = "gpg";
-    version = "0.0.0+rev=18b2690";
+    version = "0.0.0+rev=e8a95ae";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-gpg-config";
-      rev = "18b2690a15f061a6ff48730589f7a4039af2d002";
-      hash = "sha256-KLyXe1Xt1OPHmOMGX+ulVdjDhBpE31lO7/nGNiI4wt0=";
+      rev = "e8a95ae3deed7d7637c33f635fc5b9fc9dbb3216";
+      hash = "sha256-9spuIVyffwp2R0iFdC0VQ4EYmHQF7/Qvt+RzldonlK8=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-gpg-config";
   };
@@ -869,14 +900,14 @@
   };
   groovy = buildGrammar {
     language = "groovy";
-    version = "0.0.0+rev=7e02322";
+    version = "0.0.0+rev=235009a";
     src = fetchFromGitHub {
-      owner = "Decodetalkers";
+      owner = "murtaza64";
       repo = "tree-sitter-groovy";
-      rev = "7e023227f46fee428b16a0288eeb0f65ee2523ec";
-      hash = "sha256-tWLc5guc5dxKHoACN3Byo/KV+2i/u2tpZgaS+Yi+CyA=";
+      rev = "235009aad0f580211fc12014bb0846c3910130c1";
+      hash = "sha256-Grp1ziaPyMNxoPbsJSiDCiKPXCtWJ/EC/d0OX/jqHF0=";
     };
-    meta.homepage = "https://github.com/Decodetalkers/tree-sitter-groovy";
+    meta.homepage = "https://github.com/murtaza64/tree-sitter-groovy";
   };
   gstlaunch = buildGrammar {
     language = "gstlaunch";
@@ -913,12 +944,12 @@
   };
   haskell = buildGrammar {
     language = "haskell";
-    version = "0.0.0+rev=dd924b8";
+    version = "0.0.0+rev=8a99848";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-haskell";
-      rev = "dd924b8df1eb76261f009e149fc6f3291c5081c2";
-      hash = "sha256-rm9EeoZ5mO4bHAB0+E+6teKCicghQ46W7VvLfv3Za7I=";
+      rev = "8a99848fc734f9c4ea523b3f2a07df133cbbcec2";
+      hash = "sha256-QIGLxc2BPGqglvpInjmmP/9gUoPEX21WrxsoGOKP03o=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-haskell";
   };
@@ -968,15 +999,26 @@
   };
   hlsl = buildGrammar {
     language = "hlsl";
-    version = "0.0.0+rev=8b10fab";
+    version = "0.0.0+rev=840fd07";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-hlsl";
-      rev = "8b10faba024b536dc85f76e0c678f573b1776034";
-      hash = "sha256-9bl7RhZjQOqBOePB4Lx3FLR79svMSh7ZVe+YlFv27WU=";
+      rev = "840fd07f09304bca415b93a15483e9ab1e44bc3f";
+      hash = "sha256-GPY6udz0YZawmQ6WcItXchUeag9EO+eMMGoYSaRsdrY=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-hlsl";
   };
+  hlsplaylist = buildGrammar {
+    language = "hlsplaylist";
+    version = "0.0.0+rev=ff121d3";
+    src = fetchFromGitHub {
+      owner = "Freed-Wu";
+      repo = "tree-sitter-hlsplaylist";
+      rev = "ff121d397cf7cc709e3bbc928107fc25529e11e0";
+      hash = "sha256-FItkJbxWfpRne27OPRq5fCHUCX35fxmiT6k1eX8UkhI=";
+    };
+    meta.homepage = "https://github.com/Freed-Wu/tree-sitter-hlsplaylist";
+  };
   hocon = buildGrammar {
     language = "hocon";
     version = "0.0.0+rev=c390f10";
@@ -1001,12 +1043,12 @@
   };
   html = buildGrammar {
     language = "html";
-    version = "0.0.0+rev=949b780";
+    version = "0.0.0+rev=438d694";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-html";
-      rev = "949b78051835564bca937565241e5e337d838502";
-      hash = "sha256-njOFN1I+Ezg6N6v/FMPk0FKnlPnvfHijqISxex6fO40=";
+      rev = "438d694a1f51e1704cb779ad4fec2517523b1d7f";
+      hash = "sha256-NL1tOr7V3QVsVu2OfzLzFpe/FpYVD6MCgdSV0I6AkRY=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-html";
   };
@@ -1043,6 +1085,17 @@
     };
     meta.homepage = "https://github.com/pfeiferj/tree-sitter-hurl";
   };
+  hyprlang = buildGrammar {
+    language = "hyprlang";
+    version = "0.0.0+rev=8602513";
+    src = fetchFromGitHub {
+      owner = "luckasRanarison";
+      repo = "tree-sitter-hyprlang";
+      rev = "86025136c12cd1058985479a6b1935829077f1af";
+      hash = "sha256-1HGA4VUWM/iR1XBNmrsdj1PRGo7qPYMw5vmcVQO1BH0=";
+    };
+    meta.homepage = "https://github.com/luckasRanarison/tree-sitter-hyprlang";
+  };
   ini = buildGrammar {
     language = "ini";
     version = "0.0.0+rev=bcb84a2";
@@ -1078,23 +1131,23 @@
   };
   java = buildGrammar {
     language = "java";
-    version = "0.0.0+rev=2b57cd9";
+    version = "0.0.0+rev=99b29f1";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-java";
-      rev = "2b57cd9541f9fd3a89207d054ce8fbe72657c444";
-      hash = "sha256-Zo+KQ6TOjdJODNppTkt8XPE+WroNB5M6+n2XF+OrD8o=";
+      rev = "99b29f1ed957b3b424b6e21f57bd21a9732a622a";
+      hash = "sha256-2A3dXO+N3M7GEiI06Dn28vU73Bow6vK0deC85mY058Q=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-java";
   };
   javascript = buildGrammar {
     language = "javascript";
-    version = "0.0.0+rev=f1e5a09";
+    version = "0.0.0+rev=9802cc5";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-javascript";
-      rev = "f1e5a09b8d02f8209a68249c93f0ad647b228e6e";
-      hash = "sha256-VbK2asd1CavcBYGia30MomQh+KOgKgz5ax10V6nEVEs=";
+      rev = "9802cc5812a19cd28168076af36e88b463dd3a18";
+      hash = "sha256-vCvpHDbO9/J/qyoSZmpmGQDVf9LweNsf3mKm6eEwdKc=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-javascript";
   };
@@ -1111,23 +1164,23 @@
   };
   jsdoc = buildGrammar {
     language = "jsdoc";
-    version = "0.0.0+rev=d01984d";
+    version = "0.0.0+rev=6a6cf9e";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-jsdoc";
-      rev = "d01984de49927c979b46ea5c01b78c8ddd79baf9";
-      hash = "sha256-O7iDoOlXi+HLesS/sKcYfb+EJLR6gfRkwA657aRRg4c=";
+      rev = "6a6cf9e7341af32d8e2b2e24a37fbfebefc3dc55";
+      hash = "sha256-fKscFhgZ/BQnYnE5EwurFZgiE//O0WagRIHVtDyes/Y=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-jsdoc";
   };
   json = buildGrammar {
     language = "json";
-    version = "0.0.0+rev=3fef30d";
+    version = "0.0.0+rev=ac6ddfa";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-json";
-      rev = "3fef30de8aee74600f25ec2e319b62a1a870d51e";
-      hash = "sha256-Msnct7JzPBIR9+PIBZCJTRdVMUzhaDTKkl3JaDUKAgo=";
+      rev = "ac6ddfa7775795a3d8f5edab4a71e3a49f932b6a";
+      hash = "sha256-T/y1xfHv3G3cTD2xw43tMiW8agKwE5CV/uwThSHkd84=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-json";
   };
@@ -1166,45 +1219,45 @@
   };
   julia = buildGrammar {
     language = "julia";
-    version = "0.0.0+rev=0c088d1";
+    version = "0.0.0+rev=e84f10d";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-julia";
-      rev = "0c088d1ad270f02c4e84189247ac7001e86fe342";
-      hash = "sha256-WEmuLNUoOyWkcDlVcf8ucdraPEi+gClAw8z9Gx51gpo=";
+      rev = "e84f10db8eeb8b9807786bfc658808edaa1b4fa2";
+      hash = "sha256-jrQjVPLb6SfePxEJV1GgFgLslGxgdmdb8bJy6VHOEbs=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-julia";
   };
   kconfig = buildGrammar {
     language = "kconfig";
-    version = "0.0.0+rev=2ba709d";
+    version = "0.0.0+rev=486fea7";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-kconfig";
-      rev = "2ba709d40caa6c1f68b26e55ff7a53e343154cfd";
-      hash = "sha256-36x4t+HPuj+QEmOetlE3JowaAXP6eUhvkx9pZduBWgA=";
+      rev = "486fea71f61ad9f3fd4072a118402e97fe88d26c";
+      hash = "sha256-a3uTjtA4KQ8KxEmpva2oHcqp8EwbI5+h9U+qoPSgDd4=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-kconfig";
   };
   kdl = buildGrammar {
     language = "kdl";
-    version = "0.0.0+rev=e180e05";
+    version = "0.0.0+rev=49fb89a";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-kdl";
-      rev = "e180e05132c4cb229a8ba679b298790ef1eca77c";
-      hash = "sha256-XJ2thChaJQjn0N/tqotjc/eR3W4+6GrNv/FxjvScswc=";
+      rev = "49fb89a854d93b58a65a19724ac307195ca11941";
+      hash = "sha256-U8N6aaTyYT6zaOKJ8S+3dMjS4ngxc9Yo7g4OFi03RR4=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-kdl";
   };
   kotlin = buildGrammar {
     language = "kotlin";
-    version = "0.0.0+rev=0ef8789";
+    version = "0.0.0+rev=4e909d6";
     src = fetchFromGitHub {
       owner = "fwcd";
       repo = "tree-sitter-kotlin";
-      rev = "0ef87892401bb01c84b40916e1f150197bc134b1";
-      hash = "sha256-A48osbWX8rkM5UlHcSX3t7PJ97IhsNe+JUTB4fnkDAE=";
+      rev = "4e909d6cc9ac96b4eaecb3fb538eaca48e9e9ee9";
+      hash = "sha256-Rmq5G+7h/XSNX7JYtpAKcWbOZ1aZpBpe9GpaizK2DRk=";
     };
     meta.homepage = "https://github.com/fwcd/tree-sitter-kotlin";
   };
@@ -1221,23 +1274,23 @@
   };
   lalrpop = buildGrammar {
     language = "lalrpop";
-    version = "0.0.0+rev=06ae1b6";
+    version = "0.0.0+rev=456dec2";
     src = fetchFromGitHub {
       owner = "traxys";
       repo = "tree-sitter-lalrpop";
-      rev = "06ae1b6c26e23c77c7fb86d51dddad62b42e66b0";
-      hash = "sha256-kYJDTT4gsiRhOzAuRdLY5IxtnqNDBABbxgtAMm9L9qw=";
+      rev = "456dec2990ed7e9595eca82f85db14a1db46e126";
+      hash = "sha256-9lBgCmXfsvNZiI6KzOxLE4S9Eh2B6FSAMX3d5Oz9mQg=";
     };
     meta.homepage = "https://github.com/traxys/tree-sitter-lalrpop";
   };
   latex = buildGrammar {
     language = "latex";
-    version = "0.0.0+rev=2ae2021";
+    version = "0.0.0+rev=841f89f";
     src = fetchFromGitHub {
       owner = "latex-lsp";
       repo = "tree-sitter-latex";
-      rev = "2ae2021d7b224fb6aa57b760e0d146059f943bb8";
-      hash = "sha256-790DbJ/nOQvH8WH6MDZZcAKANQTg1fQPGXS4BI2UbmE=";
+      rev = "841f89ffbba9650529a40fb867f3456bf92bf9b1";
+      hash = "sha256-OVPWwjRD/pYHk+iBskVuvum8+mNjIbAqJOMU22VE7CY=";
     };
     meta.homepage = "https://github.com/latex-lsp/tree-sitter-latex";
   };
@@ -1276,12 +1329,12 @@
   };
   liquidsoap = buildGrammar {
     language = "liquidsoap";
-    version = "0.0.0+rev=691484a";
+    version = "0.0.0+rev=fb062bf";
     src = fetchFromGitHub {
       owner = "savonet";
       repo = "tree-sitter-liquidsoap";
-      rev = "691484ae766c4eee2ac59ec09e621b27b9ed9add";
-      hash = "sha256-fuvT4k/NdtMNsU0rD5z9IpJ8Hc7dHTJiMWDvpShzUMY=";
+      rev = "fb062bfc7ca09a741820debb7cb8a75a557b30f9";
+      hash = "sha256-Q3ML8h6GU3KxL0G7JUAKwqNVgQBtDeQJANKF5h+MApQ=";
     };
     meta.homepage = "https://github.com/savonet/tree-sitter-liquidsoap";
   };
@@ -1309,12 +1362,12 @@
   };
   luadoc = buildGrammar {
     language = "luadoc";
-    version = "0.0.0+rev=d82b430";
+    version = "0.0.0+rev=873612a";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-luadoc";
-      rev = "d82b43018a6b22d70b264ed8713be1c4daf9b0e0";
-      hash = "sha256-x1VyDzIAozcCBO6pukhwUjZ5JiZVq2+5CMWE2XXf6Fw=";
+      rev = "873612aadd3f684dd4e631bdf42ea8990c57634e";
+      hash = "sha256-ttGBB9sn+xd9jWzjNAzpo/lwYVYZGSUGEip4K3PfBP0=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-luadoc";
   };
@@ -1364,24 +1417,24 @@
   };
   markdown = buildGrammar {
     language = "markdown";
-    version = "0.0.0+rev=28aa3ba";
+    version = "0.0.0+rev=23d9cb2";
     src = fetchFromGitHub {
       owner = "MDeiml";
       repo = "tree-sitter-markdown";
-      rev = "28aa3baef73bd458d053b613b8bd10fd102b4405";
-      hash = "sha256-HSjKYqjrJKPLbdq1UTvk/KnDqsIzVO7k5syCsIpAZpw=";
+      rev = "23d9cb2ce2f4d0914e7609b500c5fc8dfae0176f";
+      hash = "sha256-Z42w7gSUV9/9Q1jtCrd03cjlMUjHC5Vjie1x8m8K5uw=";
     };
     location = "tree-sitter-markdown";
     meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
   };
   markdown_inline = buildGrammar {
     language = "markdown_inline";
-    version = "0.0.0+rev=28aa3ba";
+    version = "0.0.0+rev=23d9cb2";
     src = fetchFromGitHub {
       owner = "MDeiml";
       repo = "tree-sitter-markdown";
-      rev = "28aa3baef73bd458d053b613b8bd10fd102b4405";
-      hash = "sha256-HSjKYqjrJKPLbdq1UTvk/KnDqsIzVO7k5syCsIpAZpw=";
+      rev = "23d9cb2ce2f4d0914e7609b500c5fc8dfae0176f";
+      hash = "sha256-Z42w7gSUV9/9Q1jtCrd03cjlMUjHC5Vjie1x8m8K5uw=";
     };
     location = "tree-sitter-markdown-inline";
     meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
@@ -1442,6 +1495,17 @@
     generate = true;
     meta.homepage = "https://github.com/artagnon/tree-sitter-mlir";
   };
+  muttrc = buildGrammar {
+    language = "muttrc";
+    version = "0.0.0+rev=0af0e0d";
+    src = fetchFromGitHub {
+      owner = "neomutt";
+      repo = "tree-sitter-muttrc";
+      rev = "0af0e0d8c8cf59dc21cfe565489da0c247374b9f";
+      hash = "sha256-AB8c2mV2sTNwN8sZkv3RbRKdxZW467P6epX+Z4LWqbU=";
+    };
+    meta.homepage = "https://github.com/neomutt/tree-sitter-muttrc";
+  };
   nasm = buildGrammar {
     language = "nasm";
     version = "0.0.0+rev=3bc691d";
@@ -1554,24 +1618,24 @@
   };
   ocaml = buildGrammar {
     language = "ocaml";
-    version = "0.0.0+rev=4abfdc1";
+    version = "0.0.0+rev=9965d20";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-ocaml";
-      rev = "4abfdc1c7af2c6c77a370aee974627be1c285b3b";
-      hash = "sha256-ycmjIKfrsVSVHmPP3HCxfk5wcBIF/JFH8OnU8mY1Cc8=";
+      rev = "9965d208337d88bbf1a38ad0b0fe49e5f5ec9677";
+      hash = "sha256-9Y/eZNsKkz8RKjMn5RIAPITkDQTWdSc/fBXzxMg1ViQ=";
     };
     location = "ocaml";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
   };
   ocaml_interface = buildGrammar {
     language = "ocaml_interface";
-    version = "0.0.0+rev=4abfdc1";
+    version = "0.0.0+rev=9965d20";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-ocaml";
-      rev = "4abfdc1c7af2c6c77a370aee974627be1c285b3b";
-      hash = "sha256-ycmjIKfrsVSVHmPP3HCxfk5wcBIF/JFH8OnU8mY1Cc8=";
+      rev = "9965d208337d88bbf1a38ad0b0fe49e5f5ec9677";
+      hash = "sha256-9Y/eZNsKkz8RKjMn5RIAPITkDQTWdSc/fBXzxMg1ViQ=";
     };
     location = "interface";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
@@ -1590,12 +1654,12 @@
   };
   odin = buildGrammar {
     language = "odin";
-    version = "0.0.0+rev=751f779";
+    version = "0.0.0+rev=f94c590";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-odin";
-      rev = "751f7796fa76075cff52edd1afff569a8a09c2a7";
-      hash = "sha256-VKcyuoXSRN4PAHQKzfuCKB9lg5y5MQyofy3FkN79Nrw=";
+      rev = "f94c590ed5263e11f1e492d1b53356f8c8459b66";
+      hash = "sha256-MLSy1OU8PE2wTfV8JoJdtjoc12MD993TViaZjp3Ujgc=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-odin";
   };
@@ -1634,12 +1698,12 @@
   };
   pem = buildGrammar {
     language = "pem";
-    version = "0.0.0+rev=e017679";
+    version = "0.0.0+rev=7905a16";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-pem";
-      rev = "e01767921df18142055d97407595329d7629e643";
-      hash = "sha256-8hSWC9Q5oy0+8l/uG4QWVupiYqSWMRfZXGH6PpTx+O8=";
+      rev = "7905a168036e23605160a0d32a142f58ab5eaa06";
+      hash = "sha256-6gEOrpJ/5UDMMVqKh0XQX+K3JOPiOk5H6CWZgB59h00=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-pem";
   };
@@ -1656,36 +1720,36 @@
   };
   php = buildGrammar {
     language = "php";
-    version = "0.0.0+rev=dc8bd41";
+    version = "0.0.0+rev=caf4d67";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-php";
-      rev = "dc8bd4150401f6c08591414f2a5480b7f2a874c8";
-      hash = "sha256-gQGj6qKjyAie6RgHZl1nVUiELDyR+/iIzFMQQ/obus8=";
+      rev = "caf4d67d55386d3e4f85d29450b8d9cacbb02d19";
+      hash = "sha256-L0M9v/T3W3v+pES2AytZ6V4jHfnSklFBRGPW3/oB2Aw=";
     };
     location = "php";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
   };
   php_only = buildGrammar {
     language = "php_only";
-    version = "0.0.0+rev=dc8bd41";
+    version = "0.0.0+rev=caf4d67";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-php";
-      rev = "dc8bd4150401f6c08591414f2a5480b7f2a874c8";
-      hash = "sha256-gQGj6qKjyAie6RgHZl1nVUiELDyR+/iIzFMQQ/obus8=";
+      rev = "caf4d67d55386d3e4f85d29450b8d9cacbb02d19";
+      hash = "sha256-L0M9v/T3W3v+pES2AytZ6V4jHfnSklFBRGPW3/oB2Aw=";
     };
     location = "php_only";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
   };
   phpdoc = buildGrammar {
     language = "phpdoc";
-    version = "0.0.0+rev=67db260";
+    version = "0.0.0+rev=f285e33";
     src = fetchFromGitHub {
       owner = "claytonrcarter";
       repo = "tree-sitter-phpdoc";
-      rev = "67db260cf4e99a02283ae26b808d59b86d42dc0f";
-      hash = "sha256-IMj5xL1SB1JYI0hweIq+kSXkoeWBqAzAu/35FO2xi+U=";
+      rev = "f285e338d328a03920a9bfd8dda78585c7ddcca3";
+      hash = "sha256-kvAZ1+tbw6bAtLhPeNGi1rmnyNhBSL/nynQADX+4tMw=";
     };
     meta.homepage = "https://github.com/claytonrcarter/tree-sitter-phpdoc";
   };
@@ -1724,12 +1788,12 @@
   };
   poe_filter = buildGrammar {
     language = "poe_filter";
-    version = "0.0.0+rev=fa83292";
+    version = "0.0.0+rev=99ce487";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-poe-filter";
-      rev = "fa83292e04d27976ab5c354e0c980f2c67628a02";
-      hash = "sha256-Ij3anynA3ZYi4/Cxp+Anvgc2Te1Qxi0mnWDc0XTHaN0=";
+      rev = "99ce487804eab781e1e1cb39de82aea236346c96";
+      hash = "sha256-kMk0gCb2/FExKyGPeRDCd6rW/R3eH1iuE7udnFoI5UY=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-poe-filter";
   };
@@ -1746,12 +1810,12 @@
   };
   printf = buildGrammar {
     language = "printf";
-    version = "0.0.0+rev=0469630";
+    version = "0.0.0+rev=ddff4ce";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-printf";
-      rev = "04696305caceab64a78e3a749774718d87ba85a1";
-      hash = "sha256-MWrKImt7+E4LYsrSMKIEifXmb6MeuiNxy3pt1DCCLBQ=";
+      rev = "ddff4ce4d630d1f1a3b591d77b2618a4169b36b9";
+      hash = "sha256-MIj4tP2+zb43pcnSBSVjPpKxjbxKFJTcz8AJphEvh6k=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-printf";
   };
@@ -1779,12 +1843,12 @@
   };
   properties = buildGrammar {
     language = "properties";
-    version = "0.0.0+rev=9725327";
+    version = "0.0.0+rev=74e5d3c";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-properties";
-      rev = "97253273bdf8b63546c8006e71ba155ecc27069e";
-      hash = "sha256-pzAoRPBZRqlchnaYrKixrgjTZZ3nLzoOD5MZCqS7trI=";
+      rev = "74e5d3c63d0da17c0800b3cf9090b24637ef6b59";
+      hash = "sha256-oB5TA8dZtuFop7Urggv2ZWWi8s6wDsIL+ZG5+sCQgq8=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-properties";
   };
@@ -1846,45 +1910,45 @@
   };
   purescript = buildGrammar {
     language = "purescript";
-    version = "0.0.0+rev=85a9095";
+    version = "0.0.0+rev=2517b1e";
     src = fetchFromGitHub {
       owner = "postsolar";
       repo = "tree-sitter-purescript";
-      rev = "85a90951c10f118f819c1137f669800246890db7";
-      hash = "sha256-F5xkMYK5WYn+Fuf/vWGaywX+hrjOqGUlg9EjHMS6yDg=";
+      rev = "2517b1ee2236353af761edbd22570f740f1603f1";
+      hash = "sha256-iE8v4kwUlq+Xlv26C8IPrZZp1/c9x+X0RHM2HhGfcXM=";
     };
     meta.homepage = "https://github.com/postsolar/tree-sitter-purescript";
   };
   pymanifest = buildGrammar {
     language = "pymanifest";
-    version = "0.0.0+rev=a775470";
+    version = "0.0.0+rev=41a15c4";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-pymanifest";
-      rev = "a77547018ada84ca4bc115c7650b19441120f065";
-      hash = "sha256-8aU3TA0KJAfsiJi326mixw6GcnFDTJzrHquCZi0lYOQ=";
+      rev = "41a15c43252baa083729c25646cde83ee5c88277";
+      hash = "sha256-sOh3j3wy519U1XCBEZhJ4WxIiGZ+/WX5xgj+wy7N9c0=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-pymanifest";
   };
   python = buildGrammar {
     language = "python";
-    version = "0.0.0+rev=4bfdd90";
+    version = "0.0.0+rev=deba2ba";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-python";
-      rev = "4bfdd9033a2225cc95032ce77066b7aeca9e2efc";
-      hash = "sha256-hXNxa895SyNOG7PH2vAIkWbcMjZDjWYDsCafBZuvnT0=";
+      rev = "deba2badc88afd18e6cbd4341ee3c18c3a9bb4ed";
+      hash = "sha256-K3zamqQPM1UHk375TrMvT9mXw8f7tUse5bFctI+V1EA=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
   };
   ql = buildGrammar {
     language = "ql";
-    version = "0.0.0+rev=bd08702";
+    version = "0.0.0+rev=ff04ba6";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-ql";
-      rev = "bd087020f0d8c183080ca615d38de0ec827aeeaf";
-      hash = "sha256-2QOtNguYAIhIhGuVqyx/33gFu3OqcxAPBZOk85Q226M=";
+      rev = "ff04ba61857ba05b80221e71b423b2728dbebe1e";
+      hash = "sha256-/ayyqSF/SBVvqMYm27NOlCYR3JN0xR3oy0OggwTysvE=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-ql";
   };
@@ -1901,23 +1965,23 @@
   };
   qmljs = buildGrammar {
     language = "qmljs";
-    version = "0.0.0+rev=2591330";
+    version = "0.0.0+rev=9fa49ff";
     src = fetchFromGitHub {
       owner = "yuja";
       repo = "tree-sitter-qmljs";
-      rev = "259133077f2fd854bcaa6f0149d3fc281fc8070b";
-      hash = "sha256-xg3fXYfAYHVAkByQekOd4EFLv0TbINcQPasFQYUkF0A=";
+      rev = "9fa49ff3315987f715ce5666ff979a7742fa8a98";
+      hash = "sha256-q20gLVLs0LpqRpgo/qNRDfExbWXhICWZjM1ux4+AT6M=";
     };
     meta.homepage = "https://github.com/yuja/tree-sitter-qmljs";
   };
   query = buildGrammar {
     language = "query";
-    version = "0.0.0+rev=3a9808b";
+    version = "0.0.0+rev=a0ccc35";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "tree-sitter-query";
-      rev = "3a9808b22742d5bd906ef5d1a562f2f1ae57406d";
-      hash = "sha256-5N7FT0HTK3xzzhAlk3wBOB9xlEpKSNIfakgFnsxEi18=";
+      rev = "a0ccc351e5e868ec1f8135e97aa3b53c663cf2df";
+      hash = "sha256-H2QLsjl3/Kh0ojCf2Df38tb9KrM2InphEmtGd0J6+hM=";
     };
     meta.homepage = "https://github.com/nvim-treesitter/tree-sitter-query";
   };
@@ -1945,23 +2009,23 @@
   };
   rasi = buildGrammar {
     language = "rasi";
-    version = "0.0.0+rev=371dac6";
+    version = "0.0.0+rev=43196d9";
     src = fetchFromGitHub {
       owner = "Fymyte";
       repo = "tree-sitter-rasi";
-      rev = "371dac6bcce0df5566c1cfebde69d90ecbeefd2d";
-      hash = "sha256-2nYZoLcrxxxiOJEySwHUm93lzMg8mU+V7LIP63ntFdA=";
+      rev = "43196d934a9a6ab3c7093a8683efd0111bb03db1";
+      hash = "sha256-7zhQ5wGm0FFyuTiBVN2KgvUTw8G6fwUGR8HKJ69kR+c=";
     };
     meta.homepage = "https://github.com/Fymyte/tree-sitter-rasi";
   };
   rbs = buildGrammar {
     language = "rbs";
-    version = "0.0.0+rev=b28e181";
+    version = "0.0.0+rev=519a611";
     src = fetchFromGitHub {
       owner = "joker1007";
       repo = "tree-sitter-rbs";
-      rev = "b28e1819d434e95916d11fe48ee6e8959b69197b";
-      hash = "sha256-HWWvettxkzziIWH6448RDxmVkaUNfSOgv3CtrlsgW3U=";
+      rev = "519a61132a51222e3ce73d3b7ef07465f587f346";
+      hash = "sha256-MLsbOdH4R3nZxqTFtPstTsbr+yjAz7UvKB/lsD8aWxM=";
     };
     meta.homepage = "https://github.com/joker1007/tree-sitter-rbs";
   };
@@ -1976,14 +2040,25 @@
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-re2c";
   };
+  readline = buildGrammar {
+    language = "readline";
+    version = "0.0.0+rev=f2f98d4";
+    src = fetchFromGitHub {
+      owner = "ribru17";
+      repo = "tree-sitter-readline";
+      rev = "f2f98d4263949d696e69a425f65326c59d1ceedc";
+      hash = "sha256-+T4HS2QqoXFRgBfY61NHK4EyQ/HF26eeMt9KV2Ud0Ug=";
+    };
+    meta.homepage = "https://github.com/ribru17/tree-sitter-readline";
+  };
   regex = buildGrammar {
     language = "regex";
-    version = "0.0.0+rev=2354482";
+    version = "0.0.0+rev=ba22e4e";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-regex";
-      rev = "2354482d7e2e8f8ff33c1ef6c8aa5690410fbc96";
-      hash = "sha256-X4iQ60LgiVsF0rtinVysX16d6yFjaSmwwndP2L5cuqw=";
+      rev = "ba22e4e0cb42b2ef066948d0ea030ac509cef733";
+      hash = "sha256-mb8y3lsbN5zEpVCeBQxGXSRqC3FKsvNg1Rb1XTSh3Qo=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-regex";
   };
@@ -2000,12 +2075,12 @@
   };
   requirements = buildGrammar {
     language = "requirements";
-    version = "0.0.0+rev=389dd46";
+    version = "0.0.0+rev=0008446";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-requirements";
-      rev = "389dd46a39075ce36af6ee3af50393d9aa506d14";
-      hash = "sha256-SGamdYeoBKMkyVzvA4nCWp3bqhfmkJctyhcVhqYBfPQ=";
+      rev = "00084464ccad32dd71da60771c25554eeedb213c";
+      hash = "sha256-84xUmRPhZvBxW+p9RWavOaK3OHJSuhjfbGr/eY4yOto=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-requirements";
   };
@@ -2055,34 +2130,34 @@
   };
   ruby = buildGrammar {
     language = "ruby";
-    version = "0.0.0+rev=4d9ad3f";
+    version = "0.0.0+rev=22a0bb2";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-ruby";
-      rev = "4d9ad3f010fdc47a8433adcf9ae30c8eb8475ae7";
-      hash = "sha256-d3pN+Z8qGDDKuy8OyguGNVD97m2VasVvi8CckdCsOB8=";
+      rev = "22a0bb2678755a3714e194609862ea7f4516e807";
+      hash = "sha256-lD3pRbQZDyqIkiknuXAkXd+6aHqKUY/8SNwQgfnrbBw=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-ruby";
   };
   rust = buildGrammar {
     language = "rust";
-    version = "0.0.0+rev=e0e8b6d";
+    version = "0.0.0+rev=a70daac";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-rust";
-      rev = "e0e8b6de6e4aa354749c794f5f36a906dcccda74";
-      hash = "sha256-egTxBuliboYbl+5N6Jdt960EMLByVmLqSmQLps3rEok=";
+      rev = "a70daac064145c84e9d51767c2575bb68d51df58";
+      hash = "sha256-2Y7sQ5bhKEpbDAHd5zJMGAlDWH32tJXxAgFOYY8S7o8=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-rust";
   };
   scala = buildGrammar {
     language = "scala";
-    version = "0.0.0+rev=45b5ba0";
+    version = "0.0.0+rev=e02f003";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-scala";
-      rev = "45b5ba0e749a8477a8fd2666f082f352859bdc3c";
-      hash = "sha256-tH2STGmCaVHDL4fOh8whPmiHbwKu8ZxjS4wDt+qVjjs=";
+      rev = "e02f003d78dc269fef287b9b7b9963dc1f26bd7e";
+      hash = "sha256-LkrZ+y7QSAGe/kkkdUSyFQJFmD/mOI5Ps/wxD3BAkDI=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
   };
@@ -2122,25 +2197,25 @@
   };
   slang = buildGrammar {
     language = "slang";
-    version = "0.0.0+rev=ac07aa2";
+    version = "0.0.0+rev=130b2f5";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-slang";
-      rev = "ac07aa2c875ef6ada2ec468d8a4d0c7c5efd96d7";
-      hash = "sha256-wWCXk7HnORmD1M761rv31yvPGLGynUyNYzrhZDNwzFs=";
+      rev = "130b2f5c7a1d5c24645c3518db4bc2b22dd90718";
+      hash = "sha256-gDN8nyQjxE7Hko3MJJj2Le0Ey0pd3GlG5QWkDf8c7Q0=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-slang";
   };
   slint = buildGrammar {
     language = "slint";
-    version = "0.0.0+rev=00c8a2d";
+    version = "0.0.0+rev=68405a4";
     src = fetchFromGitHub {
-      owner = "jrmoulton";
+      owner = "slint-ui";
       repo = "tree-sitter-slint";
-      rev = "00c8a2d3645766f68c0d0460086c0a994e5b0d85";
-      hash = "sha256-R7VeGT8Bu3i6ZPUbjEm7sbGSLvK6x3DLz098hPuhgyQ=";
+      rev = "68405a45f7a5311cd1f77e40ba84199573303f52";
+      hash = "sha256-zmmxXU7w5N8XjKn2Uu/nAc/FjCAprdKyJ0c75CGUgpk=";
     };
-    meta.homepage = "https://github.com/jrmoulton/tree-sitter-slint";
+    meta.homepage = "https://github.com/slint-ui/tree-sitter-slint";
   };
   smali = buildGrammar {
     language = "smali";
@@ -2188,28 +2263,39 @@
   };
   soql = buildGrammar {
     language = "soql";
-    version = "0.0.0+rev=ca70b23";
+    version = "0.0.0+rev=857077f";
     src = fetchFromGitHub {
       owner = "aheber";
       repo = "tree-sitter-sfapex";
-      rev = "ca70b2347a79615cd749517f6c6c2352e50a7ce9";
-      hash = "sha256-7gVA5aFGw2DSFmmlv6HMLcfSki4aDPB05llfHFSaYME=";
+      rev = "857077f9e6bb04df0f769c18d32bfe036911adc8";
+      hash = "sha256-b7rw0AWqqvFisS0qlDppJFxSnjNZaTTeph6gKfQwFNA=";
     };
     location = "soql";
     meta.homepage = "https://github.com/aheber/tree-sitter-sfapex";
   };
   sosl = buildGrammar {
     language = "sosl";
-    version = "0.0.0+rev=ca70b23";
+    version = "0.0.0+rev=857077f";
     src = fetchFromGitHub {
       owner = "aheber";
       repo = "tree-sitter-sfapex";
-      rev = "ca70b2347a79615cd749517f6c6c2352e50a7ce9";
-      hash = "sha256-7gVA5aFGw2DSFmmlv6HMLcfSki4aDPB05llfHFSaYME=";
+      rev = "857077f9e6bb04df0f769c18d32bfe036911adc8";
+      hash = "sha256-b7rw0AWqqvFisS0qlDppJFxSnjNZaTTeph6gKfQwFNA=";
     };
     location = "sosl";
     meta.homepage = "https://github.com/aheber/tree-sitter-sfapex";
   };
+  sourcepawn = buildGrammar {
+    language = "sourcepawn";
+    version = "0.0.0+rev=846ec64";
+    src = fetchFromGitHub {
+      owner = "nilshelmig";
+      repo = "tree-sitter-sourcepawn";
+      rev = "846ec647109a1f3dfab17c025c80ecdf6fd56581";
+      hash = "sha256-3yRBrzuzjWKKpLO+58P/JdNvjPj2o1HuBZOKkFh2RCs=";
+    };
+    meta.homepage = "https://github.com/nilshelmig/tree-sitter-sourcepawn";
+  };
   sparql = buildGrammar {
     language = "sparql";
     version = "0.0.0+rev=05f949d";
@@ -2223,12 +2309,12 @@
   };
   sql = buildGrammar {
     language = "sql";
-    version = "0.0.0+rev=fd70fb3";
+    version = "0.0.0+rev=da2d1ef";
     src = fetchFromGitHub {
       owner = "derekstride";
       repo = "tree-sitter-sql";
-      rev = "fd70fb358d164cd93fbe2674a9cca276dc5203f7";
-      hash = "sha256-GXQH/df33jxrIRXkJg2qRXrP6/3k+PodNxZ1O/ceaT8=";
+      rev = "da2d1eff425b146d3c8cab7be8dfa98b11d896dc";
+      hash = "sha256-aNxUvmj4AMO744fsSOsvQcNEtHYuQDephKha/hSphh0=";
     };
     meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
   };
@@ -2245,23 +2331,23 @@
   };
   ssh_config = buildGrammar {
     language = "ssh_config";
-    version = "0.0.0+rev=0969813";
+    version = "0.0.0+rev=b859582";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-ssh-config";
-      rev = "096981397385f49833dfd66037fa98081bbd9ef9";
-      hash = "sha256-WpgIir4V4X2XUTceBwZyNFQE3ePDBqjlBRS57pF8ZO4=";
+      rev = "b8595820fa331977a5a44f5f9e0a445c456b5cbf";
+      hash = "sha256-0aJ+borC8Ous0hTm000DQGaDxbYvvYjocMG4M0bUBqY=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-ssh-config";
   };
   starlark = buildGrammar {
     language = "starlark";
-    version = "0.0.0+rev=c45ce2b";
+    version = "0.0.0+rev=b31a616";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-starlark";
-      rev = "c45ce2b39062bbd12ea1c210bd200db250efb24a";
-      hash = "sha256-rEOvGrXRguIXQNvXdm+s80xRQ+8iCCdafA2Wl+dsHJo=";
+      rev = "b31a616aac5d05f927f3f9dd809789db7805b632";
+      hash = "sha256-AVQNg7Ck2x1+5asFqJHQ3sdNKJrLVeck9fsgNMBU3x8=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-starlark";
   };
@@ -2311,23 +2397,23 @@
   };
   svelte = buildGrammar {
     language = "svelte";
-    version = "0.0.0+rev=697bb51";
+    version = "0.0.0+rev=bd60db7";
     src = fetchFromGitHub {
       owner = "Himujjal";
       repo = "tree-sitter-svelte";
-      rev = "697bb515471871e85ff799ea57a76298a71a9cca";
-      hash = "sha256-TJVAQULTBTZxVwvpBpFmBPJM1jh2aN+KG8YfuT+/ylg=";
+      rev = "bd60db7d3d06f89b6ec3b287c9a6e9190b5564bd";
+      hash = "sha256-FZuzbTOP9LokPb77DSUwIXCFvMmDQPyyLKt7vNtEuAY=";
     };
     meta.homepage = "https://github.com/Himujjal/tree-sitter-svelte";
   };
   swift = buildGrammar {
     language = "swift";
-    version = "0.0.0+rev=1c58633";
+    version = "0.0.0+rev=dabbcf9";
     src = fetchFromGitHub {
       owner = "alex-pinkus";
       repo = "tree-sitter-swift";
-      rev = "1c586339fb00014b23d6933f2cc32b588a226f3b";
-      hash = "sha256-bFJfPIc8H133yASZe9chgtJEBuNQ7oWm6/6Yu6jWwhI=";
+      rev = "dabbcf9a2311e08c1b020e1258849b8359e9de1a";
+      hash = "sha256-U4r2uEDqBXeDC0NkOvSwkKreJnFSStxJisNPLJ4CTZs=";
     };
     generate = true;
     meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
@@ -2376,6 +2462,17 @@
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-tablegen";
   };
+  tcl = buildGrammar {
+    language = "tcl";
+    version = "0.0.0+rev=78c7120";
+    src = fetchFromGitHub {
+      owner = "tree-sitter-grammars";
+      repo = "tree-sitter-tcl";
+      rev = "78c71201c1b0939239e779a837dd35370c308948";
+      hash = "sha256-+dCG0V+eKmLJqvtxCLNpupb8W7a4n3hAsHfURAgnTmk=";
+    };
+    meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-tcl";
+  };
   teal = buildGrammar {
     language = "teal";
     version = "0.0.0+rev=33482c9";
@@ -2390,12 +2487,12 @@
   };
   templ = buildGrammar {
     language = "templ";
-    version = "0.0.0+rev=a3ef3d8";
+    version = "0.0.0+rev=592faa3";
     src = fetchFromGitHub {
       owner = "vrischmann";
       repo = "tree-sitter-templ";
-      rev = "a3ef3d8e73515b196d30adf9ee5115f057f7a2c6";
-      hash = "sha256-henVqdcvCURqjiueaipB2YVLhh3gbVqFiLMfvGS3t6M=";
+      rev = "592faa3186ef857c92e4bd1c31d73c07a4a334db";
+      hash = "sha256-XX1+P8ibo8REYYZQaC47lneg/roralo+YiRwFNnARsQ=";
     };
     meta.homepage = "https://github.com/vrischmann/tree-sitter-templ";
   };
@@ -2491,12 +2588,12 @@
   };
   tsx = buildGrammar {
     language = "tsx";
-    version = "0.0.0+rev=d847898";
+    version = "0.0.0+rev=198e2ea";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-typescript";
-      rev = "d847898fec3fe596798c9fda55cb8c05a799001a";
-      hash = "sha256-q8vJnJZdWzsiHHJSPGoM938U5AxuOIuGrx1r6F+cdK4=";
+      rev = "198e2ea43d1c4ddd76ee883f4eae15f4201cd241";
+      hash = "sha256-WnVqoshymxZgGC/p5nFX08ypB1VDLIAMjjWN5YC4UT8=";
     };
     location = "tsx";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
@@ -2525,12 +2622,12 @@
   };
   typescript = buildGrammar {
     language = "typescript";
-    version = "0.0.0+rev=d847898";
+    version = "0.0.0+rev=198e2ea";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-typescript";
-      rev = "d847898fec3fe596798c9fda55cb8c05a799001a";
-      hash = "sha256-q8vJnJZdWzsiHHJSPGoM938U5AxuOIuGrx1r6F+cdK4=";
+      rev = "198e2ea43d1c4ddd76ee883f4eae15f4201cd241";
+      hash = "sha256-WnVqoshymxZgGC/p5nFX08ypB1VDLIAMjjWN5YC4UT8=";
     };
     location = "typescript";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
@@ -2548,12 +2645,12 @@
   };
   udev = buildGrammar {
     language = "udev";
-    version = "0.0.0+rev=baeac48";
+    version = "0.0.0+rev=15d89be";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-udev";
-      rev = "baeac48a999abb9384cdcce320f0182937aec8ba";
-      hash = "sha256-XEbCi9Oo5mTiocdh8Uqr5XQ3nqH3MBZjZusGd076NWE=";
+      rev = "15d89be59a3802dcbe2e97e0f9d32b52f3aeda3f";
+      hash = "sha256-cgy50jUlqf9/B9H3n24gD9e4mn2qNsa9QxmE8GdhnaA=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-udev";
   };
@@ -2570,12 +2667,12 @@
   };
   unison = buildGrammar {
     language = "unison";
-    version = "0.0.0+rev=a69d087";
+    version = "0.0.0+rev=fb49b81";
     src = fetchFromGitHub {
       owner = "kylegoetz";
       repo = "tree-sitter-unison";
-      rev = "a69d087590f2ca057d1ef1a393de7e22869bb557";
-      hash = "sha256-9eDWvNkY3rEz6khluAJuTXF95CF384IRptaRXGOHma4=";
+      rev = "fb49b8125509c079e08f345758c03a427129010e";
+      hash = "sha256-Y4Pnte9ZxXq7tzjc+cliXO8U57cnHlQxOMuX8u39ptE=";
     };
     generate = true;
     meta.homepage = "https://github.com/kylegoetz/tree-sitter-unison";
@@ -2604,15 +2701,15 @@
   };
   v = buildGrammar {
     language = "v";
-    version = "0.0.0+rev=9ac84e6";
+    version = "0.0.0+rev=56d7905";
     src = fetchFromGitHub {
-      owner = "v-analyzer";
+      owner = "vlang";
       repo = "v-analyzer";
-      rev = "9ac84e62396bb13c8f1d11f967f0c0f2dec1a448";
-      hash = "sha256-a+oV175rnCgf5uTjmYkxTelekesBCEhcTOnKGorM88c=";
+      rev = "56d7905f423b82dff4b23c86e2869ddc06f6e419";
+      hash = "sha256-p6QPrmgmrMZai8zvVfNDkXo6SLDpQ537bitHeNC39ik=";
     };
     location = "tree_sitter_v";
-    meta.homepage = "https://github.com/v-analyzer/v-analyzer";
+    meta.homepage = "https://github.com/vlang/v-analyzer";
   };
   vala = buildGrammar {
     language = "vala";
@@ -2627,12 +2724,12 @@
   };
   verilog = buildGrammar {
     language = "verilog";
-    version = "0.0.0+rev=9020313";
+    version = "0.0.0+rev=2dfddfc";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-verilog";
-      rev = "902031343056bc0b11f3e47b33f036a9cf59f58d";
-      hash = "sha256-7yPSblfcfNpJYFc06GT1EYY6WMgj/SaFI3UJqUBsL9c=";
+      rev = "2dfddfcb891f74a1cdb9d8ce480a997d11846e17";
+      hash = "sha256-ekR9rDaGbDmtzZr0zXubq0brZI4hDsJUzZJTbgxIE2M=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-verilog";
   };
@@ -2671,14 +2768,14 @@
   };
   vue = buildGrammar {
     language = "vue";
-    version = "0.0.0+rev=91fe275";
+    version = "0.0.0+rev=7e48557";
     src = fetchFromGitHub {
-      owner = "ikatyang";
+      owner = "tree-sitter-grammars";
       repo = "tree-sitter-vue";
-      rev = "91fe2754796cd8fba5f229505a23fa08f3546c06";
-      hash = "sha256-NeuNpMsKZUP5mrLCjJEOSLD6tlJpNO4Z/rFUqZLHE1A=";
+      rev = "7e48557b903a9db9c38cea3b7839ef7e1f36c693";
+      hash = "sha256-dz9NC+axivAsVJPbt7TNtU89wFyrTBoD2hCBjiXFbgY=";
     };
-    meta.homepage = "https://github.com/ikatyang/tree-sitter-vue";
+    meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-vue";
   };
   wgsl = buildGrammar {
     language = "wgsl";
@@ -2704,12 +2801,12 @@
   };
   wing = buildGrammar {
     language = "wing";
-    version = "0.0.0+rev=9c3a40d";
+    version = "0.0.0+rev=f7965a9";
     src = fetchFromGitHub {
       owner = "winglang";
       repo = "wing";
-      rev = "9c3a40d7e51c2963b19d1f7614f9b551cad66bb6";
-      hash = "sha256-4L6vx4MHTuTx/5DKKWSVRygCRHI/y9YYbMs/ejAjZXw=";
+      rev = "f7965a947d2eaa8b5b9bba1c42a0e1891f1a0b2a";
+      hash = "sha256-qQ74aj7pccc3gvmeNoa0BBTMdNTmcc0h8aWNcLvpMRY=";
     };
     location = "libs/tree-sitter-wing";
     generate = true;
@@ -2717,26 +2814,26 @@
   };
   xcompose = buildGrammar {
     language = "xcompose";
-    version = "0.0.0+rev=01344fe";
+    version = "0.0.0+rev=8898238";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-xcompose";
-      rev = "01344fed31a3cd37a63f03357ec80cbc592a93b5";
-      hash = "sha256-MZmtV8d5L7qF65cJuxZaJwMVvxSYMduwv8lbzljMJLM=";
+      rev = "8898238fca7e143760386448093392b87e58002e";
+      hash = "sha256-1U3FFO6j4jdynDTRQlD8kfTYTiKvC7ZjxSECMW9NYGY=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-xcompose";
   };
   xml = buildGrammar {
     language = "xml";
-    version = "0.0.0+rev=dd7ef38";
+    version = "0.0.0+rev=2743ff8";
     src = fetchFromGitHub {
-      owner = "ObserverOfTime";
+      owner = "tree-sitter-grammars";
       repo = "tree-sitter-xml";
-      rev = "dd7ef38c74d8430da729b4da815e4c40776e03bb";
-      hash = "sha256-6uQ9IeR4P5VXVvFA2KURDtjuYMMj9CwLHvI1dZ1B9L4=";
+      rev = "2743ff864eac85cec830ff400f2e0024b9ca588b";
+      hash = "sha256-wuj3Q+LAtAS99pwJUD+3BzndVeNhzvQlaugzTHRvUjI=";
     };
-    location = "tree-sitter-xml";
-    meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-xml";
+    location = "xml";
+    meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml";
   };
   yaml = buildGrammar {
     language = "yaml";
@@ -2773,12 +2870,12 @@
   };
   zathurarc = buildGrammar {
     language = "zathurarc";
-    version = "0.0.0+rev=b47016d";
+    version = "0.0.0+rev=fe37e85";
     src = fetchFromGitHub {
       owner = "Freed-Wu";
       repo = "tree-sitter-zathurarc";
-      rev = "b47016df5688ef91ad4532138b6210c7944d6483";
-      hash = "sha256-Na0Z8mRdXYwAnw3wyc978aoQjF/m49IYsnQx3AG8kOc=";
+      rev = "fe37e85db355c737573315f278672534c40fe140";
+      hash = "sha256-lQFCJhyJTCa+zdsobMutgbQqJ9mhehaIbRLbds0riEo=";
     };
     meta.homepage = "https://github.com/Freed-Wu/tree-sitter-zathurarc";
   };
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 21267a14230f..68ce88387fa9 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -549,6 +549,12 @@
       '';
   });
 
+  elixir-tools-nvim = super.elixir-tools-nvim.overrideAttrs {
+    fixupPhase = ''
+      patchShebangs $(find $out/bin/ -type f -not -name credo-language-server)
+    '';
+  };
+
   executor-nvim = super.executor-nvim.overrideAttrs {
     dependencies = with self; [ nui-nvim ];
   };
@@ -949,6 +955,10 @@
     dependencies = with self; [ nui-nvim ];
   };
 
+  none-ls-nvim = super.none-ls-nvim.overrideAttrs {
+    dependencies = [ self.plenary-nvim ];
+  };
+
   null-ls-nvim = super.null-ls-nvim.overrideAttrs {
     dependencies = with self; [ plenary-nvim ];
   };
@@ -988,7 +998,7 @@
         inherit (old) version src;
         sourceRoot = "source/spectre_oxi";
 
-        cargoHash = "sha256-y2ZIgOApIShkIesXmItPKDO6XjFrG4GS5HCPncJUmN8=";
+        cargoHash = "sha256-822+3s6FJVqBRYJAL/89bJfGv8fNhSN3nQelB29mXvQ=";
 
 
         preCheck = ''
@@ -1124,7 +1134,7 @@
         pname = "sg-nvim-rust";
         inherit (old) version src;
 
-        cargoHash = "sha256-BDNFZ/7nnfvtBA7T6a7MDNJsq/cOI9tgW0kxUoIcbV8=";
+        cargoHash = "sha256-nlPSsp/HbS1DxhOHh5+7x1re46oiQa9FQMLClc7TQLg=";
 
         nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 11107d93668d..8edaa88adb13 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -55,6 +55,7 @@ https://github.com/pearofducks/ansible-vim/,,
 https://github.com/ckarnell/antonys-macro-repeater/,,
 https://github.com/solarnz/arcanist.vim/,,
 https://github.com/vim-scripts/argtextobj.vim/,,
+https://github.com/AstroNvim/astrotheme/,,
 https://github.com/prabirshrestha/async.vim/,,
 https://github.com/prabirshrestha/asyncomplete-buffer.vim/,HEAD,
 https://github.com/prabirshrestha/asyncomplete-file.vim/,HEAD,
@@ -76,13 +77,16 @@ https://github.com/m4xshen/autoclose.nvim/,HEAD,
 https://github.com/vim-scripts/autoload_cscope.vim/,,
 https://github.com/nullishamy/autosave.nvim/,HEAD,
 https://github.com/rafi/awesome-vim-colorschemes/,,
+https://github.com/AhmedAbdulrahman/aylin.vim/,,
 https://github.com/ayu-theme/ayu-vim/,,
 https://github.com/taybart/b64.nvim/,HEAD,
+https://github.com/m00qek/baleia.nvim/,HEAD,
+https://github.com/ribru17/bamboo.nvim/,,
 https://github.com/romgrk/barbar.nvim/,,
 https://github.com/utilyre/barbecue.nvim/,,
+https://github.com/RRethy/base16-nvim/,,
 https://github.com/chriskempson/base16-vim/,,
 https://github.com/nvchad/base46/,HEAD,
-https://github.com/IogaMaster/neocord.git,main,
 https://github.com/jamespwilliams/bat.vim/,HEAD,
 https://github.com/vim-scripts/bats.vim/,,
 https://github.com/rbgrouleff/bclose.vim/,,
@@ -91,6 +95,8 @@ https://github.com/LunarVim/bigfile.nvim/,,
 https://github.com/APZelos/blamer.nvim/,HEAD,
 https://github.com/HampusHauffman/block.nvim/,HEAD,
 https://github.com/blueballs-theme/blueballs-neovim/,,
+https://github.com/uloco/bluloco.nvim/,,
+https://github.com/rockerBOO/boo-colorscheme-nvim/,,
 https://github.com/nat-418/boole.nvim/,HEAD,
 https://github.com/turbio/bracey.vim/,,
 https://github.com/fruit-in/brainfuck-vim/,,
@@ -110,6 +116,7 @@ https://github.com/vim-scripts/changeColorScheme.vim/,,
 https://github.com/sudormrfbin/cheatsheet.nvim/,,
 https://github.com/yunlingz/ci_dark/,,
 https://github.com/projekt0n/circles.nvim/,,
+https://github.com/zootedb0t/citruszest.nvim/,,
 https://github.com/xavierd/clang_complete/,,
 https://github.com/p00f/clangd_extensions.nvim/,HEAD,
 https://github.com/rhysd/clever-f.vim/,,
@@ -164,6 +171,7 @@ https://github.com/pontusk/cmp-vimwiki-tags/,HEAD,
 https://github.com/hrsh7th/cmp-vsnip/,,
 https://github.com/tamago324/cmp-zsh/,HEAD,
 https://github.com/saadparwaiz1/cmp_luasnip/,,
+https://github.com/lalitmee/cobalt2.nvim/,,
 https://github.com/vn-ki/coc-clap/,,
 https://github.com/neoclide/coc-denite/,,
 https://github.com/antoinemadec/coc-fzf/,,
@@ -215,10 +223,12 @@ https://github.com/JazzCore/ctrlp-cmatcher/,,
 https://github.com/FelikZ/ctrlp-py-matcher/,,
 https://github.com/amiorin/ctrlp-z/,,
 https://github.com/ctrlpvim/ctrlp.vim/,,
+https://github.com/scottmckendry/cyberdream.nvim/,,
 https://github.com/dart-lang/dart-vim-plugin/,,
 https://github.com/rizzatti/dash.vim/,HEAD,
 https://github.com/glepnir/dashboard-nvim/,,
 https://github.com/andrewferrier/debugprint.nvim/,HEAD,
+https://github.com/Verf/deepwhite.nvim/,,
 https://github.com/kristijanhusak/defx-git/,,
 https://github.com/kristijanhusak/defx-icons/,,
 https://github.com/Shougo/defx.nvim/,,
@@ -256,6 +266,7 @@ https://github.com/elihunter173/dirbuf.nvim/,HEAD,
 https://github.com/direnv/direnv.vim/,,
 https://github.com/chipsenkbeil/distant.nvim/,HEAD,
 https://github.com/doki-theme/doki-theme-vim/,,
+https://github.com/NTBBloodbath/doom-one.nvim/,,
 https://github.com/Mofiqul/dracula.nvim/,HEAD,
 https://github.com/stevearc/dressing.nvim/,,
 https://github.com/Bekaboo/dropbar.nvim/,HEAD,
@@ -272,6 +283,7 @@ https://github.com/dmix/elvish.vim/,,
 https://github.com/mattn/emmet-vim/,,
 https://github.com/vim-scripts/emodeline/,,
 https://github.com/vim-scripts/errormarker.vim/,,
+https://github.com/hachy/eva01.vim/,,
 https://github.com/sainnhe/everforest/,,
 https://github.com/google/executor.nvim/,HEAD,
 https://github.com/jinh0/eyeliner.nvim/,HEAD,
@@ -290,6 +302,7 @@ https://github.com/glacambre/firenvim/,HEAD,
 https://github.com/andviro/flake8-vim/,,
 https://github.com/folke/flash.nvim/,HEAD,
 https://github.com/willothy/flatten.nvim/,HEAD,
+https://github.com/felipeagc/fleet-theme-nvim/,,
 https://github.com/ggandor/flit.nvim/,HEAD,
 https://github.com/ncm2/float-preview.nvim/,,
 https://github.com/liangxianzhe/floating-input.nvim/,HEAD,
@@ -335,6 +348,7 @@ https://github.com/rmagatti/goto-preview/,,
 https://github.com/junegunn/goyo.vim/,,
 https://github.com/brymer-meneses/grammar-guard.nvim/,HEAD,
 https://github.com/liuchengxu/graphviz.vim/,,
+https://github.com/blazkowolf/gruber-darker.nvim/,,
 https://github.com/gruvbox-community/gruvbox/,,gruvbox-community
 https://github.com/morhetz/gruvbox/,,
 https://github.com/eddyekofo94/gruvbox-flat.nvim/,,
@@ -473,6 +487,8 @@ https://github.com/kaicataldo/material.vim/,HEAD,
 https://github.com/vim-scripts/mayansmoke/,,
 https://github.com/chikamichi/mediawiki.vim/,HEAD,
 https://github.com/savq/melange-nvim/,,
+https://github.com/xero/miasma.nvim/,,
+https://github.com/dasupradyumna/midnight.nvim/,,
 https://github.com/phaazon/mind.nvim/,HEAD,
 https://github.com/echasnovski/mini.nvim/,,
 https://github.com/wfxr/minimap.vim/,,
@@ -512,6 +528,7 @@ https://github.com/Shougo/neco-vim/,,
 https://github.com/nvim-neo-tree/neo-tree.nvim/,HEAD,
 https://github.com/Shougo/neocomplete.vim/,,
 https://github.com/folke/neoconf.nvim/,HEAD,
+https://github.com/IogaMaster/neocord/,main,
 https://github.com/KeitaNakamura/neodark.vim/,,
 https://github.com/folke/neodev.nvim/,HEAD,
 https://github.com/sbdchd/neoformat/,,
@@ -558,14 +575,19 @@ https://github.com/oberblastmeister/neuron.nvim/,,
 https://github.com/fiatjaf/neuron.vim/,,
 https://github.com/Olical/nfnl/,main,
 https://github.com/chr4/nginx.vim/,,
+https://github.com/oxfist/night-owl.nvim/,,
 https://github.com/EdenEast/nightfox.nvim/,,
+https://github.com/Alexis12119/nightly.nvim/,,
 https://github.com/zah/nim.vim/,,
 https://github.com/figsoda/nix-develop.nvim/,HEAD,
 https://github.com/tamago324/nlsp-settings.nvim/,main,
 https://github.com/mcchrish/nnn.vim/,,
+https://github.com/aktersnurra/no-clown-fiesta.nvim/,,
 https://github.com/shortcuts/no-neck-pain.nvim/,HEAD,
+https://github.com/kartikp10/noctis.nvim/,,
 https://github.com/folke/noice.nvim/,HEAD,
 https://github.com/nvimtools/none-ls.nvim/,HEAD,
+https://github.com/gbprod/nord.nvim/,,gbprod-nord
 https://github.com/shaunsingh/nord.nvim/,,
 https://github.com/andersevenrud/nordic.nvim/,,
 https://github.com/vigoux/notifier.nvim/,HEAD,
@@ -574,13 +596,12 @@ https://github.com/MunifTanjim/nui.nvim/,main,
 https://github.com/jose-elias-alvarez/null-ls.nvim/,,
 https://github.com/nacro90/numb.nvim/,,
 https://github.com/nvchad/nvchad/,HEAD,
-https://github.com/altermo/ultimate-autopair.nvim.git,HEAD,
 https://github.com/ChristianChiarulli/nvcode-color-schemes.vim/,,
 https://github.com/catppuccin/nvim/,,catppuccin-nvim
 https://github.com/AckslD/nvim-FeMaco.lua/,HEAD,
 https://github.com/nathanmsmith/nvim-ale-diagnostic/,,
 https://github.com/windwp/nvim-autopairs/,,
-https://github.com/RRethy/nvim-base16/,,
+https://github.com/Canop/nvim-bacon/,HEAD,
 https://github.com/code-biscuits/nvim-biscuits/,HEAD,
 https://github.com/kevinhwang91/nvim-bqf/,,
 https://github.com/ojroques/nvim-bufdel/,,
@@ -674,10 +695,12 @@ https://github.com/mhartington/oceanic-next/,,
 https://github.com/pwntester/octo.nvim/,,
 https://github.com/stevearc/oil.nvim/,HEAD,
 https://github.com/nomnivore/ollama.nvim/,HEAD,
+https://github.com/yonlu/omni.vim/,,
 https://github.com/Hoffs/omnisharp-extended-lsp.nvim/,HEAD,
 https://github.com/Th3Whit3Wolf/one-nvim/,,
 https://github.com/navarasu/onedark.nvim/,,
 https://github.com/joshdick/onedark.vim/,,
+https://github.com/LunarVim/onedarker.nvim/,,
 https://github.com/olimorris/onedarkpro.nvim/,,
 https://github.com/sonph/onehalf/,,
 https://github.com/rmehri01/onenord.nvim/,main,
@@ -693,6 +716,7 @@ https://github.com/nyoom-engineering/oxocarbon.nvim/,HEAD,
 https://github.com/vuki656/package-info.nvim/,,
 https://github.com/wbthomason/packer.nvim/,,
 https://github.com/drewtempelmeyer/palenight.vim/,,
+https://github.com/JoosepAlviste/palenightfall.nvim/,,
 https://github.com/roobert/palette.nvim/,HEAD,
 https://github.com/NLKNguyen/papercolor-theme/,,
 https://github.com/tmsvg/pear-tree/,,
@@ -795,11 +819,13 @@ https://github.com/srcery-colors/srcery-vim/,,
 https://github.com/chr4/sslsecure.vim/,,
 https://github.com/cshuaimin/ssr.nvim/,HEAD,
 https://github.com/luukvbaal/stabilize.nvim/,,
+https://github.com/tamton-aquib/staline.nvim/,main,
 https://github.com/eigenfoo/stan-vim/,,
 https://github.com/josegamez82/starrynight/,HEAD,
 https://github.com/darfink/starsearch.vim/,,
 https://github.com/startup-nvim/startup.nvim/,HEAD,
 https://github.com/luukvbaal/statuscol.nvim/,,
+https://github.com/folke/styler.nvim/,,
 https://github.com/teto/stylish.nvim/,HEAD,
 https://github.com/gbprod/substitute.nvim/,HEAD,
 https://github.com/kvrohit/substrata.nvim/,HEAD,
@@ -890,6 +916,7 @@ https://github.com/leafgarland/typescript-vim/,,
 https://github.com/jose-elias-alvarez/typescript.nvim/,,
 https://github.com/kaarmu/typst.vim/,HEAD,
 https://github.com/nvchad/ui/,HEAD,nvchad-ui
+https://github.com/altermo/ultimate-autopair.nvim/,HEAD,
 https://github.com/SirVer/ultisnips/,,
 https://github.com/mbbill/undotree/,,
 https://github.com/chrisbra/unicode.vim/,,
@@ -1076,6 +1103,7 @@ https://github.com/GEverding/vim-hocon/,,
 https://github.com/Twinside/vim-hoogle/,,
 https://github.com/ntk148v/vim-horizon/,,
 https://github.com/jonsmithers/vim-html-template-literals/,,
+https://github.com/humanoid-colors/vim-humanoid-colorscheme/,,
 https://github.com/vim-utils/vim-husk/,,
 https://github.com/w0ng/vim-hybrid/,,
 https://github.com/kristijanhusak/vim-hybrid-material/,,
@@ -1365,6 +1393,7 @@ https://github.com/KabbAmine/zeavim.vim/,,
 https://github.com/folke/zen-mode.nvim/,,
 https://github.com/mcchrish/zenbones.nvim/,HEAD,
 https://github.com/jnurmine/zenburn/,,
+https://github.com/phha/zenburn.nvim/,,phha-zenburn
 https://github.com/glepnir/zephyr-nvim/,,
 https://github.com/ziglang/zig.vim/,,
 https://github.com/mickael-menu/zk-nvim/,HEAD,
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 322e9c583930..0c0df699a4e1 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -98,6 +98,23 @@ let
         };
       };
 
+      aaron-bond.better-comments = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "better-comments";
+          publisher = "aaron-bond";
+          version = "3.0.2";
+          sha256 = "850980f0f5a37f635deb4bf9100baaa83f0b204bbbb25acdb3c96e73778f8197";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/aaron-bond.better-comments/changelog";
+          description = "Improve your code commenting by annotating with alert, informational, TODOs, and more!";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments";
+          homepage = "https://github.com/aaron-bond/better-comments";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.DataHearth ];
+        };
+      };
+
       adpyke.codesnap = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "codesnap";
@@ -173,6 +190,23 @@ let
         };
       };
 
+      alexisvt.flutter-snippets = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "flutter-snippets";
+          publisher = "alexisvt";
+          version = "3.0.0";
+          sha256 = "44ac46f826625f0a4aec40f2542f32c161e672ff96f45a548d0bccd9feed04ef";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/alexisvt.flutter-snippets/changelog";
+          description = "A set of helpful widget snippets for day to day Flutter development";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=alexisvt.flutter-snippets";
+          homepage = "https://github.com/Alexisvt/flutter-snippets";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.DataHearth ];
+        };
+      };
+
       alygin.vscode-tlaplus = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-tlaplus";
@@ -753,22 +787,57 @@ let
       };
 
       charliermarsh.ruff = buildVscodeMarketplaceExtension {
-        mktplcRef = {
+        mktplcRef = let
+          sources = {
+            "x86_64-linux" = {
+              arch = "linux-x64";
+              sha256 = "sha256-2c0tH/MlDOqeyffcV8ZCy4woogBTcf1GCuPPO8JXaWc=";
+            };
+            "x86_64-darwin" = {
+              arch = "darwin-x64";
+              sha256 = "sha256-euvGIlO7931N56R5BWKu3F9nSEoDgf+DXk7Hgl1qSUw=";
+            };
+            "aarch64-linux" = {
+              arch = "linux-arm64";
+              sha256 = "sha256-dGpIHChnfrQbxRZDuoAi4imgStyyPdxdvTQ3lknMYu0=";
+            };
+            "aarch64-darwin" = {
+              arch = "darwin-arm64";
+              sha256 = "sha256-tElX4C0I5AmpxSHMtqOsxSAUImD1tqArB5fnvhw4LFc=";
+            };
+          };
+        in {
           name = "ruff";
           publisher = "charliermarsh";
-          version = "2023.60.0";
-          sha256 = "sha256-qgwud2gzHLHID45VxDlngFMoks5O3pTHQe+Q7bdf8+I=";
-        };
+          version = "2024.4.0";
+        } // sources.${stdenv.system} or (throw "Unsupported system ${stdenv.system}");
         meta = {
           license = lib.licenses.mit;
-          changelog = "https://github.com/astral-sh/ruff-vscode/releases";
-          description = "Ruff extension for Visual Studio Code";
+          changelog = "https://marketplace.visualstudio.com/items/charliermarsh.ruff/changelog";
+          description = "A Visual Studio Code extension with support for the Ruff linter.";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff";
-          homepage = "https://github.com/astral-sh/ruff-vscode/";
+          homepage = "https://github.com/astral-sh/ruff-vscode";
           maintainers = [ lib.maintainers.azd325 ];
         };
       };
 
+      christian-kohler.npm-intellisense = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "npm-intellisense";
+          publisher = "christian-kohler";
+          version = "1.4.5";
+          sha256 = "962b851a7cafbd51f34afeb4a0b91e985caff3947e46218a12b448533d8f60ab";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/christian-kohler.npm-intellisense/changelog";
+          description = "Visual Studio Code plugin that autocompletes npm modules in import statements";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=christian-kohler.npm-intellisense";
+          homepage = "https://github.com/ChristianKohler/NpmIntellisense";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.DataHearth ];
+        };
+      };
+
       chenglou92.rescript-vscode = callPackage ./chenglou92.rescript-vscode { };
 
       chris-hayes.chatgpt-reborn = buildVscodeMarketplaceExtension {
@@ -1252,6 +1321,23 @@ let
         };
       };
 
+      ecmel.vscode-html-css = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-html-css";
+          publisher = "ecmel";
+          version = "2.0.9";
+          sha256 = "7c30d57d2ff9986bd5daa2c9f51ec4bb04239ca23a51e971a63f7b93d005d297";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/ecmel.vscode-html-css/changelog";
+          description = "CSS Intellisense for HTML";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ecmel.vscode-html-css";
+          homepage = "https://github.com/ecmel/vscode-html-css";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.DataHearth ];
+        };
+      };
+
       editorconfig.editorconfig = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "EditorConfig";
@@ -2220,6 +2306,16 @@ let
         };
       };
 
+      karunamurti.haml = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "haml";
+          publisher = "karunamurti";
+          version = "1.4.1";
+          sha256 = "123cwfajakkg2pr0z4v289fzzlhwbxx9dvb5bjc32l3pzvbhq4gv";
+        };
+        meta.license = lib.licenses.mit;
+      };
+
       kddejong.vscode-cfn-lint =
         let
           inherit (python3Packages) cfn-lint pydot;
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 976475238b63..aac9e1b72fdc 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -30,21 +30,21 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0nffz9xqm1iny7sqi1pkmnfcski15qsycw9gxir18j51kfzz50wf";
-    x86_64-darwin = "082m2wwd67ayjadlywqimnmdm8imw6lz0rd8rnwjd2sjksxnrsk8";
-    aarch64-linux = "0wlm8ajm1xw8lpmnbkzkgvaakfa9gacwi7m2fdyc4822rq7fn09b";
-    aarch64-darwin = "1rgcljj97f551yr0q5f0vxdkvbhxrbyqrw85gb6qfxpg5d0l7y4f";
-    armv7l-linux = "1wpslrysi8a6rnx99lq16zx277lnmqjp02q6gxmkpcvrvw27m6yj";
+    x86_64-linux = "17fzqq44p7ix4ihkg8nq582njjy96a8zz8vz9hl62hdxxg3llgfg";
+    x86_64-darwin = "12vbkzv2l02wifcjd7amq583vlv0iqixpa2kf5swhl0arww1viqa";
+    aarch64-linux = "1myv8zy2cycsmnp8xhjbm2lpcad3hj9zh79ywcinc50yncwj6wdl";
+    aarch64-darwin = "0vvbwcbxf0fmcfyk2y231qd8lxaj869ap865zps6wcdjqr5wnbdq";
+    armv7l-linux = "04gy6ls3gnbdcg4998widy9b9h04rx1gzp6iml6pi73li1cmfawz";
   }.${system} or throwSystem;
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.86.1";
+    version = "1.86.2";
     pname = "vscode" + lib.optionalString isInsiders "-insiders";
 
     # This is used for VS Code - Remote SSH test
-    rev = "31c37ee8f63491495ac49e43b8544550fbae4533";
+    rev = "903b1e9d8990623e3d7da1df3d33db3e42d80eda";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
     longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
@@ -68,7 +68,7 @@ in
       src = fetchurl {
         name = "vscode-server-${rev}.tar.gz";
         url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
-        sha256 = "1hq6i51d1dhpippc8gmhygw3kj9cx021y54ga58l5b80wvg2cf1y";
+        sha256 = "06jv2kzxy7p7y7294c4sq6fk6slwk4gfw6jqh79avnq0riy669gv";
       };
     };
 
diff --git a/pkgs/applications/emulators/attract-mode/default.nix b/pkgs/applications/emulators/attract-mode/default.nix
index 0bd1b4b062ab..9173faf7fe5b 100644
--- a/pkgs/applications/emulators/attract-mode/default.nix
+++ b/pkgs/applications/emulators/attract-mode/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ hrdinka ];
     platforms = with platforms; linux;
+    mainProgram = "attract";
   };
 }
diff --git a/pkgs/applications/emulators/basiliskii/default.nix b/pkgs/applications/emulators/basiliskii/default.nix
index 8546b9c4087f..a81f50b54211 100644
--- a/pkgs/applications/emulators/basiliskii/default.nix
+++ b/pkgs/applications/emulators/basiliskii/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl2;
     maintainers = with maintainers; [ quag ];
     platforms = platforms.linux;
+    mainProgram = "BasiliskII";
   };
 })
diff --git a/pkgs/applications/emulators/caprice32/default.nix b/pkgs/applications/emulators/caprice32/default.nix
index 6c2932f7e10b..7a4f4b1ab4ae 100644
--- a/pkgs/applications/emulators/caprice32/default.nix
+++ b/pkgs/applications/emulators/caprice32/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ ];
     platforms = platforms.linux;
+    mainProgram = "cap32";
   };
 }
diff --git a/pkgs/applications/emulators/ccemux/default.nix b/pkgs/applications/emulators/ccemux/default.nix
index 9464c1f4575f..8e00b8281efa 100644
--- a/pkgs/applications/emulators/ccemux/default.nix
+++ b/pkgs/applications/emulators/ccemux/default.nix
@@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.mit;
     maintainers = with maintainers; [ CrazedProgrammer viluon ];
+    mainProgram = "ccemux";
   };
 }
diff --git a/pkgs/applications/emulators/cen64/default.nix b/pkgs/applications/emulators/cen64/default.nix
index bd7c84402cfd..e13adbb71de8 100644
--- a/pkgs/applications/emulators/cen64/default.nix
+++ b/pkgs/applications/emulators/cen64/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/n64dev/cen64";
     maintainers = [ maintainers._414owen ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "cen64";
   };
 }
diff --git a/pkgs/applications/emulators/duckstation/002-hardcode-vars.diff b/pkgs/applications/emulators/duckstation/002-hardcode-vars.diff
index f0b7bb67a0ee..edba33fce7ce 100644
--- a/pkgs/applications/emulators/duckstation/002-hardcode-vars.diff
+++ b/pkgs/applications/emulators/duckstation/002-hardcode-vars.diff
@@ -1,5 +1,5 @@
 diff --git a/src/scmversion/gen_scmversion.sh b/src/scmversion/gen_scmversion.sh
-index 9c1dacab..d1f895ee 100755
+index 9122cd8..50ed8f9 100755
 --- a/src/scmversion/gen_scmversion.sh
 +++ b/src/scmversion/gen_scmversion.sh
 @@ -10,10 +10,10 @@ else
@@ -8,7 +8,7 @@ index 9c1dacab..d1f895ee 100755
  
 -HASH=$(git rev-parse HEAD)
 -BRANCH=$(git rev-parse --abbrev-ref HEAD | tr -d '\r\n')
--TAG=$(git describe --tags --dirty --exclude latest --exclude preview --exclude legacy --exclude previous-latest | tr -d '\r\n')
+-TAG=$(git describe --dirty | tr -d '\r\n')
 -DATE=$(git log -1 --date=iso8601-strict --format=%cd)
 +HASH="@gitHash@"
 +BRANCH="@gitBranch@"
diff --git a/pkgs/applications/emulators/duckstation/default.nix b/pkgs/applications/emulators/duckstation/default.nix
index e7980e20dddd..7e7bfd494600 100644
--- a/pkgs/applications/emulators/duckstation/default.nix
+++ b/pkgs/applications/emulators/duckstation/default.nix
@@ -9,7 +9,7 @@
 , extra-cmake-modules
 , libXrandr
 , libbacktrace
-, makeDesktopItem
+, makeWrapper
 , ninja
 , pkg-config
 , qtbase
@@ -20,18 +20,17 @@
 , vulkan-loader
 , wayland
 , wrapQtAppsHook
-, enableWayland ? true
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "duckstation";
-  version = "unstable-2023-09-30";
+  version = "0.1-6292";
 
   src = fetchFromGitHub {
     owner = "stenzek";
     repo = "duckstation";
-    rev = "d5608bf12df7a7e03750cb94a08a3d7999034ae2";
-    hash = "sha256-ktfZgacjkN6GQb1vLmyTZMr8QmmH12qAvFSIBTjgRSs=";
+    rev = "0bc42c38aab49030118f507c9783de047769148b";
+    hash = "sha256-8OavixSwEWihFY2fEdsepR1lqWlTH+//xZRKwb7lFCQ=";
   };
 
   patches = [
@@ -42,21 +41,19 @@ stdenv.mkDerivation (finalAttrs: {
       src = ./002-hardcode-vars.diff;
       gitHash = finalAttrs.src.rev;
       gitBranch = "master";
-      gitTag = "0.1-5889-gd5608bf1";
-      gitDate = "2023-09-30T23:20:09+10:00";
+      gitTag = "${finalAttrs.version}-g0bc42c38";
+      gitDate = "2024-02-06T22:47:47+09:00";
     })
   ];
 
   nativeBuildInputs = [
     cmake
     copyDesktopItems
+    extra-cmake-modules
     ninja
     pkg-config
     qttools
     wrapQtAppsHook
-  ]
-  ++ lib.optionals enableWayland [
-    extra-cmake-modules
   ];
 
   buildInputs = [
@@ -66,9 +63,6 @@ stdenv.mkDerivation (finalAttrs: {
     libbacktrace
     qtbase
     qtsvg
-    vulkan-loader
-  ]
-  ++ lib.optionals enableWayland [
     qtwayland
     wayland
   ]
@@ -78,21 +72,6 @@ stdenv.mkDerivation (finalAttrs: {
 
   cmakeFlags = [
     (lib.cmakeBool "BUILD_TESTS" true)
-    (lib.cmakeBool "ENABLE_WAYLAND" enableWayland)
-  ];
-
-  desktopItems = [
-    (makeDesktopItem {
-      name = "duckstation-qt";
-      desktopName = "DuckStation";
-      genericName = "PlayStation 1 Emulator";
-      icon = "duckstation";
-      tryExec = "duckstation-qt";
-      exec = "duckstation-qt %f";
-      comment = "Fast PlayStation 1 emulator";
-      categories = [ "Game" "Emulator" "Qt" ];
-      type = "Application";
-    })
   ];
 
   doCheck = true;
@@ -110,14 +89,28 @@ stdenv.mkDerivation (finalAttrs: {
     cp -r bin $out/share/duckstation
     ln -s $out/share/duckstation/duckstation-qt $out/bin/
 
-    install -Dm644 bin/resources/images/duck.png $out/share/pixmaps/duckstation.png
+    install -Dm644 $src/scripts/org.duckstation.DuckStation.desktop $out/share/applications/org.duckstation.DuckStation.desktop
+    install -Dm644 $src/scripts/org.duckstation.DuckStation.png $out/share/pixmaps/org.duckstation.DuckStation.png
 
     runHook postInstall
   '';
 
-  qtWrapperArgs = [
-    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ vulkan-loader ] ++ cubeb.passthru.backendLibs)}"
-  ];
+  qtWrapperArgs =
+    let
+      libPath = lib.makeLibraryPath ([
+        vulkan-loader
+      ] ++ cubeb.passthru.backendLibs);
+    in [
+      "--prefix LD_LIBRARY_PATH : ${libPath}"
+    ];
+
+  # https://github.com/stenzek/duckstation/blob/master/scripts/appimage/apprun-hooks/default-to-x11.sh
+  # Can't avoid the double wrapping, the binary wrapper from qtWrapperArgs doesn't support --run
+  postFixup = ''
+    source "${makeWrapper}/nix-support/setup-hook"
+    wrapProgram $out/bin/duckstation-qt \
+      --run 'if [[ -z $I_WANT_A_BROKEN_WAYLAND_UI ]]; then export QT_QPA_PLATFORM=xcb; fi'
+  '';
 
   meta = {
     homepage = "https://github.com/stenzek/duckstation";
diff --git a/pkgs/applications/emulators/emu2/default.nix b/pkgs/applications/emulators/emu2/default.nix
index 7949a3f2b051..a919d644d720 100644
--- a/pkgs/applications/emulators/emu2/default.nix
+++ b/pkgs/applications/emulators/emu2/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [ AndersonTorres ];
     license = licenses.gpl2Plus;
+    mainProgram = "emu2";
   };
 }
diff --git a/pkgs/applications/emulators/gxemul/default.nix b/pkgs/applications/emulators/gxemul/default.nix
index 05f837b18767..88ea01f9d76e 100644
--- a/pkgs/applications/emulators/gxemul/default.nix
+++ b/pkgs/applications/emulators/gxemul/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    mainProgram = "gxemul";
   };
 }
diff --git a/pkgs/applications/emulators/kega-fusion/default.nix b/pkgs/applications/emulators/kega-fusion/default.nix
index f69a9c3206cd..9bf359b88ccd 100644
--- a/pkgs/applications/emulators/kega-fusion/default.nix
+++ b/pkgs/applications/emulators/kega-fusion/default.nix
@@ -75,5 +75,6 @@ in stdenv.mkDerivation {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfreeRedistributable;
     platforms = [ "i686-linux" ];
+    mainProgram = "kega-fusion";
   };
 }
diff --git a/pkgs/applications/emulators/mednafen/default.nix b/pkgs/applications/emulators/mednafen/default.nix
index bcc58ccb76a0..816b6c1bd4d7 100644
--- a/pkgs/applications/emulators/mednafen/default.nix
+++ b/pkgs/applications/emulators/mednafen/default.nix
@@ -94,5 +94,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    mainProgram = "mednafen";
   };
 }
diff --git a/pkgs/applications/emulators/oberon-risc-emu/default.nix b/pkgs/applications/emulators/oberon-risc-emu/default.nix
index 749e3549bf80..331473f59fed 100644
--- a/pkgs/applications/emulators/oberon-risc-emu/default.nix
+++ b/pkgs/applications/emulators/oberon-risc-emu/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation {
     description = "Emulator for the Oberon RISC machine";
     license     = licenses.isc;
     maintainers = with maintainers; [ siraben ];
+    mainProgram = "risc";
   };
 }
diff --git a/pkgs/applications/emulators/openmsx/default.nix b/pkgs/applications/emulators/openmsx/default.nix
index c9f7827d09ab..1c34c0025c8e 100644
--- a/pkgs/applications/emulators/openmsx/default.nix
+++ b/pkgs/applications/emulators/openmsx/default.nix
@@ -71,5 +71,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ bsd2 boost gpl2Plus ];
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    mainProgram = "openmsx";
   };
 })
diff --git a/pkgs/applications/emulators/retroarch/cores.nix b/pkgs/applications/emulators/retroarch/cores.nix
index 5f0585401235..b42966f5a10c 100644
--- a/pkgs/applications/emulators/retroarch/cores.nix
+++ b/pkgs/applications/emulators/retroarch/cores.nix
@@ -7,10 +7,14 @@
 , cmake
 , curl
 , fetchFromGitHub
+, fetchpatch
 , ffmpeg
 , ffmpeg_4
 , fluidsynth
+, fmt
+, freetype
 , gettext
+, harfbuzz
 , hexdump
 , hidapi
 , icu
@@ -19,21 +23,28 @@
 , libGL
 , libGLU
 , libjpeg
+, liblcf
 , libpcap
 , libpng
+, libsndfile
 , libvorbis
 , libxml2
+, libxmp
 , libzip
 , makeWrapper
+, mpg123
 , nasm
 , openssl
+, opusfile
 , pcre
+, pixman
 , pkg-config
 , portaudio
 , python3
 , retroarch
 , sfml
 , snappy
+, speexdsp
 , udev
 , which
 , xorg
@@ -48,13 +59,15 @@ let
   getCore = repo: (lib.getAttr repo hashesFile);
 
   getCoreSrc = repo:
-    (lib.pipe repo [
-      getCore
-      (x: builtins.removeAttrs x [ "date" ])
-      fetchFromGitHub
-    ]);
+    let
+      inherit (getCore repo) src fetcher;
+      fetcherFn = {
+        inherit fetchFromGitHub;
+      }.${fetcher} or (throw "Unknown fetcher: ${fetcher}");
+    in
+    fetcherFn src;
 
-  getCoreDate = repo: (getCore repo).date or "unstable-1970-01-01";
+  getCoreVersion = repo: (getCore repo).version;
 
   mkLibretroCore =
     # Sometimes core name != repo name, so you may need to set them differently
@@ -67,7 +80,7 @@ let
     { core
     , repo ? core
     , src ? (getCoreSrc repo)
-    , version ? (getCoreDate repo)
+    , version ? (getCoreVersion repo)
     , ...
     }@args:
     import ./mkLibretroCore.nix ({
@@ -398,6 +411,32 @@ in
     };
   };
 
+  easyrpg = mkLibretroCore {
+    core = "easyrpg";
+    extraNativeBuildInputs = [ cmake pkg-config ];
+    extraBuildInputs = [ fmt freetype harfbuzz liblcf libpng libsndfile libvorbis libxmp mpg123 opusfile pcre pixman speexdsp ];
+    patches = [
+      # The following patch is shared with easyrpg-player.
+      # Update when new versions of liblcf and easyrpg-player are released.
+      # See pkgs/games/easyrpg-player/default.nix for details.
+      (fetchpatch {
+        name = "0001-Fix-building-with-fmtlib-10.patch";
+        url = "https://github.com/EasyRPG/Player/commit/ab6286f6d01bada649ea52d1f0881dde7db7e0cf.patch";
+        hash = "sha256-GdSdVFEG1OJCdf2ZIzTP+hSrz+ddhTMBvOPjvYQHy54=";
+      })
+    ];
+    cmakeFlags = [
+      "-DBUILD_SHARED_LIBS=ON"
+      "-DPLAYER_TARGET_PLATFORM=libretro"
+      "-DCMAKE_INSTALL_DATADIR=${placeholder "out"}/share"
+    ];
+    makefile = "Makefile";
+    meta = {
+      description = "EasyRPG Player libretro port";
+      license = lib.licenses.gpl3Only;
+    };
+  };
+
   eightyone = mkLibretroCore {
     core = "81";
     repo = "eightyone";
diff --git a/pkgs/applications/emulators/retroarch/hashes.json b/pkgs/applications/emulators/retroarch/hashes.json
index 7f66bccd8f81..2411b8046b67 100644
--- a/pkgs/applications/emulators/retroarch/hashes.json
+++ b/pkgs/applications/emulators/retroarch/hashes.json
@@ -1,626 +1,902 @@
 {
+    "!comment": "Generated with update_cores.py script, do not edit!",
     "2048": {
-        "owner": "libretro",
-        "repo": "libretro-2048",
-        "rev": "331c1de588ed8f8c370dcbc488e5434a3c09f0f2",
-        "hash": "sha256-gPrAmoBnfuTnW6t699pqS43vE6t0ca3jZcqTNRaJipA=",
-        "date": "unstable-2023-02-20"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-2048",
+            "rev": "331c1de588ed8f8c370dcbc488e5434a3c09f0f2",
+            "hash": "sha256-gPrAmoBnfuTnW6t699pqS43vE6t0ca3jZcqTNRaJipA="
+        },
+        "version": "unstable-2023-02-20"
     },
     "atari800": {
-        "owner": "libretro",
-        "repo": "libretro-atari800",
-        "rev": "410d7bf0c215f3444793a9cec51c129e7b67c400",
-        "hash": "sha256-mUhAraZrmElB6rxQziQG6I2sCdkiX5wYBJhkZgpMSa0=",
-        "date": "unstable-2023-11-14"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-atari800",
+            "rev": "410d7bf0c215f3444793a9cec51c129e7b67c400",
+            "hash": "sha256-mUhAraZrmElB6rxQziQG6I2sCdkiX5wYBJhkZgpMSa0="
+        },
+        "version": "unstable-2023-11-14"
     },
     "beetle-gba": {
-        "owner": "libretro",
-        "repo": "beetle-gba-libretro",
-        "rev": "38182572571a48cb58057cde64b915237c4e2d58",
-        "hash": "sha256-4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo=",
-        "date": "unstable-2021-09-18"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-gba-libretro",
+            "rev": "38182572571a48cb58057cde64b915237c4e2d58",
+            "hash": "sha256-4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo="
+        },
+        "version": "unstable-2021-09-18"
     },
     "beetle-lynx": {
-        "owner": "libretro",
-        "repo": "beetle-lynx-libretro",
-        "rev": "48909ddd1aba4de034d9c1da70c460b1724daa3b",
-        "hash": "sha256-aAS9N54kA2st1+3BodiXDR4sbUDSvoFHpa28D9sohx4=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-lynx-libretro",
+            "rev": "48909ddd1aba4de034d9c1da70c460b1724daa3b",
+            "hash": "sha256-aAS9N54kA2st1+3BodiXDR4sbUDSvoFHpa28D9sohx4="
+        },
+        "version": "unstable-2023-11-01"
     },
     "beetle-ngp": {
-        "owner": "libretro",
-        "repo": "beetle-ngp-libretro",
-        "rev": "673c3d924ff33d71c6a342b170eff5359244df1f",
-        "hash": "sha256-V3zcbEwqay3eXwXzXZkmHj3+rx9KY4r0WkzAYFZXlgY=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-ngp-libretro",
+            "rev": "673c3d924ff33d71c6a342b170eff5359244df1f",
+            "hash": "sha256-V3zcbEwqay3eXwXzXZkmHj3+rx9KY4r0WkzAYFZXlgY="
+        },
+        "version": "unstable-2023-11-01"
     },
     "beetle-pce": {
-        "owner": "libretro",
-        "repo": "beetle-pce-libretro",
-        "rev": "753f067738e55a6325d3ca5206151a9acd9127f0",
-        "hash": "sha256-OWvoIi0DS3YhxK1S6PAbCNZwKKXti6brZlWVCJELfKY=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-pce-libretro",
+            "rev": "753f067738e55a6325d3ca5206151a9acd9127f0",
+            "hash": "sha256-OWvoIi0DS3YhxK1S6PAbCNZwKKXti6brZlWVCJELfKY="
+        },
+        "version": "unstable-2024-02-09"
     },
     "beetle-pce-fast": {
-        "owner": "libretro",
-        "repo": "beetle-pce-fast-libretro",
-        "rev": "86a80e1ba551f9a4627b8394901db0ee365c1442",
-        "hash": "sha256-aIDc4jzliVLpI2Xetcd5tG74/xvIlqRdVEb72yHrsCo=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-pce-fast-libretro",
+            "rev": "d97d9558fe218ea04821788cee1f2c03556e818a",
+            "hash": "sha256-RKKx7Vf5d+VBYe0HVMsSchRtga7LbLiLchM4a80Lfns="
+        },
+        "version": "unstable-2024-02-16"
     },
     "beetle-pcfx": {
-        "owner": "libretro",
-        "repo": "beetle-pcfx-libretro",
-        "rev": "47c355b6a515aef6dc57f57df1535570108a0e21",
-        "hash": "sha256-ylFo/wmLQpQGYSrv9PF2DBmr/8rklmHF9R+3y8v93Rs=",
-        "date": "unstable-2023-05-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-pcfx-libretro",
+            "rev": "47c355b6a515aef6dc57f57df1535570108a0e21",
+            "hash": "sha256-ylFo/wmLQpQGYSrv9PF2DBmr/8rklmHF9R+3y8v93Rs="
+        },
+        "version": "unstable-2023-05-28"
     },
     "beetle-psx": {
-        "owner": "libretro",
-        "repo": "beetle-psx-libretro",
-        "rev": "3adff889b9b8251526ca7dae963be46bf8401e2e",
-        "hash": "sha256-DaDzoAQJLuer/c+V1bJGbejnyGYB2RYdebZ1YIoVRKw=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-psx-libretro",
+            "rev": "43cf1df705a29e8afe17b8a6a462c489c9616d03",
+            "hash": "sha256-pfyabw/8uLcwIMfM/2SROVNOZrGxEc1lcLd9ezl18Cw="
+        },
+        "version": "unstable-2024-02-16"
     },
     "beetle-saturn": {
-        "owner": "libretro",
-        "repo": "beetle-saturn-libretro",
-        "rev": "cd395e9e3ee407608450ebc565e871b24e7ffed6",
-        "hash": "sha256-EIZRv1EydfLWFoBb8TzvAY3kkL9Qr2OrwrljOnnM92A=",
-        "date": "unstable-2023-05-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-saturn-libretro",
+            "rev": "cd395e9e3ee407608450ebc565e871b24e7ffed6",
+            "hash": "sha256-EIZRv1EydfLWFoBb8TzvAY3kkL9Qr2OrwrljOnnM92A="
+        },
+        "version": "unstable-2023-05-28"
     },
     "beetle-supafaust": {
-        "owner": "libretro",
-        "repo": "supafaust",
-        "rev": "6b639c98372d1c9bac885c55d772c812d2a9d525",
-        "hash": "sha256-EVXwjrxooZm1JqG4HswUe8zwN81Rm7SPB5Fr4WfpTnc=",
-        "date": "unstable-2023-06-19"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "supafaust",
+            "rev": "6b639c98372d1c9bac885c55d772c812d2a9d525",
+            "hash": "sha256-EVXwjrxooZm1JqG4HswUe8zwN81Rm7SPB5Fr4WfpTnc="
+        },
+        "version": "unstable-2023-06-19"
     },
     "beetle-supergrafx": {
-        "owner": "libretro",
-        "repo": "beetle-supergrafx-libretro",
-        "rev": "32070ffd0082fd5127519bb6e92a2daecc359408",
-        "hash": "sha256-ZBZtDMP2inarEuLE76Zw1/qZ2YfyTJy+2eN10hhpn64=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-supergrafx-libretro",
+            "rev": "32070ffd0082fd5127519bb6e92a2daecc359408",
+            "hash": "sha256-ZBZtDMP2inarEuLE76Zw1/qZ2YfyTJy+2eN10hhpn64="
+        },
+        "version": "unstable-2024-02-09"
     },
     "beetle-vb": {
-        "owner": "libretro",
-        "repo": "beetle-vb-libretro",
-        "rev": "9d1bd03f21dac7897f65269e1095496331efce8b",
-        "hash": "sha256-CT6CfRe8TOgXuJoUA0TKl71m10XeocUCTUjh88eCenU=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-vb-libretro",
+            "rev": "9d1bd03f21dac7897f65269e1095496331efce8b",
+            "hash": "sha256-CT6CfRe8TOgXuJoUA0TKl71m10XeocUCTUjh88eCenU="
+        },
+        "version": "unstable-2023-11-01"
     },
     "beetle-wswan": {
-        "owner": "libretro",
-        "repo": "beetle-wswan-libretro",
-        "rev": "32bf70a3032a138baa969c22445f4b7821632c30",
-        "hash": "sha256-dDph7LNlvzVMVTzkUfGErMEb/tALpCADgTjnzjUHYJU=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-wswan-libretro",
+            "rev": "32bf70a3032a138baa969c22445f4b7821632c30",
+            "hash": "sha256-dDph7LNlvzVMVTzkUfGErMEb/tALpCADgTjnzjUHYJU="
+        },
+        "version": "unstable-2023-11-01"
     },
     "blastem": {
-        "owner": "libretro",
-        "repo": "blastem",
-        "rev": "277e4a62668597d4f59cadda1cbafb844f981d45",
-        "hash": "sha256-EHvKElPw8V5Z6LnMaQXBCdM4niLIlF3aBm8dRbeYXHs=",
-        "date": "unstable-2022-07-26"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "blastem",
+            "rev": "277e4a62668597d4f59cadda1cbafb844f981d45",
+            "hash": "sha256-EHvKElPw8V5Z6LnMaQXBCdM4niLIlF3aBm8dRbeYXHs="
+        },
+        "version": "unstable-2022-07-26"
     },
     "bluemsx": {
-        "owner": "libretro",
-        "repo": "bluemsx-libretro",
-        "rev": "e8a4280bcbd149d1e020adcd9469ad9d8bd67412",
-        "hash": "sha256-uh4lMOCN1WXKVJybFkkGxIRWAlde74yPH5eaB1/1qsk=",
-        "date": "unstable-2023-11-10"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "bluemsx-libretro",
+            "rev": "e8a4280bcbd149d1e020adcd9469ad9d8bd67412",
+            "hash": "sha256-uh4lMOCN1WXKVJybFkkGxIRWAlde74yPH5eaB1/1qsk="
+        },
+        "version": "unstable-2023-11-10"
     },
     "bsnes": {
-        "owner": "libretro",
-        "repo": "bsnes-libretro",
-        "rev": "d230353616ab4c7dc01a2f2a63865011bd5c7ffd",
-        "hash": "sha256-TiOdptWOb13UQ8jKDbIlZQQ3mY3h/lPHr/GskPVAkwA=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "bsnes-libretro",
+            "rev": "d230353616ab4c7dc01a2f2a63865011bd5c7ffd",
+            "hash": "sha256-TiOdptWOb13UQ8jKDbIlZQQ3mY3h/lPHr/GskPVAkwA="
+        },
+        "version": "unstable-2024-02-09"
     },
     "bsnes-hd": {
-        "owner": "DerKoun",
-        "repo": "bsnes-hd",
-        "rev": "f46b6d6368ea93943a30b5d4e79e8ed51c2da5e8",
-        "hash": "sha256-Y3FhGtcz7BzwUSBy1SGMuylJdZti/JB8qQnabIkG/dI=",
-        "date": "unstable-2023-04-26"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "DerKoun",
+            "repo": "bsnes-hd",
+            "rev": "f46b6d6368ea93943a30b5d4e79e8ed51c2da5e8",
+            "hash": "sha256-Y3FhGtcz7BzwUSBy1SGMuylJdZti/JB8qQnabIkG/dI="
+        },
+        "version": "unstable-2023-04-26"
     },
     "bsnes-mercury": {
-        "owner": "libretro",
-        "repo": "bsnes-mercury",
-        "rev": "60c204ca17941704110885a815a65c740572326f",
-        "hash": "sha256-eJ0lac1I7E4YdsVVrIuXx31UL9w3OR6QTVHq5YBgnJU=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "bsnes-mercury",
+            "rev": "60c204ca17941704110885a815a65c740572326f",
+            "hash": "sha256-eJ0lac1I7E4YdsVVrIuXx31UL9w3OR6QTVHq5YBgnJU="
+        },
+        "version": "unstable-2023-11-01"
     },
     "citra": {
-        "owner": "libretro",
-        "repo": "citra",
-        "rev": "2d67658e85de4767c0eefeb2829d710401c5c802",
-        "hash": "sha256-u2XwAudFgI7j/k6Bq5fk874aI6KpZawlBoIs2+M+eZY=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-01-24"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "citra",
+            "rev": "2d67658e85de4767c0eefeb2829d710401c5c802",
+            "hash": "sha256-u2XwAudFgI7j/k6Bq5fk874aI6KpZawlBoIs2+M+eZY=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-01-24"
     },
     "desmume": {
-        "owner": "libretro",
-        "repo": "desmume",
-        "rev": "b518fec54b79f2f71a7536715efcdcd7f60638a8",
-        "hash": "sha256-X6ZL+XdsrdPoOU5zqNsUraMrlPU/HmKWUolrWjFcbDQ=",
-        "date": "unstable-2024-01-11"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "desmume",
+            "rev": "b518fec54b79f2f71a7536715efcdcd7f60638a8",
+            "hash": "sha256-X6ZL+XdsrdPoOU5zqNsUraMrlPU/HmKWUolrWjFcbDQ="
+        },
+        "version": "unstable-2024-01-11"
     },
     "desmume2015": {
-        "owner": "libretro",
-        "repo": "desmume2015",
-        "rev": "af397ff3d1f208c27f3922cc8f2b8e08884ba893",
-        "hash": "sha256-kEb+og4g7rJvCinBZKcb42geZO6W8ynGsTG9yqYgI+U=",
-        "date": "unstable-2022-04-05"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "desmume2015",
+            "rev": "af397ff3d1f208c27f3922cc8f2b8e08884ba893",
+            "hash": "sha256-kEb+og4g7rJvCinBZKcb42geZO6W8ynGsTG9yqYgI+U="
+        },
+        "version": "unstable-2022-04-05"
     },
     "dolphin": {
-        "owner": "libretro",
-        "repo": "dolphin",
-        "rev": "2f4b0f7902257d40a054f60b2c670d6e314f2a04",
-        "hash": "sha256-9WYWbLehExYbPmGJpguhVFXqFJ9aR6VxzFVChd4QOEg=",
-        "date": "unstable-2022-12-17"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "dolphin",
+            "rev": "2f4b0f7902257d40a054f60b2c670d6e314f2a04",
+            "hash": "sha256-9WYWbLehExYbPmGJpguhVFXqFJ9aR6VxzFVChd4QOEg="
+        },
+        "version": "unstable-2022-12-17"
     },
     "dosbox": {
-        "owner": "libretro",
-        "repo": "dosbox-libretro",
-        "rev": "b7b24262c282c0caef2368c87323ff8c381b3102",
-        "hash": "sha256-PG2eElenlEpu0U/NIh53p0uLqewnEdaq6Aoak5E1P3I=",
-        "date": "unstable-2022-07-18"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "dosbox-libretro",
+            "rev": "b7b24262c282c0caef2368c87323ff8c381b3102",
+            "hash": "sha256-PG2eElenlEpu0U/NIh53p0uLqewnEdaq6Aoak5E1P3I="
+        },
+        "version": "unstable-2022-07-18"
     },
     "dosbox-pure": {
-        "owner": "schellingb",
-        "repo": "dosbox-pure",
-        "rev": "87bf6365158325b76ff238c1ad8daf16a859bbe8",
-        "hash": "sha256-IU5AnOEuwZm/bJ9NuxhTQ8Tb5ngmjysLj/om/6P730s=",
-        "date": "unstable-2023-12-29"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "schellingb",
+            "repo": "dosbox-pure",
+            "rev": "87bf6365158325b76ff238c1ad8daf16a859bbe8",
+            "hash": "sha256-IU5AnOEuwZm/bJ9NuxhTQ8Tb5ngmjysLj/om/6P730s="
+        },
+        "version": "unstable-2023-12-29"
+    },
+    "easyrpg": {
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "EasyRPG",
+            "repo": "Player",
+            "rev": "f8e41f43b619413f95847536412b56f85307d378",
+            "hash": "sha256-nvWM4czTv/GxY9raomBEn7dmKBeLtSA9nvjMJxc3Q8s=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2023-04-29"
     },
     "eightyone": {
-        "owner": "libretro",
-        "repo": "81-libretro",
-        "rev": "525d5c18f1ff3fc54c37e083a475225d9179d59d",
-        "hash": "sha256-H0w9hcAUVOGr0PtNLVdFQScxd3ildZZ68w+TL7vG4jk=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "81-libretro",
+            "rev": "525d5c18f1ff3fc54c37e083a475225d9179d59d",
+            "hash": "sha256-H0w9hcAUVOGr0PtNLVdFQScxd3ildZZ68w+TL7vG4jk="
+        },
+        "version": "unstable-2023-11-01"
     },
     "fbalpha2012": {
-        "owner": "libretro",
-        "repo": "fbalpha2012",
-        "rev": "b7ac554c53561d41640372f23dab15cd6fc4f0c4",
-        "hash": "sha256-BaeMLej2MLc4uipqTD2z2sHUeOsc50Q1c+PEiPD1cks=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "fbalpha2012",
+            "rev": "b7ac554c53561d41640372f23dab15cd6fc4f0c4",
+            "hash": "sha256-BaeMLej2MLc4uipqTD2z2sHUeOsc50Q1c+PEiPD1cks="
+        },
+        "version": "unstable-2023-11-01"
     },
     "fbneo": {
-        "owner": "libretro",
-        "repo": "fbneo",
-        "rev": "bb7aa7ea1e3a9a293fcf4e2b15994afde2e52899",
-        "hash": "sha256-XTOZGKq02obnzbtUEAEs99Kxhd8hFqLjI/smwtNAU8Q=",
-        "date": "unstable-2024-02-08"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "fbneo",
+            "rev": "484962863ab84189dca218b02197575cd266a537",
+            "hash": "sha256-e1JAEiPISc4Q06HHPox6AVbK/Frrbc7pLNvNmuWojVw="
+        },
+        "version": "unstable-2024-02-18"
     },
     "fceumm": {
-        "owner": "libretro",
-        "repo": "libretro-fceumm",
-        "rev": "63643ba02c8eaea15dbe167ef907f3da7a3e6fd7",
-        "hash": "sha256-xy8hzZ7nt2hHjRJmsty/w/cPzEtdlSkmNAsog3+h5YU=",
-        "date": "unstable-2024-01-25"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-fceumm",
+            "rev": "63643ba02c8eaea15dbe167ef907f3da7a3e6fd7",
+            "hash": "sha256-xy8hzZ7nt2hHjRJmsty/w/cPzEtdlSkmNAsog3+h5YU="
+        },
+        "version": "unstable-2024-01-25"
     },
     "flycast": {
-        "owner": "flyinghead",
-        "repo": "flycast",
-        "rev": "44fa364f36c43bed19b055096600f075c656f78c",
-        "hash": "sha256-UfASq8OXtsfubMUfke7P6HTygM/9fP421IoLQeJvPgY=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "flyinghead",
+            "repo": "flycast",
+            "rev": "44fa364f36c43bed19b055096600f075c656f78c",
+            "hash": "sha256-UfASq8OXtsfubMUfke7P6HTygM/9fP421IoLQeJvPgY=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-02-09"
     },
     "fmsx": {
-        "owner": "libretro",
-        "repo": "fmsx-libretro",
-        "rev": "9b5cf868825a629cc4c7086768338165d3bbf706",
-        "hash": "sha256-zDDAMzV+pfu+AwjgXwduPfHyW1rQnvaDpFvz++QBBkA=",
-        "date": "unstable-2024-02-08"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "fmsx-libretro",
+            "rev": "9b5cf868825a629cc4c7086768338165d3bbf706",
+            "hash": "sha256-zDDAMzV+pfu+AwjgXwduPfHyW1rQnvaDpFvz++QBBkA="
+        },
+        "version": "unstable-2024-02-08"
     },
     "freeintv": {
-        "owner": "libretro",
-        "repo": "freeintv",
-        "rev": "85bf25a39a34bbc39fe36677175d87c2b597dbe7",
-        "hash": "sha256-4cU/YRZZb7EWNBJX8M91Lb+bCCIlks6xX2Cf6Iq/g9g=",
-        "date": "unstable-2023-04-17"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "freeintv",
+            "rev": "85bf25a39a34bbc39fe36677175d87c2b597dbe7",
+            "hash": "sha256-4cU/YRZZb7EWNBJX8M91Lb+bCCIlks6xX2Cf6Iq/g9g="
+        },
+        "version": "unstable-2023-04-17"
     },
     "fuse": {
-        "owner": "libretro",
-        "repo": "fuse-libretro",
-        "rev": "847dbbd6f787823ac9a5dfacdd68ab181063374e",
-        "hash": "sha256-jzS7SFALV/YjI77ST+IWHwUsuhT+Zr5w4t6C7O8yzFM=",
-        "date": "unstable-2023-06-23"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "fuse-libretro",
+            "rev": "847dbbd6f787823ac9a5dfacdd68ab181063374e",
+            "hash": "sha256-jzS7SFALV/YjI77ST+IWHwUsuhT+Zr5w4t6C7O8yzFM="
+        },
+        "version": "unstable-2023-06-23"
     },
     "gambatte": {
-        "owner": "libretro",
-        "repo": "gambatte-libretro",
-        "rev": "05c4e10168aa3070b4ea01f7da7ab1c0d4241103",
-        "hash": "sha256-W/s8FWjFOIcclLkbM5s2+2dcvr+X2My5319SvRo5/lU=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "gambatte-libretro",
+            "rev": "05c4e10168aa3070b4ea01f7da7ab1c0d4241103",
+            "hash": "sha256-W/s8FWjFOIcclLkbM5s2+2dcvr+X2My5319SvRo5/lU="
+        },
+        "version": "unstable-2024-02-09"
     },
     "genesis-plus-gx": {
-        "owner": "libretro",
-        "repo": "Genesis-Plus-GX",
-        "rev": "ecb956d914d6bc4e5deb49384bc929939e9a19e5",
-        "hash": "sha256-Fk+Ldjav+yQl6fkYESR6t1JEOKiCZYCW386QL4ozE68=",
-        "date": "unstable-2024-02-06"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "Genesis-Plus-GX",
+            "rev": "7aba063778534a78b080a737c0465667ebd66154",
+            "hash": "sha256-Rx5ymDqYmtovr/IJRY4loUwwWTk8GEs+oviP4YOk6ZI="
+        },
+        "version": "unstable-2024-02-16"
     },
     "gpsp": {
-        "owner": "libretro",
-        "repo": "gpsp",
-        "rev": "4caf7a167d159866479ea94d6b2d13c26ceb3e72",
-        "hash": "sha256-1hkxeTjY52YuphQuDMCITn/dIcNx/8w4FkhQjL8DWz8=",
-        "date": "unstable-2024-02-10"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "gpsp",
+            "rev": "4caf7a167d159866479ea94d6b2d13c26ceb3e72",
+            "hash": "sha256-1hkxeTjY52YuphQuDMCITn/dIcNx/8w4FkhQjL8DWz8="
+        },
+        "version": "unstable-2024-02-10"
     },
     "gw": {
-        "owner": "libretro",
-        "repo": "gw-libretro",
-        "rev": "0ecff52b11c327af52b22ea94b268c90472b6732",
-        "hash": "sha256-N/nZoo+duk7XhRtNdV1paWzxYUhv8nLUcnnOs2gbZuQ=",
-        "date": "unstable-2023-05-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "gw-libretro",
+            "rev": "0ecff52b11c327af52b22ea94b268c90472b6732",
+            "hash": "sha256-N/nZoo+duk7XhRtNdV1paWzxYUhv8nLUcnnOs2gbZuQ="
+        },
+        "version": "unstable-2023-05-28"
     },
     "handy": {
-        "owner": "libretro",
-        "repo": "libretro-handy",
-        "rev": "65d6b865544cd441ef2bd18cde7bd834c23d0e48",
-        "hash": "sha256-F4WyiZBNTh8hjuCooZXQkzov0vcHNni6d5mbAMgzAiA=",
-        "date": "unstable-2024-01-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-handy",
+            "rev": "65d6b865544cd441ef2bd18cde7bd834c23d0e48",
+            "hash": "sha256-F4WyiZBNTh8hjuCooZXQkzov0vcHNni6d5mbAMgzAiA="
+        },
+        "version": "unstable-2024-01-01"
     },
     "hatari": {
-        "owner": "libretro",
-        "repo": "hatari",
-        "rev": "a4c9eb0bb79e47a2870c12b04566c1f8d25e4bf3",
-        "hash": "sha256-mHz2nB9Vr/PVifd6w+kz7ZCH+N8igmcS8InvevZoSpE=",
-        "date": "unstable-2023-09-29"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "hatari",
+            "rev": "a4c9eb0bb79e47a2870c12b04566c1f8d25e4bf3",
+            "hash": "sha256-mHz2nB9Vr/PVifd6w+kz7ZCH+N8igmcS8InvevZoSpE="
+        },
+        "version": "unstable-2023-09-29"
     },
     "mame": {
-        "owner": "libretro",
-        "repo": "mame",
-        "rev": "8ebaec4073703f5050dac3f6c8da408943e15938",
-        "hash": "sha256-CFCem9MiaHW2flEZyJkcC9JEGzx7Ox/uqrTY3jue+Pk=",
-        "date": "unstable-2024-02-13"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame",
+            "rev": "8ebaec4073703f5050dac3f6c8da408943e15938",
+            "hash": "sha256-CFCem9MiaHW2flEZyJkcC9JEGzx7Ox/uqrTY3jue+Pk="
+        },
+        "version": "unstable-2024-02-13"
     },
     "mame2000": {
-        "owner": "libretro",
-        "repo": "mame2000-libretro",
-        "rev": "1472da3a39ab14fff8325b1f51a1dfdb8eabb5c8",
-        "hash": "sha256-Nd5OqkoMJZ8TzEZGqDT0YX6lHK/H3I5EqJ841PteLi8=",
-        "date": "unstable-2023-10-31"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame2000-libretro",
+            "rev": "1472da3a39ab14fff8325b1f51a1dfdb8eabb5c8",
+            "hash": "sha256-Nd5OqkoMJZ8TzEZGqDT0YX6lHK/H3I5EqJ841PteLi8="
+        },
+        "version": "unstable-2023-10-31"
     },
     "mame2003": {
-        "owner": "libretro",
-        "repo": "mame2003-libretro",
-        "rev": "838f84f14422529c37bbb9803eb649209c8ba4e8",
-        "hash": "sha256-NiqlA4FjHS0GLypEg6QbhEJlhV0YU7VmMquzqnyr7aA=",
-        "date": "unstable-2024-02-08"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame2003-libretro",
+            "rev": "838f84f14422529c37bbb9803eb649209c8ba4e8",
+            "hash": "sha256-NiqlA4FjHS0GLypEg6QbhEJlhV0YU7VmMquzqnyr7aA="
+        },
+        "version": "unstable-2024-02-08"
     },
     "mame2003-plus": {
-        "owner": "libretro",
-        "repo": "mame2003-plus-libretro",
-        "rev": "a4d62997d332acc709c9644641863c5498e01eb0",
-        "hash": "sha256-9+pxx/fhNsvAMYDqalkkdljaR8/XxuMMSrrz7KeJtDU=",
-        "date": "unstable-2024-02-13"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame2003-plus-libretro",
+            "rev": "fc987f1913203a41bca7f6fd16e92c83729dd7fc",
+            "hash": "sha256-Mn0WuzGGxDlUEccC21V0FzRyTAgRoAnLCm5jpz9rkdY="
+        },
+        "version": "unstable-2024-02-16"
     },
     "mame2010": {
-        "owner": "libretro",
-        "repo": "mame2010-libretro",
-        "rev": "5f524dd5fca63ec1dcf5cca63885286109937587",
-        "hash": "sha256-OmJgDdlan/niGQfajv0KNG8NJfEKn7Nfe6GRQD+TZ8M=",
-        "date": "unstable-2022-06-14"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame2010-libretro",
+            "rev": "5f524dd5fca63ec1dcf5cca63885286109937587",
+            "hash": "sha256-OmJgDdlan/niGQfajv0KNG8NJfEKn7Nfe6GRQD+TZ8M="
+        },
+        "version": "unstable-2022-06-14"
     },
     "mame2015": {
-        "owner": "libretro",
-        "repo": "mame2015-libretro",
-        "rev": "316cd06349f2b34b4719f04f7c0d07569a74c764",
-        "hash": "sha256-CBN04Jf26SIk8mKWlui5spQGokBvgFUCvFiC8NoBGw0=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame2015-libretro",
+            "rev": "316cd06349f2b34b4719f04f7c0d07569a74c764",
+            "hash": "sha256-CBN04Jf26SIk8mKWlui5spQGokBvgFUCvFiC8NoBGw0="
+        },
+        "version": "unstable-2023-11-01"
     },
     "mame2016": {
-        "owner": "libretro",
-        "repo": "mame2016-libretro",
-        "rev": "01058613a0109424c4e7211e49ed83ac950d3993",
-        "hash": "sha256-IsM7f/zlzvomVOYlinJVqZllUhDfy4NNTeTPtNmdVak=",
-        "date": "unstable-2022-04-06"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame2016-libretro",
+            "rev": "01058613a0109424c4e7211e49ed83ac950d3993",
+            "hash": "sha256-IsM7f/zlzvomVOYlinJVqZllUhDfy4NNTeTPtNmdVak="
+        },
+        "version": "unstable-2022-04-06"
     },
     "melonds": {
-        "owner": "libretro",
-        "repo": "melonds",
-        "rev": "c6488c88cb4c7583dbcd61609e0eef441572fae8",
-        "hash": "sha256-kU0xPM6WBqK6UpMNMotHc3jRFTodahPJRrfbcjdCJTI=",
-        "date": "unstable-2023-04-13"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "melonds",
+            "rev": "c6488c88cb4c7583dbcd61609e0eef441572fae8",
+            "hash": "sha256-kU0xPM6WBqK6UpMNMotHc3jRFTodahPJRrfbcjdCJTI="
+        },
+        "version": "unstable-2023-04-13"
     },
     "mesen": {
-        "owner": "libretro",
-        "repo": "mesen",
-        "rev": "d6f2f1797694f87e698c737b068f621889e96fa9",
-        "hash": "sha256-iLX9UvrjYjGjyaLD4sC10gntWUvgZrwiUqTS7S7YDdc=",
-        "date": "unstable-2024-01-30"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mesen",
+            "rev": "d6f2f1797694f87e698c737b068f621889e96fa9",
+            "hash": "sha256-iLX9UvrjYjGjyaLD4sC10gntWUvgZrwiUqTS7S7YDdc="
+        },
+        "version": "unstable-2024-01-30"
     },
     "mesen-s": {
-        "owner": "libretro",
-        "repo": "mesen-s",
-        "rev": "32a7adfb4edb029324253cb3632dfc6599ad1aa8",
-        "hash": "sha256-/OOMH7kt9Pmkdmy5m+I8FMvog5mqZHyrZvfjHccz8oo=",
-        "date": "unstable-2022-07-25"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mesen-s",
+            "rev": "32a7adfb4edb029324253cb3632dfc6599ad1aa8",
+            "hash": "sha256-/OOMH7kt9Pmkdmy5m+I8FMvog5mqZHyrZvfjHccz8oo="
+        },
+        "version": "unstable-2022-07-25"
     },
     "meteor": {
-        "owner": "libretro",
-        "repo": "meteor-libretro",
-        "rev": "e533d300d0561564451bde55a2b73119c768453c",
-        "hash": "sha256-zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ=",
-        "date": "unstable-2020-12-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "meteor-libretro",
+            "rev": "e533d300d0561564451bde55a2b73119c768453c",
+            "hash": "sha256-zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ="
+        },
+        "version": "unstable-2020-12-28"
     },
     "mgba": {
-        "owner": "libretro",
-        "repo": "mgba",
-        "rev": "314bf7b676f5b820f396209eb0c7d6fbe8103486",
-        "hash": "sha256-Rk+glDgSa1J1IIe5NrJElX9zr59+LQynfDXuHWyZcEM=",
-        "date": "unstable-2023-05-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mgba",
+            "rev": "314bf7b676f5b820f396209eb0c7d6fbe8103486",
+            "hash": "sha256-Rk+glDgSa1J1IIe5NrJElX9zr59+LQynfDXuHWyZcEM="
+        },
+        "version": "unstable-2023-05-28"
     },
     "mrboom": {
-        "owner": "Javanaise",
-        "repo": "mrboom-libretro",
-        "rev": "f688664f024723e00c0d2926e51b45754a25e2da",
-        "hash": "sha256-t6ArMkyGvHJ9hLc+FFoH2wTk0wRFn5etzdLipTQnGyc=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "Javanaise",
+            "repo": "mrboom-libretro",
+            "rev": "1c07bbec56b6bf5eb04c70e183804ab8d5e3520c",
+            "hash": "sha256-1gJK/Q2CZkDgMXrvJ5pxw1nvgH8Sk/UByWQKfJ6Pwfg=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-02-17"
     },
     "mupen64plus": {
-        "owner": "libretro",
-        "repo": "mupen64plus-libretro-nx",
-        "rev": "fa55ddca926d3c3ad2285911646919def4aa6fa3",
-        "hash": "sha256-Fn/qSQDR8FuHG9eLE0I24wUa0sdosrl6+lhnf9cD+yQ=",
-        "date": "unstable-2024-02-06"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mupen64plus-libretro-nx",
+            "rev": "fa55ddca926d3c3ad2285911646919def4aa6fa3",
+            "hash": "sha256-Fn/qSQDR8FuHG9eLE0I24wUa0sdosrl6+lhnf9cD+yQ="
+        },
+        "version": "unstable-2024-02-06"
     },
     "neocd": {
-        "owner": "libretro",
-        "repo": "neocd_libretro",
-        "rev": "71ebe5044639b825e5bd1bd590fef3e918133b80",
-        "hash": "sha256-YVxt3bJ54DD91VHkeQyYdo/BEq//lnBKd9Y42Vby3qc=",
-        "date": "unstable-2024-02-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "neocd_libretro",
+            "rev": "71ebe5044639b825e5bd1bd590fef3e918133b80",
+            "hash": "sha256-YVxt3bJ54DD91VHkeQyYdo/BEq//lnBKd9Y42Vby3qc="
+        },
+        "version": "unstable-2024-02-01"
     },
     "nestopia": {
-        "owner": "libretro",
-        "repo": "nestopia",
-        "rev": "407df997b65cddbff9b25abae0510e6645205677",
-        "hash": "sha256-Vlz69ZpXwawdE+bfjlKNrQNmFHhB53FOKhfMgq4viE0=",
-        "date": "unstable-2024-02-13"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "nestopia",
+            "rev": "2cef539e0df9ae5c8e6adf830a37f5d122bf5f05",
+            "hash": "sha256-OKqD99kqpIoqRUOByQ4qwAczYlIGeAn0xfTZVC5jptc="
+        },
+        "version": "unstable-2024-02-18"
     },
     "np2kai": {
-        "owner": "AZO234",
-        "repo": "NP2kai",
-        "rev": "c2ca4046860264cb307e768f529f180caee5e224",
-        "hash": "sha256-RizN+NpVp0paXvdt7OudX9/5GJms1YvJ+NVe9iV3nnw=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-01-10"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "AZO234",
+            "repo": "NP2kai",
+            "rev": "c2ca4046860264cb307e768f529f180caee5e224",
+            "hash": "sha256-RizN+NpVp0paXvdt7OudX9/5GJms1YvJ+NVe9iV3nnw=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-01-10"
     },
     "nxengine": {
-        "owner": "libretro",
-        "repo": "nxengine-libretro",
-        "rev": "1f371e51c7a19049e00f4364cbe9c68ca08b303a",
-        "hash": "sha256-4XBNTzgN8pLyrK9KsVxTRR1I8CQaZCnVR4gMryYpWW0=",
-        "date": "unstable-2023-02-21"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "nxengine-libretro",
+            "rev": "1f371e51c7a19049e00f4364cbe9c68ca08b303a",
+            "hash": "sha256-4XBNTzgN8pLyrK9KsVxTRR1I8CQaZCnVR4gMryYpWW0="
+        },
+        "version": "unstable-2023-02-21"
     },
     "o2em": {
-        "owner": "libretro",
-        "repo": "libretro-o2em",
-        "rev": "44fe5f306033242f7d74144105e19a7d4939477e",
-        "hash": "sha256-zg8wplVTKRzqa47mmWlqribg+JU4Nap4Ar/iR7y87xs=",
-        "date": "unstable-2023-10-19"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-o2em",
+            "rev": "44fe5f306033242f7d74144105e19a7d4939477e",
+            "hash": "sha256-zg8wplVTKRzqa47mmWlqribg+JU4Nap4Ar/iR7y87xs="
+        },
+        "version": "unstable-2023-10-19"
     },
     "opera": {
-        "owner": "libretro",
-        "repo": "opera-libretro",
-        "rev": "35e16483be900ea8aa20e87d2710b677437f73ce",
-        "hash": "sha256-ZNHSxI8l0KGJ6uAvOsEhNpB0IkBxtb9Imj3tA/LiOto=",
-        "date": "unstable-2024-01-13"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "opera-libretro",
+            "rev": "35e16483be900ea8aa20e87d2710b677437f73ce",
+            "hash": "sha256-ZNHSxI8l0KGJ6uAvOsEhNpB0IkBxtb9Imj3tA/LiOto="
+        },
+        "version": "unstable-2024-01-13"
     },
     "parallel-n64": {
-        "owner": "libretro",
-        "repo": "parallel-n64",
-        "rev": "1b57f9199b1f8a4510f7f89f14afa9cabf9b3bdd",
-        "hash": "sha256-L20RGav0FJfydOICCNhAMGxIuIvPABDtCs5tWzrh768=",
-        "date": "unstable-2024-01-15"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "parallel-n64",
+            "rev": "1b57f9199b1f8a4510f7f89f14afa9cabf9b3bdd",
+            "hash": "sha256-L20RGav0FJfydOICCNhAMGxIuIvPABDtCs5tWzrh768="
+        },
+        "version": "unstable-2024-01-15"
     },
     "pcsx2": {
-        "owner": "libretro",
-        "repo": "lrps2",
-        "rev": "f3c8743d6a42fe429f703b476fecfdb5655a98a9",
-        "hash": "sha256-0piCNWX7QbZ58KyTlWp4h1qLxXpi1z6ML8sBHMTvCY4=",
-        "date": "unstable-2023-01-30"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "lrps2",
+            "rev": "f3c8743d6a42fe429f703b476fecfdb5655a98a9",
+            "hash": "sha256-0piCNWX7QbZ58KyTlWp4h1qLxXpi1z6ML8sBHMTvCY4="
+        },
+        "version": "unstable-2023-01-30"
     },
     "pcsx_rearmed": {
-        "owner": "libretro",
-        "repo": "pcsx_rearmed",
-        "rev": "016c6e93f6db684211f5c8b05433cb500715ba50",
-        "hash": "sha256-uYzL0uuQbxa4N0uQT8YEBiCgwkIcigvjeNU600WqSDQ=",
-        "date": "unstable-2024-02-07"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "pcsx_rearmed",
+            "rev": "9aefd427e47e1cdf94578e1913054bc14a44bab6",
+            "hash": "sha256-CWeHKajdTu4M8SioMsIt6c1BrnguPxmQ6cKOkPpRdqw="
+        },
+        "version": "unstable-2024-02-14"
     },
     "picodrive": {
-        "owner": "libretro",
-        "repo": "picodrive",
-        "rev": "d907d65692a45e126d0c7d6685cc8792b52bc577",
-        "hash": "sha256-CJJcWVueg3dbBT4r6W1y8Qj7iRwH7PupvFp+CKEII7o=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-01-23"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "picodrive",
+            "rev": "d907d65692a45e126d0c7d6685cc8792b52bc577",
+            "hash": "sha256-CJJcWVueg3dbBT4r6W1y8Qj7iRwH7PupvFp+CKEII7o=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-01-23"
     },
     "play": {
-        "owner": "jpd002",
-        "repo": "Play-",
-        "rev": "34c4c74fbd0ca2223c203bffc23f57157769074b",
-        "hash": "sha256-Nn2VsZOuwyBQxFBGGLVfD5BvvqJBI7g8HoShmH0hch8=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-02-05"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "jpd002",
+            "repo": "Play-",
+            "rev": "1c42b05083a5c9254a8479ea78cc04369beaaa00",
+            "hash": "sha256-GM4VymoZpJvQTHmJvzSTxl6ALLeGdP5OtQE+efPvYpw=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-02-19"
     },
     "ppsspp": {
-        "owner": "hrydgard",
-        "repo": "ppsspp",
-        "rev": "d832f96010fa378ef0a7f7980524a61803110ad7",
-        "hash": "sha256-LkngiwjRoYw+N+DCdbbWnTokDAYXbqOMJX+DQGAUl2g=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-02-13"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "hrydgard",
+            "repo": "ppsspp",
+            "rev": "f5450e40eb3f4861451fb98bf9239dacc5aef81e",
+            "hash": "sha256-Kj0bxp2ValsmoKHP4x8LJ60priLnRAvgtjsUemm0do4=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-02-16"
     },
     "prboom": {
-        "owner": "libretro",
-        "repo": "libretro-prboom",
-        "rev": "6ec854969fd9dec33bb2cab350f05675d1158969",
-        "hash": "sha256-y0qZwYNwcO4ofWDZ7UXN9ZVMPFxjCnLDDZKBMdZLxEY=",
-        "date": "unstable-2023-05-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-prboom",
+            "rev": "6ec854969fd9dec33bb2cab350f05675d1158969",
+            "hash": "sha256-y0qZwYNwcO4ofWDZ7UXN9ZVMPFxjCnLDDZKBMdZLxEY="
+        },
+        "version": "unstable-2023-05-28"
     },
     "prosystem": {
-        "owner": "libretro",
-        "repo": "prosystem-libretro",
-        "rev": "4202ac5bdb2ce1a21f84efc0e26d75bb5aa7e248",
-        "hash": "sha256-BR0DTWcB5g0rEoNSxBx+OxBmLELjdR2fgsmdPU7cK68=",
-        "date": "unstable-2023-08-17"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "prosystem-libretro",
+            "rev": "4202ac5bdb2ce1a21f84efc0e26d75bb5aa7e248",
+            "hash": "sha256-BR0DTWcB5g0rEoNSxBx+OxBmLELjdR2fgsmdPU7cK68="
+        },
+        "version": "unstable-2023-08-17"
     },
     "puae": {
-        "owner": "libretro",
-        "repo": "libretro-uae",
-        "rev": "2cad13f98aa4df272decf2ab99d95aa582cd4cfb",
-        "hash": "sha256-8iGsQJcImL7hUK14X+u2BSq4W9BkosiLImCmzf63o4Q=",
-        "date": "unstable-2024-02-03"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-uae",
+            "rev": "4e8b54dd574eff239b5f4b4e3bc35c40b3a7cdd4",
+            "hash": "sha256-pBpzzCgZYaA7/+UvwTsKCRseroe98AwRovjIk4Z0fhI="
+        },
+        "version": "unstable-2024-02-20"
     },
     "quicknes": {
-        "owner": "libretro",
-        "repo": "QuickNES_Core",
-        "rev": "cd73f021be7dd5b1a21b71155a320364c02de4ac",
-        "hash": "sha256-fmTAK32ASA8M5nxUUUilm/yMNkmqSAG/gauB7fy1Kbc=",
-        "date": "unstable-2024-02-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "QuickNES_Core",
+            "rev": "cd73f021be7dd5b1a21b71155a320364c02de4ac",
+            "hash": "sha256-fmTAK32ASA8M5nxUUUilm/yMNkmqSAG/gauB7fy1Kbc="
+        },
+        "version": "unstable-2024-02-01"
     },
     "same_cdi": {
-        "owner": "libretro",
-        "repo": "same_cdi",
-        "rev": "54cf493c2dee4c46666059c452f8aaaa0bd7c8e0",
-        "hash": "sha256-/+4coMzj/o82Q04Z65DQiPaykK6N56W6PRQLtyJOd8E=",
-        "date": "unstable-2023-02-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "same_cdi",
+            "rev": "54cf493c2dee4c46666059c452f8aaaa0bd7c8e0",
+            "hash": "sha256-/+4coMzj/o82Q04Z65DQiPaykK6N56W6PRQLtyJOd8E="
+        },
+        "version": "unstable-2023-02-28"
     },
     "sameboy": {
-        "owner": "libretro",
-        "repo": "sameboy",
-        "rev": "09138330990da32362246c7034cf4de2ea0a2a2b",
-        "hash": "sha256-hQWIuNwCykkJR+6naNarR50kUvIFNny+bbZHR6/GA/4=",
-        "date": "unstable-2022-08-19"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "sameboy",
+            "rev": "09138330990da32362246c7034cf4de2ea0a2a2b",
+            "hash": "sha256-hQWIuNwCykkJR+6naNarR50kUvIFNny+bbZHR6/GA/4="
+        },
+        "version": "unstable-2022-08-19"
     },
     "scummvm": {
-        "owner": "libretro-mirrors",
-        "repo": "scummvm",
-        "rev": "2fb2e4c551c9c1510c56f6e890ee0300b7b3fca3",
-        "hash": "sha256-wrlFqu+ONbYH4xMFDByOgySobGrkhVc7kYWI4JzA4ew=",
-        "date": "unstable-2022-04-06"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro-mirrors",
+            "repo": "scummvm",
+            "rev": "2fb2e4c551c9c1510c56f6e890ee0300b7b3fca3",
+            "hash": "sha256-wrlFqu+ONbYH4xMFDByOgySobGrkhVc7kYWI4JzA4ew="
+        },
+        "version": "unstable-2022-04-06"
     },
     "smsplus-gx": {
-        "owner": "libretro",
-        "repo": "smsplus-gx",
-        "rev": "96fa9bc65aa27a5ab2779f9f2ff0439fec7cf513",
-        "hash": "sha256-tlxlI0+5QFgu2IRB4Cpz9XItbhprLNlq1YdCFGXGyIE=",
-        "date": "unstable-2023-10-31"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "smsplus-gx",
+            "rev": "96fa9bc65aa27a5ab2779f9f2ff0439fec7cf513",
+            "hash": "sha256-tlxlI0+5QFgu2IRB4Cpz9XItbhprLNlq1YdCFGXGyIE="
+        },
+        "version": "unstable-2023-10-31"
     },
     "snes9x": {
-        "owner": "snes9xgit",
-        "repo": "snes9x",
-        "rev": "be6372c0345c82a87b880c791703fb1929ecf72c",
-        "hash": "sha256-JzUXxTJZG3LdWC+FCM/3/ynGclQ11rCj7q5fs45r5Bw=",
-        "date": "unstable-2024-02-08"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "snes9xgit",
+            "repo": "snes9x",
+            "rev": "1e1c45be07bf5760e73414d9ed0253d6dedb8605",
+            "hash": "sha256-gGAsKsI5e9jU6Zo2f72TBsHWdR6Bl+3Y1Om1zsbIjqs="
+        },
+        "version": "unstable-2024-02-14"
     },
     "snes9x2002": {
-        "owner": "libretro",
-        "repo": "snes9x2002",
-        "rev": "540baad622d9833bba7e0696193cb06f5f02f564",
-        "hash": "sha256-WJh8Qf1/uFaL9f9d28qXsbpeAZfYGPgjoty3G6XAKSs=",
-        "date": "unstable-2022-08-06"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "snes9x2002",
+            "rev": "540baad622d9833bba7e0696193cb06f5f02f564",
+            "hash": "sha256-WJh8Qf1/uFaL9f9d28qXsbpeAZfYGPgjoty3G6XAKSs="
+        },
+        "version": "unstable-2022-08-06"
     },
     "snes9x2005": {
-        "owner": "libretro",
-        "repo": "snes9x2005",
-        "rev": "fd45b0e055bce6cff3acde77414558784e93e7d0",
-        "hash": "sha256-zjA/G62V38/hj+WjJDGAs48AcTUIiMWL8feCqLsCRnI=",
-        "date": "unstable-2022-07-25"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "snes9x2005",
+            "rev": "fd45b0e055bce6cff3acde77414558784e93e7d0",
+            "hash": "sha256-zjA/G62V38/hj+WjJDGAs48AcTUIiMWL8feCqLsCRnI="
+        },
+        "version": "unstable-2022-07-25"
     },
     "snes9x2010": {
-        "owner": "libretro",
-        "repo": "snes9x2010",
-        "rev": "d8b10c4cd7606ed58f9c562864c986bc960faaaf",
-        "hash": "sha256-7FmteYrAYr+pGNXGg9CBC4NFlijGRf7GdtJfiNjmonU=",
-        "date": "unstable-2023-02-20"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "snes9x2010",
+            "rev": "d8b10c4cd7606ed58f9c562864c986bc960faaaf",
+            "hash": "sha256-7FmteYrAYr+pGNXGg9CBC4NFlijGRf7GdtJfiNjmonU="
+        },
+        "version": "unstable-2023-02-20"
     },
     "stella": {
-        "owner": "stella-emu",
-        "repo": "stella",
-        "rev": "4557099e5d7a0c0b02424ea85d2a4b093911e048",
-        "hash": "sha256-wyJExpIIScgLTALgvqW5f/QgIsMC19JU8Meh3mV4d2c=",
-        "date": "unstable-2024-02-02"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "stella-emu",
+            "repo": "stella",
+            "rev": "4557099e5d7a0c0b02424ea85d2a4b093911e048",
+            "hash": "sha256-wyJExpIIScgLTALgvqW5f/QgIsMC19JU8Meh3mV4d2c="
+        },
+        "version": "unstable-2024-02-02"
     },
     "stella2014": {
-        "owner": "libretro",
-        "repo": "stella2014-libretro",
-        "rev": "8ab051edd4816f33a5631d230d54059eeed52c5f",
-        "hash": "sha256-wqssB8WXXF2Lu9heII8nWLLOvI38cIfHSMA7OOd6jx0=",
-        "date": "unstable-2023-02-20"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "stella2014-libretro",
+            "rev": "8ab051edd4816f33a5631d230d54059eeed52c5f",
+            "hash": "sha256-wqssB8WXXF2Lu9heII8nWLLOvI38cIfHSMA7OOd6jx0="
+        },
+        "version": "unstable-2023-02-20"
     },
     "swanstation": {
-        "owner": "libretro",
-        "repo": "swanstation",
-        "rev": "77aeeea58a45cccae7a8be37645f8f5a27ff101b",
-        "hash": "sha256-z+9Y9hoQ832caip5U+siQXh9GFxLMnX0HcmLa93B/lc=",
-        "date": "unstable-2024-01-26"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "swanstation",
+            "rev": "77aeeea58a45cccae7a8be37645f8f5a27ff101b",
+            "hash": "sha256-z+9Y9hoQ832caip5U+siQXh9GFxLMnX0HcmLa93B/lc="
+        },
+        "version": "unstable-2024-01-26"
     },
     "tgbdual": {
-        "owner": "libretro",
-        "repo": "tgbdual-libretro",
-        "rev": "a6f3018e6a23030afc1873845ee54d4b2d8ec9d3",
-        "hash": "sha256-MBUgYXX/Pc+TkwoS7OwbXSPssKUf6lwWx/bKhvwDkHs=",
-        "date": "unstable-2022-08-06"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "tgbdual-libretro",
+            "rev": "a6f3018e6a23030afc1873845ee54d4b2d8ec9d3",
+            "hash": "sha256-MBUgYXX/Pc+TkwoS7OwbXSPssKUf6lwWx/bKhvwDkHs="
+        },
+        "version": "unstable-2022-08-06"
     },
     "thepowdertoy": {
-        "owner": "libretro",
-        "repo": "ThePowderToy",
-        "rev": "f644498193c4c8be689d8a1d2a70e37e4eff4243",
-        "hash": "sha256-aPUqrrrH2Ia56A3Kx6ClMcZO9nbHGJIcEQ6nFyIMamo=",
-        "date": "unstable-2023-01-17"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "ThePowderToy",
+            "rev": "f644498193c4c8be689d8a1d2a70e37e4eff4243",
+            "hash": "sha256-aPUqrrrH2Ia56A3Kx6ClMcZO9nbHGJIcEQ6nFyIMamo="
+        },
+        "version": "unstable-2023-01-17"
     },
     "tic80": {
-        "owner": "libretro",
-        "repo": "tic-80",
-        "rev": "bd6ce86174fc7c9d7d3a86263acf3a7de1b62c11",
-        "hash": "sha256-RFp8sTSRwD+cgW3EYk3nBeY+zVKgZVQI5mjtfe2a64Q=",
-        "fetchSubmodules": true,
-        "date": "unstable-2022-06-11"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "tic-80",
+            "rev": "bd6ce86174fc7c9d7d3a86263acf3a7de1b62c11",
+            "hash": "sha256-RFp8sTSRwD+cgW3EYk3nBeY+zVKgZVQI5mjtfe2a64Q=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2022-06-11"
     },
     "vba-m": {
-        "owner": "libretro",
-        "repo": "vbam-libretro",
-        "rev": "a2378f05f600a5a9cf450c60a87976b80d6a895a",
-        "hash": "sha256-vWm28cSEGex5h7JkJjzNPqEGtQWHK0dpK2gVDlQ3NbM=",
-        "date": "unstable-2023-08-18"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "vbam-libretro",
+            "rev": "a2378f05f600a5a9cf450c60a87976b80d6a895a",
+            "hash": "sha256-vWm28cSEGex5h7JkJjzNPqEGtQWHK0dpK2gVDlQ3NbM="
+        },
+        "version": "unstable-2023-08-18"
     },
     "vba-next": {
-        "owner": "libretro",
-        "repo": "vba-next",
-        "rev": "ee92625d2f1666496be4f5662508a2430e846b00",
-        "hash": "sha256-r3FKBD4GUUkobMJ33VceseyTyqxm/Wsa5Er6XcfGL2Q=",
-        "date": "unstable-2023-06-03"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "vba-next",
+            "rev": "ee92625d2f1666496be4f5662508a2430e846b00",
+            "hash": "sha256-r3FKBD4GUUkobMJ33VceseyTyqxm/Wsa5Er6XcfGL2Q="
+        },
+        "version": "unstable-2023-06-03"
     },
     "vecx": {
-        "owner": "libretro",
-        "repo": "libretro-vecx",
-        "rev": "56a99fa08a7601b304d752188ca573febf26faeb",
-        "hash": "sha256-9/d6qzsUJZYZewAbFI4LU2FVpv09uby/5mxCZU7rVzo=",
-        "date": "unstable-2024-02-10"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-vecx",
+            "rev": "56a99fa08a7601b304d752188ca573febf26faeb",
+            "hash": "sha256-9/d6qzsUJZYZewAbFI4LU2FVpv09uby/5mxCZU7rVzo="
+        },
+        "version": "unstable-2024-02-10"
     },
     "virtualjaguar": {
-        "owner": "libretro",
-        "repo": "virtualjaguar-libretro",
-        "rev": "8126e5c504ac7217a638f38e4cd9190822c8abdd",
-        "hash": "sha256-U/qdKApE0OU3jc6ekfgEZ7VCaIqCc2h+Y+IHe7PIRY0=",
-        "date": "unstable-2023-06-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "virtualjaguar-libretro",
+            "rev": "8126e5c504ac7217a638f38e4cd9190822c8abdd",
+            "hash": "sha256-U/qdKApE0OU3jc6ekfgEZ7VCaIqCc2h+Y+IHe7PIRY0="
+        },
+        "version": "unstable-2023-06-01"
     },
     "yabause": {
-        "owner": "libretro",
-        "repo": "yabause",
-        "rev": "4c96b96f7fbe07223627c469ff33376b2a634748",
-        "hash": "sha256-7hEpGh2EcrlUoRiUNntaMZEQtStglYAY1MeCub5p8f8=",
-        "date": "unstable-2023-01-03"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "yabause",
+            "rev": "4c96b96f7fbe07223627c469ff33376b2a634748",
+            "hash": "sha256-7hEpGh2EcrlUoRiUNntaMZEQtStglYAY1MeCub5p8f8="
+        },
+        "version": "unstable-2023-01-03"
     }
 }
diff --git a/pkgs/applications/emulators/retroarch/update_cores.py b/pkgs/applications/emulators/retroarch/update_cores.py
index 981fe5377c5d..3b4ee5f77692 100755
--- a/pkgs/applications/emulators/retroarch/update_cores.py
+++ b/pkgs/applications/emulators/retroarch/update_cores.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=./ -i python3 -p "python3.withPackages (ps: with ps; [ requests ])" -p git -p nix-prefetch-github
+#!nix-shell -I nixpkgs=./ -i python3 -p "python3.withPackages (ps: with ps; [ ])" -p git -p nix-prefetch-github -p nix-prefetch-scripts
 
 import json
 import os
@@ -8,8 +8,6 @@ import sys
 from concurrent.futures import ThreadPoolExecutor
 from pathlib import Path
 
-import requests
-
 SCRIPT_PATH = Path(__file__).absolute().parent
 HASHES_PATH = SCRIPT_PATH / "hashes.json"
 GET_REPO_THREADS = int(os.environ.get("GET_REPO_THREADS", 8))
@@ -19,10 +17,13 @@ GET_REPO_THREADS = int(os.environ.get("GET_REPO_THREADS", 8))
 # You may set `deep_clone`, `fetch_submodules` or `leave_dot_git` options to
 # `True` and they're similar to `fetchgit` options. Also if for some reason you
 # need to pin a specific revision, set `rev` to a commit.
-# To generate the hash file for your new core, you can run `update_cores.py
-# <core>`. The script needs to be run from the root of your `nixpkgs` clone.
-# Do not forget to add your core to `cores.nix` file with the proper overrides
-# so the core can be build.
+# There is also a `fetcher` option that for now only supports `fetchFromGitHub`
+# (see `get_repo_hash()`), but it may be extended in the future if there is a
+# need to support fetchers from other source hubs.
+# To generate the hash file for your new core, you can run
+# `<nixpkgs>/pkgs/applications/emulators/retroarch/update_cores.py <core>`. Do
+# not forget to add your core to `cores.nix` file with the proper overrides so
+# the core can be build.
 CORES = {
     "2048": {"repo": "libretro-2048"},
     "atari800": {"repo": "libretro-atari800"},
@@ -49,6 +50,11 @@ CORES = {
     "dolphin": {"repo": "dolphin"},
     "dosbox": {"repo": "dosbox-libretro"},
     "dosbox-pure": {"repo": "dosbox-pure", "owner": "schellingb"},
+    # The EasyRPG core is pinned to 0.8 since it depends on version 0.8 of liblcf, which
+    # was released in April 2023.
+    # Update the version when a compatible liblcf is available.
+    # See pkgs/games/easyrpg-player/default.nix for details.
+    "easyrpg": {"repo": "Player", "owner": "EasyRPG", "fetch_submodules": True, "rev": "0.8"},
     "eightyone": {"repo": "81-libretro"},
     "fbalpha2012": {"repo": "fbalpha2012"},
     "fbneo": {"repo": "fbneo"},
@@ -128,30 +134,6 @@ def info(*msg):
     print(*msg, file=sys.stderr)
 
 
-def get_rev_date_fetchFromGitHub(repo, owner, rev):
-    # https://docs.github.com/en/rest/commits/commits?apiVersion=2022-11-28#get-a-commit
-    url = f"https://api.github.com/repos/{owner}/{repo}/commits/{rev}"
-    headers = {
-        "Accept": "application/vnd.github+json",
-        "X-GitHub-Api-Version": "2022-11-28",
-    }
-    if token := os.environ.get("GITHUB_TOKEN"):
-        headers["Authorization"] = f"Bearer {token}"
-    r = requests.get(url, headers=headers)
-
-    try:
-        j = r.json()
-    except requests.exceptions.JSONDecodeError:
-        return None
-
-    date = j.get("commit", {}).get("committer", {}).get("date")
-    if date:
-        # Date format returned by API: 2023-01-30T06:29:13Z
-        return f"unstable-{date[:10]}"
-    else:
-        return None
-
-
 def get_repo_hash_fetchFromGitHub(
     repo,
     owner="libretro",
@@ -176,18 +158,24 @@ def get_repo_hash_fetchFromGitHub(
     if rev:
         extra_args.append("--rev")
         extra_args.append(rev)
-    result = subprocess.run(
-        ["nix-prefetch-github", owner, repo, *extra_args],
-        check=True,
-        capture_output=True,
-        text=True,
-    )
+    try:
+        result = subprocess.run(
+            ["nix-prefetch-github", owner, repo, "--meta", *extra_args],
+            check=True,
+            capture_output=True,
+            text=True,
+        )
+    except subprocess.CalledProcessError as ex:
+        info(f"Error while updating {owner}/{repo}:", ex.stderr)
+        raise ex
+
     j = json.loads(result.stdout)
-    date = get_rev_date_fetchFromGitHub(repo, owner, j["rev"])
-    if date:
-        j["date"] = date
-    # Remove False values
-    return {k: v for k, v in j.items() if v}
+    return {
+        "fetcher": "fetchFromGitHub",
+        # Remove False values
+        "src": {k: v for k, v in j["src"].items() if v},
+        "version": f"unstable-{j['meta']['commitDate']}",
+    }
 
 
 def get_repo_hash(fetcher="fetchFromGitHub", **kwargs):
@@ -229,6 +217,7 @@ def main():
 
     cores = {core: repo for core, repo in CORES.items() if core in cores_to_update}
     repo_hashes = get_repo_hashes(cores)
+    repo_hashes["!comment"] = "Generated with update_cores.py script, do not edit!"
     info(f"Generating '{HASHES_PATH}'...")
     with open(HASHES_PATH, "w") as f:
         f.write(json.dumps(dict(sorted(repo_hashes.items())), indent=4))
diff --git a/pkgs/applications/emulators/simplenes/default.nix b/pkgs/applications/emulators/simplenes/default.nix
index d073098507ee..05a00e2c9201 100644
--- a/pkgs/applications/emulators/simplenes/default.nix
+++ b/pkgs/applications/emulators/simplenes/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ ivar ];
     platforms = platforms.linux;
+    mainProgram = "SimpleNES";
   };
 }
diff --git a/pkgs/applications/emulators/tamatool/default.nix b/pkgs/applications/emulators/tamatool/default.nix
index ce2518031b2e..cc245ebbe1fa 100644
--- a/pkgs/applications/emulators/tamatool/default.nix
+++ b/pkgs/applications/emulators/tamatool/default.nix
@@ -74,5 +74,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ fgaz ];
     platforms = platforms.all;
+    mainProgram = "tamatool";
   };
 })
diff --git a/pkgs/applications/emulators/tilem/default.nix b/pkgs/applications/emulators/tilem/default.nix
index c9ba0067ee74..e6d9a1956465 100644
--- a/pkgs/applications/emulators/tilem/default.nix
+++ b/pkgs/applications/emulators/tilem/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ siraben luc65r ];
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "tilem2";
   };
 }
diff --git a/pkgs/applications/emulators/tiny8086/default.nix b/pkgs/applications/emulators/tiny8086/default.nix
index a0cc6bd7929b..c236cd0950f6 100644
--- a/pkgs/applications/emulators/tiny8086/default.nix
+++ b/pkgs/applications/emulators/tiny8086/default.nix
@@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
+    mainProgram = "8086tiny";
   };
 }
diff --git a/pkgs/applications/emulators/uae/default.nix b/pkgs/applications/emulators/uae/default.nix
index 105729f62829..bfb8584aa94b 100644
--- a/pkgs/applications/emulators/uae/default.nix
+++ b/pkgs/applications/emulators/uae/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     homepage = "https://web.archive.org/web/20130901222855/http://www.amigaemulator.org/";
     maintainers = [ lib.maintainers.sander ];
     platforms = lib.platforms.linux;
+    mainProgram = "uae";
   };
 }
diff --git a/pkgs/applications/emulators/wibo/default.nix b/pkgs/applications/emulators/wibo/default.nix
index 102fd324cc29..f34f8d6b2f0f 100644
--- a/pkgs/applications/emulators/wibo/default.nix
+++ b/pkgs/applications/emulators/wibo/default.nix
@@ -51,5 +51,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ r-burns ];
     platforms = [ "i686-linux" ];
+    mainProgram = "wibo";
   };
 }
diff --git a/pkgs/applications/emulators/xcpc/default.nix b/pkgs/applications/emulators/xcpc/default.nix
index 633d44bb5ae4..6482f05cf1b1 100644
--- a/pkgs/applications/emulators/xcpc/default.nix
+++ b/pkgs/applications/emulators/xcpc/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ ];
     platforms = platforms.linux;
+    mainProgram = "xcpc";
   };
 }
diff --git a/pkgs/applications/emulators/yapesdl/default.nix b/pkgs/applications/emulators/yapesdl/default.nix
index 136e6ce4eb89..652b2cff3488 100644
--- a/pkgs/applications/emulators/yapesdl/default.nix
+++ b/pkgs/applications/emulators/yapesdl/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = with lib.maintainers; [ AndersonTorres ];
     platforms = lib.platforms.unix;
     broken = stdenv.isDarwin;
+    mainProgram = "yapesdl";
   };
 })
diff --git a/pkgs/applications/emulators/yuzu/compat-list.nix b/pkgs/applications/emulators/yuzu/compat-list.nix
index ee2eaa1b104c..30ff4aded401 100644
--- a/pkgs/applications/emulators/yuzu/compat-list.nix
+++ b/pkgs/applications/emulators/yuzu/compat-list.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, unstableGitUpdater }:
 stdenv.mkDerivation {
   pname = "yuzu-compatibility-list";
-  version = "unstable-2024-02-04";
+  version = "unstable-2024-02-14";
 
   src = fetchFromGitHub {
     owner = "flathub";
     repo = "org.yuzu_emu.yuzu";
-    rev = "963c657c2f852d96b5f203fbb6fafe6c56197ac9";
-    hash = "sha256-TNvAonMoGpJXjrkBFrBlYoTlwdPEMwiF/YhsOTYEB4k=";
+    rev = "8ef2f834b7437101d855f49f719474613c6fdfda";
+    hash = "sha256-RGEx7xediERrBW7vFwmecE3tLCo81zhOIVMnWG+XVd8=";
   };
 
   buildCommand = ''
diff --git a/pkgs/applications/emulators/yuzu/early-access/sources.nix b/pkgs/applications/emulators/yuzu/early-access/sources.nix
index 227e728a184d..9e057a44baf5 100644
--- a/pkgs/applications/emulators/yuzu/early-access/sources.nix
+++ b/pkgs/applications/emulators/yuzu/early-access/sources.nix
@@ -1,7 +1,7 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2024-02-05
+# Last updated: 2024-02-15
 {
-  version = "4115";
-  distHash = "sha256:16dfqlgz7lw909jqa505d69kx9jm0l3hxrfikkqpnvfr2fywkfng";
-  fullHash = "sha256:1506435pbpb1m8i6qz717wxbinxqbs6c8pq6ymw5zs9dnfh765ms";
+  version = "4141";
+  distHash = "sha256:0iy2q12fsnkl485ml6s6lh9j5qvwa7v3y2iy2vlps7rygdiaqxc2";
+  fullHash = "sha256:0980s2sxwqblyq936j0s7xz49xkfq1zzk50l5qlm5md5x64amf6r";
 }
diff --git a/pkgs/applications/emulators/yuzu/mainline.nix b/pkgs/applications/emulators/yuzu/mainline.nix
index d8fe6311076f..b2fe6edb41aa 100644
--- a/pkgs/applications/emulators/yuzu/mainline.nix
+++ b/pkgs/applications/emulators/yuzu/mainline.nix
@@ -36,13 +36,13 @@
 }:
 stdenv.mkDerivation(finalAttrs: {
   pname = "yuzu";
-  version = "1704";
+  version = "1715";
 
   src = fetchFromGitHub {
     owner = "yuzu-emu";
     repo = "yuzu-mainline";
     rev = "mainline-0-${finalAttrs.version}";
-    hash = "sha256-8vIwWahl5JmFlOfMRuec1LiYz4F6mPEH4+p2e1IRBdU=";
+    hash = "sha256-ctmySxBLI/1/0ekvqOq+FsWq73iHa/awARtCgZ/ztXs=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/emulators/zsnes/default.nix b/pkgs/applications/emulators/zsnes/default.nix
index 8e12d7cd7bb3..ebe7af84d7fc 100644
--- a/pkgs/applications/emulators/zsnes/default.nix
+++ b/pkgs/applications/emulators/zsnes/default.nix
@@ -70,5 +70,6 @@ in stdenv.mkDerivation {
     maintainers = [ lib.maintainers.sander ];
     homepage = "https://www.zsnes.com";
     platforms = [ "i686-linux" "x86_64-linux" ];
+    mainProgram = "zsnes";
   };
 }
diff --git a/pkgs/applications/file-managers/cfm/default.nix b/pkgs/applications/file-managers/cfm/default.nix
index 0955403e7eb8..640067d527f2 100644
--- a/pkgs/applications/file-managers/cfm/default.nix
+++ b/pkgs/applications/file-managers/cfm/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.mpl20;
     maintainers = with maintainers; [ lom ];
     platforms = platforms.all;
+    mainProgram = "cfm";
   };
 }
diff --git a/pkgs/applications/file-managers/clifm/default.nix b/pkgs/applications/file-managers/clifm/default.nix
index bad0fce09aa4..72e363b8b3c2 100644
--- a/pkgs/applications/file-managers/clifm/default.nix
+++ b/pkgs/applications/file-managers/clifm/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ nadir-ishiguro ];
     platforms = platforms.unix;
+    mainProgram = "clifm";
   };
 }
diff --git a/pkgs/applications/file-managers/lf/default.nix b/pkgs/applications/file-managers/lf/default.nix
index 9caf29a5a9a4..1f2b8b908928 100644
--- a/pkgs/applications/file-managers/lf/default.nix
+++ b/pkgs/applications/file-managers/lf/default.nix
@@ -44,5 +44,6 @@ buildGoModule rec {
     changelog = "https://github.com/gokcehan/lf/releases/tag/r${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
+    mainProgram = "lf";
   };
 }
diff --git a/pkgs/applications/file-managers/mucommander/default.nix b/pkgs/applications/file-managers/mucommander/default.nix
index cf3b1352f488..308035b094a1 100644
--- a/pkgs/applications/file-managers/mucommander/default.nix
+++ b/pkgs/applications/file-managers/mucommander/default.nix
@@ -105,5 +105,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ jiegec ];
     platforms = platforms.all;
+    mainProgram = "mucommander";
   };
 }
diff --git a/pkgs/applications/file-managers/noice/default.nix b/pkgs/applications/file-managers/noice/default.nix
index 25e93ace7c04..d41c12faad8d 100644
--- a/pkgs/applications/file-managers/noice/default.nix
+++ b/pkgs/applications/file-managers/noice/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     platforms = platforms.all;
     maintainers = with maintainers; [ iogamaster ];
+    mainProgram = "noice";
   };
 }
diff --git a/pkgs/applications/file-managers/portfolio-filemanager/default.nix b/pkgs/applications/file-managers/portfolio-filemanager/default.nix
index 3ee1f0c03ebf..4c21e8cbe057 100644
--- a/pkgs/applications/file-managers/portfolio-filemanager/default.nix
+++ b/pkgs/applications/file-managers/portfolio-filemanager/default.nix
@@ -18,7 +18,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "portfolio";
-  version = "1.0.0";
+  version = "1.0.1";
 
   format = "other";
 
@@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "tchx84";
     repo = "Portfolio";
     rev = "v${version}";
-    hash = "sha256-ahVrOyyF/7X19ZJcHQ4YbC+4b96CPEnns7TUAFCvKao=";
+    hash = "sha256-IbzAkHlD6duXkPJRSyD9HJ/JHP8+IR7vIGFp2ESbBug=";
   };
 
   postPatch = ''
@@ -78,6 +78,7 @@ python3.pkgs.buildPythonApplication rec {
     changelog = "https://github.com/tchx84/Portfolio/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
+    mainProgram = "dev.tchx84.Portfolio";
     maintainers = with maintainers; [ dotlambda chuangzhu ];
   };
 }
diff --git a/pkgs/applications/file-managers/sfm/default.nix b/pkgs/applications/file-managers/sfm/default.nix
index 800ea9419cbe..8a3aaee4418e 100644
--- a/pkgs/applications/file-managers/sfm/default.nix
+++ b/pkgs/applications/file-managers/sfm/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     platforms = platforms.unix;
     maintainers = with maintainers; [ sikmir ];
+    mainProgram = "sfm";
   };
 }
diff --git a/pkgs/applications/file-managers/shfm/default.nix b/pkgs/applications/file-managers/shfm/default.nix
index 602151075fc7..47bb6dfdbe8c 100644
--- a/pkgs/applications/file-managers/shfm/default.nix
+++ b/pkgs/applications/file-managers/shfm/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.all;
+    mainProgram = "shfm";
   };
 }
diff --git a/pkgs/applications/file-managers/xplorer/default.nix b/pkgs/applications/file-managers/xplorer/default.nix
index b4681ab697b2..76edf8ee4832 100644
--- a/pkgs/applications/file-managers/xplorer/default.nix
+++ b/pkgs/applications/file-managers/xplorer/default.nix
@@ -90,5 +90,6 @@ rustPlatform.buildRustPackage {
     homepage = "https://xplorer.space";
     license = licenses.asl20;
     maintainers = with maintainers; [ dit7ya ];
+    mainProgram = "xplorer";
   };
 }
diff --git a/pkgs/applications/file-managers/yazi/default.nix b/pkgs/applications/file-managers/yazi/default.nix
deleted file mode 100644
index c59827f3191f..000000000000
--- a/pkgs/applications/file-managers/yazi/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ rustPlatform
-, fetchFromGitHub
-, lib
-
-, makeWrapper
-, installShellFiles
-, stdenv
-, Foundation
-
-, withFile ? true
-, file
-, withJq ? true
-, jq
-, withPoppler ? true
-, poppler_utils
-, withUnar ? true
-, unar
-, withFfmpegthumbnailer ? true
-, ffmpegthumbnailer
-, withFd ? true
-, fd
-, withRipgrep ? true
-, ripgrep
-, withFzf ? true
-, fzf
-, withZoxide ? true
-, zoxide
-
-, nix-update-script
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "yazi";
-  version = "0.2.3";
-
-  src = fetchFromGitHub {
-    owner = "sxyazi";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-2AiaJs6xY8hsB1DBxpPwdZtc8IZvsoCGWBOFVMf4dvk=";
-  };
-
-  cargoHash = "sha256-fRUmXv27sHYz8z0cc795JCPLHDQGgTV4wAWAtQ/pbg4=";
-
-  env.YAZI_GEN_COMPLETIONS = true;
-
-  nativeBuildInputs = [ makeWrapper installShellFiles ];
-  buildInputs = lib.optionals stdenv.isDarwin [ Foundation ];
-
-  postInstall = with lib;
-    let
-      runtimePaths = [ ]
-        ++ optional withFile file
-        ++ optional withJq jq
-        ++ optional withPoppler poppler_utils
-        ++ optional withUnar unar
-        ++ optional withFfmpegthumbnailer ffmpegthumbnailer
-        ++ optional withFd fd
-        ++ optional withRipgrep ripgrep
-        ++ optional withFzf fzf
-        ++ optional withZoxide zoxide;
-    in
-    ''
-      wrapProgram $out/bin/yazi \
-         --prefix PATH : "${makeBinPath runtimePaths}"
-      installShellCompletion --cmd yazi \
-        --bash ./yazi-config/completions/yazi.bash \
-        --fish ./yazi-config/completions/yazi.fish \
-        --zsh  ./yazi-config/completions/_yazi
-    '';
-
-  passthru.updateScript = nix-update-script { };
-
-  meta = with lib; {
-    description = "Blazing fast terminal file manager written in Rust, based on async I/O";
-    homepage = "https://github.com/sxyazi/yazi";
-    license = licenses.mit;
-    maintainers = with maintainers; [ xyenon matthiasbeyer ];
-    mainProgram = "yazi";
-  };
-}
diff --git a/pkgs/applications/finance/irpf/default.nix b/pkgs/applications/finance/irpf/default.nix
index 2d280a41c5df..6ced017dff6c 100644
--- a/pkgs/applications/finance/irpf/default.nix
+++ b/pkgs/applications/finance/irpf/default.nix
@@ -72,5 +72,6 @@ stdenvNoCC.mkDerivation rec {
     platforms = platforms.all;
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     maintainers = with maintainers; [ atila ];
+    mainProgram = "irpf";
   };
 }
diff --git a/pkgs/applications/graphics/alchemy/default.nix b/pkgs/applications/graphics/alchemy/default.nix
index c37bc92a4065..2b61004ed0e7 100644
--- a/pkgs/applications/graphics/alchemy/default.nix
+++ b/pkgs/applications/graphics/alchemy/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.marcweber ];
     platforms = platforms.linux;
+    mainProgram = "alchemy";
   };
 }
diff --git a/pkgs/applications/graphics/apngasm/default.nix b/pkgs/applications/graphics/apngasm/default.nix
index 085683b5b643..d75188b36dd6 100644
--- a/pkgs/applications/graphics/apngasm/default.nix
+++ b/pkgs/applications/graphics/apngasm/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
     license = licenses.zlib;
     maintainers = with maintainers; [ orivej ];
     platforms = platforms.linux;
+    mainProgram = "apngasm";
   };
 
 }
diff --git a/pkgs/applications/graphics/artem/default.nix b/pkgs/applications/graphics/artem/default.nix
index de6f593fc453..18bc00983828 100644
--- a/pkgs/applications/graphics/artem/default.nix
+++ b/pkgs/applications/graphics/artem/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "artem";
-  version = "2.0.2";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "finefindus";
     repo = "artem";
     rev = "v${version}";
-    hash = "sha256-t8L1lylaacEHGg3wxVgiB2XmBHDGzql774oHrg/vUC0=";
+    hash = "sha256-iio0MJG0qVndhQvF2zgZ6Jw0za6bBQYFmtk1Mbxpq1E=";
   };
 
-  cargoHash = "sha256-rsgl8g6AqNmdq2gJ3PHvKMb7eid8ewtheajGWSWbeBw=";
+  cargoHash = "sha256-47HNoAA1qr39qQqfq+qZoCFyjKHu5pnRKC2QzA60K3k=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -48,5 +48,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/finefindus/artem/blob/v${version}/CHANGELOG.md";
     license = licenses.mpl20;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "artem";
   };
 }
diff --git a/pkgs/applications/graphics/ascii-image-converter/default.nix b/pkgs/applications/graphics/ascii-image-converter/default.nix
index c4a63aa4fbeb..d0ae5420bdfe 100644
--- a/pkgs/applications/graphics/ascii-image-converter/default.nix
+++ b/pkgs/applications/graphics/ascii-image-converter/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/TheZoraiz/ascii-image-converter#readme";
     license = licenses.asl20;
     maintainers = [ maintainers.danth ];
+    mainProgram = "ascii-image-converter";
   };
 }
diff --git a/pkgs/applications/graphics/autotrace/default.nix b/pkgs/applications/graphics/autotrace/default.nix
index e611a56a6624..30cf116fed14 100644
--- a/pkgs/applications/graphics/autotrace/default.nix
+++ b/pkgs/applications/graphics/autotrace/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     maintainers = with maintainers; [ hodapp ];
     license = licenses.gpl2;
+    mainProgram = "autotrace";
   };
 }
diff --git a/pkgs/applications/graphics/awesomebump/default.nix b/pkgs/applications/graphics/awesomebump/default.nix
index e7bc474e17d3..a5debbc21b02 100644
--- a/pkgs/applications/graphics/awesomebump/default.nix
+++ b/pkgs/applications/graphics/awesomebump/default.nix
@@ -59,5 +59,6 @@ in mkDerivation {
     license = lib.licenses.gpl3Plus;
     maintainers = [ lib.maintainers.eelco ];
     platforms = lib.platforms.linux;
+    mainProgram = "AwesomeBump";
   };
 }
diff --git a/pkgs/applications/graphics/azpainter/default.nix b/pkgs/applications/graphics/azpainter/default.nix
index ac52af2a7d4c..05fb56bb5d7d 100644
--- a/pkgs/applications/graphics/azpainter/default.nix
+++ b/pkgs/applications/graphics/azpainter/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dtzWill ];
     platforms = with platforms; linux ++ darwin;
+    mainProgram = "azpainter";
   };
 }
diff --git a/pkgs/applications/graphics/cloudcompare/default.nix b/pkgs/applications/graphics/cloudcompare/default.nix
index 7f8d9be53b85..1ad3476e8091 100644
--- a/pkgs/applications/graphics/cloudcompare/default.nix
+++ b/pkgs/applications/graphics/cloudcompare/default.nix
@@ -23,13 +23,13 @@
 
 mkDerivation rec {
   pname = "cloudcompare";
-  version = "2.12.4";
+  version = "2.13";
 
   src = fetchFromGitHub {
     owner = "CloudCompare";
     repo = "CloudCompare";
     rev = "v${version}";
-    sha256 = "sha256-rQ9/vS/fyRWGBL4UGPNSeeNsDtnRHEp9NCViBtu/QEs=";
+    hash = "sha256-tCmIdajizaTT1tvPA7YQoklfz7pYVKS0lJXrxV2fidg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/graphics/curv/default.nix b/pkgs/applications/graphics/curv/default.nix
index 6725e525c376..71793b861508 100644
--- a/pkgs/applications/graphics/curv/default.nix
+++ b/pkgs/applications/graphics/curv/default.nix
@@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     broken = stdenv.isDarwin;
     maintainers = with maintainers; [ pbsds ];
+    mainProgram = "curv";
   };
 }
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 8983b14cb446..fdc3770676ff 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -56,12 +56,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.6.0";
+  version = "4.6.1";
   pname = "darktable";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "sha256-cksn4yBNGCLebcU+oJCmsc5V98MiJtNGQmiXdcaKrMI=";
+    sha256 = "sha256-Fu3AoHApPi082k6hDkm9qb3pMuI/nmLi+i56x0rPev0=";
   };
 
   nativeBuildInputs = [ cmake ninja llvmPackages.llvm pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/deskew/default.nix b/pkgs/applications/graphics/deskew/default.nix
index ad3a20d2431c..f43a26f692a3 100644
--- a/pkgs/applications/graphics/deskew/default.nix
+++ b/pkgs/applications/graphics/deskew/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
     license = with licenses; [ mit mpl11 ];
     maintainers = with maintainers; [ryantm];
     platforms = platforms.all;
+    mainProgram = "deskew";
   };
 
 }
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index af64823bb35c..08a0ba5b8125 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -13,19 +13,19 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "22.1.18";
+  version = "23.1.5";
 
   src = fetchFromGitHub {
     owner = "jgraph";
     repo = "drawio-desktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-qOZm7XbF8QOx5rD5EJY0lJhaq2Yhp/nppOA4BIWheyE=";
+    hash = "sha256-ThmTahuU0o/vr6h/T/zCyEB5/APJlVA6t1TNfZgqTJ0=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = src + "/yarn.lock";
-    hash = "sha256-TwI3NCIn5NnKXuwW5dBl4q6Ma5rZR7NVNb5hoKbmNLM=";
+    hash = "sha256-hL89WVYy/EQe6Zppmr17Q9T2o/UjBvydDIgGpr7AA5M=";
   };
 
   nativeBuildInputs = [
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     sed -i "/afterSign/d" electron-builder-linux-mac.json
   '' + ''
     yarn --offline run electron-builder --dir \
-      --config electron-builder-linux-mac.json \
+      ${if stdenv.isDarwin then "--config electron-builder-linux-mac.json" else ""} \
       -c.electronDist=${if stdenv.isDarwin then "." else "${electron}/libexec/electron"} \
       -c.electronVersion=${electron.version}
 
@@ -112,5 +112,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/jgraph/drawio-desktop/releases/tag/v${version}";
     maintainers = with maintainers; [ qyliss darkonion0 ];
     platforms = platforms.darwin ++ platforms.linux;
+    mainProgram = "drawio";
   };
 }
diff --git a/pkgs/applications/graphics/emulsion/default.nix b/pkgs/applications/graphics/emulsion/default.nix
index 4964d258c11a..f970b7ffc58f 100644
--- a/pkgs/applications/graphics/emulsion/default.nix
+++ b/pkgs/applications/graphics/emulsion/default.nix
@@ -73,5 +73,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.unix;
     license = licenses.mit;
+    mainProgram = "emulsion";
   };
 }
diff --git a/pkgs/applications/graphics/entwine/default.nix b/pkgs/applications/graphics/entwine/default.nix
index 908d5cc08184..5a79bc38c553 100644
--- a/pkgs/applications/graphics/entwine/default.nix
+++ b/pkgs/applications/graphics/entwine/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation {
     license = licenses.lgpl2Only;
     maintainers = with maintainers; [ matthewcroughan ];
     platforms = platforms.linux;
+    mainProgram = "entwine";
   };
 }
diff --git a/pkgs/applications/graphics/epeg/default.nix b/pkgs/applications/graphics/epeg/default.nix
index b4ba26bd015f..8134771f5688 100644
--- a/pkgs/applications/graphics/epeg/default.nix
+++ b/pkgs/applications/graphics/epeg/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
       url = "https://github.com/mattes/epeg#license";
     };
     maintainers = with maintainers; [ nh2 ];
+    mainProgram = "epeg";
   };
 }
diff --git a/pkgs/applications/graphics/epick/default.nix b/pkgs/applications/graphics/epick/default.nix
index c27cbf94476b..dee31abdd29d 100644
--- a/pkgs/applications/graphics/epick/default.nix
+++ b/pkgs/applications/graphics/epick/default.nix
@@ -57,5 +57,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/vv9k/epick/blob/${version}/CHANGELOG.md";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "epick";
   };
 }
diff --git a/pkgs/applications/graphics/f3d/default.nix b/pkgs/applications/graphics/f3d/default.nix
index 2fef95222b5a..12076557acfb 100644
--- a/pkgs/applications/graphics/f3d/default.nix
+++ b/pkgs/applications/graphics/f3d/default.nix
@@ -52,5 +52,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ bcdarwin pbsds ];
     platforms = with platforms; unix;
+    mainProgram = "f3d";
   };
 }
diff --git a/pkgs/applications/graphics/figma-agent/default.nix b/pkgs/applications/graphics/figma-agent/default.nix
index 36ae271d7e16..a6bf008e8295 100644
--- a/pkgs/applications/graphics/figma-agent/default.nix
+++ b/pkgs/applications/graphics/figma-agent/default.nix
@@ -40,5 +40,6 @@ buildRustPackage {
     description = "Figma Agent for Linux (a.k.a. Font Helper)";
     license = licenses.mit;
     maintainers = with maintainers; [ ercao ];
+    mainProgram = "figma-agent";
   };
 }
diff --git a/pkgs/applications/graphics/flaca/default.nix b/pkgs/applications/graphics/flaca/default.nix
index 0c421618d094..912887e0e93a 100644
--- a/pkgs/applications/graphics/flaca/default.nix
+++ b/pkgs/applications/graphics/flaca/default.nix
@@ -24,5 +24,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = with maintainers; [ zzzsy ];
     platforms = platforms.linux;
     license = licenses.wtfpl;
+    mainProgram = "flaca";
   };
 }
diff --git a/pkgs/applications/graphics/focus-stack/default.nix b/pkgs/applications/graphics/focus-stack/default.nix
index 11de5d144452..6025aa9b7a1b 100644
--- a/pkgs/applications/graphics/focus-stack/default.nix
+++ b/pkgs/applications/graphics/focus-stack/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/PetteriAimonen/focus-stack";
     license = licenses.mit;
     maintainers = with maintainers; [ paperdigits ];
+    mainProgram = "focus-stack";
   };
 }
diff --git a/pkgs/applications/graphics/foxotron/default.nix b/pkgs/applications/graphics/foxotron/default.nix
index 079515b4b214..c5f2d9c26fcc 100644
--- a/pkgs/applications/graphics/foxotron/default.nix
+++ b/pkgs/applications/graphics/foxotron/default.nix
@@ -97,5 +97,6 @@ stdenv.mkDerivation rec {
     license = licenses.unlicense;
     maintainers = with maintainers; [ OPNA2608 ];
     platforms = platforms.all;
+    mainProgram = "Foxotron";
   };
 }
diff --git a/pkgs/applications/graphics/gcolor2/default.nix b/pkgs/applications/graphics/gcolor2/default.nix
index 61a41abac5b0..4ee7b869eea0 100644
--- a/pkgs/applications/graphics/gcolor2/default.nix
+++ b/pkgs/applications/graphics/gcolor2/default.nix
@@ -39,5 +39,6 @@ stdenv.mkDerivation {
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ notthemessiah ];
     platforms = with lib.platforms; unix;
+    mainProgram = "gcolor2";
   };
 }
diff --git a/pkgs/applications/graphics/gnuclad/default.nix b/pkgs/applications/graphics/gnuclad/default.nix
index b90735d85083..a263746ef9ac 100644
--- a/pkgs/applications/graphics/gnuclad/default.nix
+++ b/pkgs/applications/graphics/gnuclad/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ mog ];
     platforms = platforms.unix;
+    mainProgram = "gnuclad";
   };
 }
diff --git a/pkgs/applications/graphics/gpicview/default.nix b/pkgs/applications/graphics/gpicview/default.nix
index f19c0282b187..fcef4751eab7 100644
--- a/pkgs/applications/graphics/gpicview/default.nix
+++ b/pkgs/applications/graphics/gpicview/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ lovek323 ];
     platforms = platforms.unix;
+    mainProgram = "gpicview";
   };
 }
diff --git a/pkgs/applications/graphics/gqview/default.nix b/pkgs/applications/graphics/gqview/default.nix
index 847fa9ea5f68..8237473c79b1 100644
--- a/pkgs/applications/graphics/gqview/default.nix
+++ b/pkgs/applications/graphics/gqview/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ ];
+    mainProgram = "gqview";
   };
 }
diff --git a/pkgs/applications/graphics/guetzli/default.nix b/pkgs/applications/graphics/guetzli/default.nix
index 9f2f050441f1..945416e3f03d 100644
--- a/pkgs/applications/graphics/guetzli/default.nix
+++ b/pkgs/applications/graphics/guetzli/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation {
     license = lib.licenses.asl20;
     platforms = lib.platforms.x86_64;
     maintainers = [ lib.maintainers.seppeljordan ];
+    mainProgram = "guetzli";
   };
 }
diff --git a/pkgs/applications/graphics/hello-wayland/default.nix b/pkgs/applications/graphics/hello-wayland/default.nix
index 45c1e6f54163..d2ce6c57cec2 100644
--- a/pkgs/applications/graphics/hello-wayland/default.nix
+++ b/pkgs/applications/graphics/hello-wayland/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ qyliss ];
     license = licenses.mit;
     platforms = platforms.linux;
+    mainProgram = "hello-wayland";
   };
 }
diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix
index 29535438ec7e..6a0408f98f13 100644
--- a/pkgs/applications/graphics/hugin/default.nix
+++ b/pkgs/applications/graphics/hugin/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , cmake
 , fetchurl
-, fetchpatch
 , gnumake
 , makeWrapper
 , pkg-config
@@ -38,21 +37,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hugin";
-  version = "2022.0.0";
+  version = "2023.0.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/hugin/hugin-${version}.tar.bz2";
-    hash = "sha256-l8hWKgupp0PguVWkPf3gSLHGDNnl8u4rad4agWRuBac=";
+    hash = "sha256-BKOfzMYBfgVExjm9IjCUcsV001s0Vcut4fw4cOYxYys=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "hugin-2022.0.0-exiv2-0.28.patch";
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/hugin/files/hugin-2022.0.0-exiv2-0.28.patch?id=d18335caa756f5e5c1478d5fe3ba17f011a78c80";
-      hash = "sha256-Y+79bFb926GW5oLOL0e5y7kLhqU/vZcry+kLL4H2fUE=";
-    })
-  ];
-
   buildInputs = [
     boost
     cairo
diff --git a/pkgs/applications/graphics/image_optim/default.nix b/pkgs/applications/graphics/image_optim/default.nix
index 94b16d57467d..1d9048cafaa6 100644
--- a/pkgs/applications/graphics/image_optim/default.nix
+++ b/pkgs/applications/graphics/image_optim/default.nix
@@ -71,5 +71,6 @@ bundlerApp {
     license = licenses.mit;
     maintainers = with maintainers; [ srghma nicknovitski ];
     platforms = platforms.all;
+    mainProgram = "image_optim";
   };
 }
diff --git a/pkgs/applications/graphics/imagej/default.nix b/pkgs/applications/graphics/imagej/default.nix
index 35c8dbf2f19a..b6396c231b19 100644
--- a/pkgs/applications/graphics/imagej/default.nix
+++ b/pkgs/applications/graphics/imagej/default.nix
@@ -78,5 +78,6 @@ in stdenv.mkDerivation rec {
     license = licenses.publicDomain;
     platforms = platforms.unix;
     maintainers = with maintainers; [ yuriaisaka ];
+    mainProgram = "imagej";
   };
 }
diff --git a/pkgs/applications/graphics/img-cat/default.nix b/pkgs/applications/graphics/img-cat/default.nix
index 825955c10b9e..414f4b2a3b33 100644
--- a/pkgs/applications/graphics/img-cat/default.nix
+++ b/pkgs/applications/graphics/img-cat/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/trashhalo/imgcat";
     license = licenses.mit;
     maintainers = with maintainers; [ penguwin ];
+    mainProgram = "imgcat";
   };
 }
diff --git a/pkgs/applications/graphics/imgcat/default.nix b/pkgs/applications/graphics/imgcat/default.nix
index 72167cb2b3fc..ab3d22531589 100644
--- a/pkgs/applications/graphics/imgcat/default.nix
+++ b/pkgs/applications/graphics/imgcat/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     maintainers = with maintainers; [ jwiegley ];
     platforms = platforms.unix;
+    mainProgram = "imgcat";
   };
 }
 
diff --git a/pkgs/applications/graphics/imlibsetroot/default.nix b/pkgs/applications/graphics/imlibsetroot/default.nix
index 110a7e513e32..a4059ccba28b 100644
--- a/pkgs/applications/graphics/imlibsetroot/default.nix
+++ b/pkgs/applications/graphics/imlibsetroot/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation {
     license = licenses.mitAdvertising;
     platforms = platforms.linux;
     maintainers = with maintainers; [ dwarfmaster ];
+    mainProgram = "imlibsetroot";
   };
 }
diff --git a/pkgs/applications/graphics/imv/default.nix b/pkgs/applications/graphics/imv/default.nix
index 044814c88a1c..f71b0362d2de 100644
--- a/pkgs/applications/graphics/imv/default.nix
+++ b/pkgs/applications/graphics/imv/default.nix
@@ -16,7 +16,8 @@
 , libxkbcommon
 , libGLU
 , wayland
-, withBackends ? [ "freeimage" "libtiff" "libjpeg" "libpng" "librsvg" "libnsgif" "libheif" ]
+# "libnsgif" is disabled until https://todo.sr.ht/~exec64/imv/55 is solved
+, withBackends ? [ "freeimage" "libtiff" "libjpeg" "libpng" "librsvg" "libheif" ]
 , freeimage
 , libtiff
 , libjpeg_turbo
diff --git a/pkgs/applications/graphics/jpeginfo/default.nix b/pkgs/applications/graphics/jpeginfo/default.nix
index 52f55a629f8a..c470082a2bb3 100644
--- a/pkgs/applications/graphics/jpeginfo/default.nix
+++ b/pkgs/applications/graphics/jpeginfo/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.bjornfor ];
     platforms = platforms.all;
+    mainProgram = "jpeginfo";
   };
 }
diff --git a/pkgs/applications/graphics/jpegoptim/default.nix b/pkgs/applications/graphics/jpegoptim/default.nix
index d8ec361600ea..dd5def2a5e30 100644
--- a/pkgs/applications/graphics/jpegoptim/default.nix
+++ b/pkgs/applications/graphics/jpegoptim/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.aristid ];
     platforms = platforms.all;
+    mainProgram = "jpegoptim";
   };
 }
diff --git a/pkgs/applications/graphics/komikku/default.nix b/pkgs/applications/graphics/komikku/default.nix
index 91c70aa02782..4a4b499ca4d0 100644
--- a/pkgs/applications/graphics/komikku/default.nix
+++ b/pkgs/applications/graphics/komikku/default.nix
@@ -19,7 +19,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "komikku";
-  version = "1.37.1";
+  version = "1.38.1";
 
   format = "other";
 
@@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "valos";
     repo = "Komikku";
     rev = "v${version}";
-    hash = "sha256-pGOut63+ST1Yqe1Fj0c4cI0du1q4JW7WVA4h+muWGJQ=";
+    hash = "sha256-eVNW8Iuhee9WBbiXP7ijvd0K44/IpwdrdiT4RkBNcxI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/lazpaint/default.nix b/pkgs/applications/graphics/lazpaint/default.nix
index d2d799dadaf6..1f6a9460a6a4 100644
--- a/pkgs/applications/graphics/lazpaint/default.nix
+++ b/pkgs/applications/graphics/lazpaint/default.nix
@@ -62,5 +62,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ];
+    mainProgram = "lazpaint";
   };
 }
diff --git a/pkgs/applications/graphics/lightburn/default.nix b/pkgs/applications/graphics/lightburn/default.nix
index c686ed41752a..f038304d32c7 100644
--- a/pkgs/applications/graphics/lightburn/default.nix
+++ b/pkgs/applications/graphics/lightburn/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.unfree;
     maintainers = with lib.maintainers; [ q3k ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "LightBurn";
   };
 }
diff --git a/pkgs/applications/graphics/litemdview/default.nix b/pkgs/applications/graphics/litemdview/default.nix
index ebd830868f6c..9fedae23069c 100644
--- a/pkgs/applications/graphics/litemdview/default.nix
+++ b/pkgs/applications/graphics/litemdview/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ WhiteBlackGoose ];
     platforms = platforms.linux;
+    mainProgram = "litemdview";
   };
 }
diff --git a/pkgs/applications/graphics/lorien/default.nix b/pkgs/applications/graphics/lorien/default.nix
index ad7442a93ccb..8105e3682b59 100644
--- a/pkgs/applications/graphics/lorien/default.nix
+++ b/pkgs/applications/graphics/lorien/default.nix
@@ -129,5 +129,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ hqurve ];
+    mainProgram = "lorien";
   };
 }
diff --git a/pkgs/applications/graphics/mandelbulber/default.nix b/pkgs/applications/graphics/mandelbulber/default.nix
index ca1ca5bf4cf2..68e88bdea28a 100644
--- a/pkgs/applications/graphics/mandelbulber/default.nix
+++ b/pkgs/applications/graphics/mandelbulber/default.nix
@@ -19,13 +19,13 @@ assert withOpenCL -> ocl-icd != null;
 
 mkDerivation rec {
   pname = "mandelbulber";
-  version = "2.31";
+  version = "2.31-1";
 
   src = fetchFromGitHub {
     owner = "buddhi1980";
     repo = "mandelbulber2";
     rev = version;
-    sha256 = "sha256-r3IuOdtBSrTK/pDChgq/M3yQkSz2R+FG6kvwjYPjR4A=";
+    sha256 = "sha256-nyIFvFe86C2ciBDSNWn1yrBYTCm1dR7sZ5RFGoTPqvQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/meh/default.nix b/pkgs/applications/graphics/meh/default.nix
index d23176c2518d..992a739bb377 100644
--- a/pkgs/applications/graphics/meh/default.nix
+++ b/pkgs/applications/graphics/meh/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation {
     homepage = "https://www.johnhawthorn.com/meh/";
     license = lib.licenses.mit;
     platforms = lib.platforms.linux;
+    mainProgram = "meh";
   };
 }
diff --git a/pkgs/applications/graphics/menyoki/default.nix b/pkgs/applications/graphics/menyoki/default.nix
index e1b7087cf73b..800ede30be42 100644
--- a/pkgs/applications/graphics/menyoki/default.nix
+++ b/pkgs/applications/graphics/menyoki/default.nix
@@ -50,5 +50,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/orhun/menyoki/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "menyoki";
   };
 }
diff --git a/pkgs/applications/graphics/minidjvu/default.nix b/pkgs/applications/graphics/minidjvu/default.nix
index 4a9b91d9c7b8..ca9e77391eb3 100644
--- a/pkgs/applications/graphics/minidjvu/default.nix
+++ b/pkgs/applications/graphics/minidjvu/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = [ lib.maintainers.viric ];
     platforms = lib.platforms.unix;
+    mainProgram = "minidjvu";
   };
 }
diff --git a/pkgs/applications/graphics/mtpaint/default.nix b/pkgs/applications/graphics/mtpaint/default.nix
index 740f9c7cb193..332acf25e498 100644
--- a/pkgs/applications/graphics/mtpaint/default.nix
+++ b/pkgs/applications/graphics/mtpaint/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.vklquevs ];
+    mainProgram = "mtpaint";
   };
 }
 
diff --git a/pkgs/applications/graphics/ocrad/default.nix b/pkgs/applications/graphics/ocrad/default.nix
index 476d56fb3fe3..8eae4fda5f8b 100644
--- a/pkgs/applications/graphics/ocrad/default.nix
+++ b/pkgs/applications/graphics/ocrad/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ pSub ];
     platforms = platforms.unix;
+    mainProgram = "ocrad";
   };
 }
diff --git a/pkgs/applications/graphics/oculante/default.nix b/pkgs/applications/graphics/oculante/default.nix
index e8a82a71aee4..eabeac36f70a 100644
--- a/pkgs/applications/graphics/oculante/default.nix
+++ b/pkgs/applications/graphics/oculante/default.nix
@@ -22,16 +22,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oculante";
-  version = "0.8.7";
+  version = "0.8.8";
 
   src = fetchFromGitHub {
     owner = "woelper";
     repo = "oculante";
     rev = version;
-    hash = "sha256-49reMm9woxekJUqHq7biHvlYii9BmLvq6u9RFkASpUw=";
+    hash = "sha256-LfMun9eG/76wqm2SADYIjWXOHbCl5yikkdK2FoavSWY=";
   };
 
-  cargoHash = "sha256-93J0/INcQEvu14pPZeLRfwKECeEGcsch9hUZ0IjYivM=";
+  cargoHash = "sha256-UALmfUD0+n4d/oYDgeX5mStOYw7QRftfCIE3AKezrQQ=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/applications/graphics/odafileconverter/default.nix b/pkgs/applications/graphics/odafileconverter/default.nix
index 3a089febc3df..ba1d5bdce073 100644
--- a/pkgs/applications/graphics/odafileconverter/default.nix
+++ b/pkgs/applications/graphics/odafileconverter/default.nix
@@ -50,5 +50,6 @@ in mkDerivation {
     license = licenses.unfree;
     maintainers = with maintainers; [ nagisa ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ODAFileConverter";
   };
 }
diff --git a/pkgs/applications/graphics/openboard/default.nix b/pkgs/applications/graphics/openboard/default.nix
index e32e66857313..9eacdc642ce5 100644
--- a/pkgs/applications/graphics/openboard/default.nix
+++ b/pkgs/applications/graphics/openboard/default.nix
@@ -114,5 +114,6 @@ in stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ fufexan ];
     platforms = platforms.linux;
+    mainProgram = "OpenBoard";
   };
 })
diff --git a/pkgs/applications/graphics/pdfcpu/default.nix b/pkgs/applications/graphics/pdfcpu/default.nix
index 9fdc77ac745f..6c15c55d3953 100644
--- a/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/pkgs/applications/graphics/pdfcpu/default.nix
@@ -64,5 +64,6 @@ buildGoModule rec {
     homepage = "https://pdfcpu.io";
     license = licenses.asl20;
     maintainers = with maintainers; [ doronbehar ];
+    mainProgram = "pdfcpu";
   };
 }
diff --git a/pkgs/applications/graphics/pixelnuke/default.nix b/pkgs/applications/graphics/pixelnuke/default.nix
index 0666501120e6..c40a41590b70 100644
--- a/pkgs/applications/graphics/pixelnuke/default.nix
+++ b/pkgs/applications/graphics/pixelnuke/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.unlicense;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mrVanDalo ];
+    mainProgram = "pixelnuke";
   };
 })
diff --git a/pkgs/applications/graphics/pixeluvo/default.nix b/pkgs/applications/graphics/pixeluvo/default.nix
index f3b40b515183..2c94b4645c56 100644
--- a/pkgs/applications/graphics/pixeluvo/default.nix
+++ b/pkgs/applications/graphics/pixeluvo/default.nix
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ wolfangaukang ];
+    mainProgram = "pixeluvo";
   };
 }
diff --git a/pkgs/applications/graphics/pqiv/default.nix b/pkgs/applications/graphics/pqiv/default.nix
index f678af706119..0c56dd70cbb8 100644
--- a/pkgs/applications/graphics/pqiv/default.nix
+++ b/pkgs/applications/graphics/pqiv/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation (rec {
     license = licenses.gpl3Plus;
     maintainers = [];
     platforms = platforms.linux;
+    mainProgram = "pqiv";
   };
 })
diff --git a/pkgs/applications/graphics/qiv/default.nix b/pkgs/applications/graphics/qiv/default.nix
index 96ec02294ffd..2758148dc1ae 100644
--- a/pkgs/applications/graphics/qiv/default.nix
+++ b/pkgs/applications/graphics/qiv/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation (rec {
     homepage = "http://spiegl.de/qiv/";
     license = licenses.gpl2;
     platforms = platforms.linux;
+    mainProgram = "qiv";
   };
 })
diff --git a/pkgs/applications/graphics/round/default.nix b/pkgs/applications/graphics/round/default.nix
index a41ecc8db73d..b65567dcab40 100644
--- a/pkgs/applications/graphics/round/default.nix
+++ b/pkgs/applications/graphics/round/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage    = "https://github.com/mingrammer/round";
     license     = licenses.mit;
     maintainers =  with maintainers; [ addict3d ];
+    mainProgram = "round";
   };
 }
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index d93423e07521..9eb1fbb28ee4 100644
--- a/pkgs/applications/graphics/shotwell/default.nix
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -11,7 +11,6 @@
 , libxml2
 , vala
 , sqlite
-, webkitgtk_4_1
 , pkg-config
 , gnome
 , gst_all_1
@@ -40,11 +39,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "shotwell";
-  version = "0.32.4";
+  version = "0.32.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/shotwell/${lib.versions.majorMinor finalAttrs.version}/shotwell-${finalAttrs.version}.tar.xz";
-    sha256 = "sha256-3iqUUIRtHOwUxqEDA3X9SeGvJNySCtZIA0QST5zLhW8=";
+    sha256 = "sha256-dZek/6yR4YzYFEsS8tCDE6P0Bbs2gkOnMmgm99kqcLY=";
   };
 
   nativeBuildInputs = [
@@ -67,7 +66,6 @@ stdenv.mkDerivation (finalAttrs: {
     libsoup_3
     libxml2
     sqlite
-    webkitgtk_4_1
     gst_all_1.gstreamer
     gst_all_1.gst-libav
     gst_all_1.gst-plugins-base
diff --git a/pkgs/applications/graphics/swingsane/default.nix b/pkgs/applications/graphics/swingsane/default.nix
index 6d2b6e4bb7a7..998c3d211031 100644
--- a/pkgs/applications/graphics/swingsane/default.nix
+++ b/pkgs/applications/graphics/swingsane/default.nix
@@ -58,5 +58,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.asl20;
     platforms = platforms.all;
+    mainProgram = "swingsane";
   };
 }
diff --git a/pkgs/applications/graphics/sxiv/default.nix b/pkgs/applications/graphics/sxiv/default.nix
index 65450d515668..f3d7086d4a09 100644
--- a/pkgs/applications/graphics/sxiv/default.nix
+++ b/pkgs/applications/graphics/sxiv/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.linux;
     maintainers = with maintainers; [ h7x4 ];
+    mainProgram = "sxiv";
   };
 }
diff --git a/pkgs/applications/graphics/tesseract/tesseract3.nix b/pkgs/applications/graphics/tesseract/tesseract3.nix
index bf19d0f77eb6..d796e506a877 100644
--- a/pkgs/applications/graphics/tesseract/tesseract3.nix
+++ b/pkgs/applications/graphics/tesseract/tesseract3.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ viric erikarvstedt ];
     platforms = with lib.platforms; linux ++ darwin;
+    mainProgram = "tesseract";
   };
 }
diff --git a/pkgs/applications/graphics/tesseract/tesseract4.nix b/pkgs/applications/graphics/tesseract/tesseract4.nix
index 5bd682988526..88cda12a9c5e 100644
--- a/pkgs/applications/graphics/tesseract/tesseract4.nix
+++ b/pkgs/applications/graphics/tesseract/tesseract4.nix
@@ -49,5 +49,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ viric erikarvstedt ];
     platforms = with lib.platforms; linux ++ darwin;
+    mainProgram = "tesseract";
   };
 }
diff --git a/pkgs/applications/graphics/unigine-superposition/default.nix b/pkgs/applications/graphics/unigine-superposition/default.nix
index bc8e128ba44a..07813cbc415e 100644
--- a/pkgs/applications/graphics/unigine-superposition/default.nix
+++ b/pkgs/applications/graphics/unigine-superposition/default.nix
@@ -143,5 +143,6 @@ buildFHSEnv {
     license = lib.licenses.unfree;
     maintainers = [ lib.maintainers.BarinovMaxim ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "Superposition";
   };
 }
diff --git a/pkgs/applications/graphics/upscayl/default.nix b/pkgs/applications/graphics/upscayl/default.nix
index 24b8bc1483b2..024c7f658c21 100644
--- a/pkgs/applications/graphics/upscayl/default.nix
+++ b/pkgs/applications/graphics/upscayl/default.nix
@@ -38,5 +38,6 @@ in
       maintainers = with maintainers; [icy-thought];
       license = licenses.agpl3Plus;
       platforms = platforms.linux;
+      mainProgram = "upscayl";
     };
   }
diff --git a/pkgs/applications/graphics/viewnior/default.nix b/pkgs/applications/graphics/viewnior/default.nix
index 7f90c815837a..bfd707f55132 100644
--- a/pkgs/applications/graphics/viewnior/default.nix
+++ b/pkgs/applications/graphics/viewnior/default.nix
@@ -58,5 +58,6 @@ stdenv.mkDerivation rec {
     homepage = "https://siyanpanayotov.com/project/viewnior/";
     maintainers = with maintainers; [ smironov artturin ];
     platforms = platforms.gnu ++ platforms.linux;
+    mainProgram = "viewnior";
   };
 }
diff --git a/pkgs/applications/graphics/vpv/default.nix b/pkgs/applications/graphics/vpv/default.nix
index 27957a5fa86f..1bbdbd4a35e7 100644
--- a/pkgs/applications/graphics/vpv/default.nix
+++ b/pkgs/applications/graphics/vpv/default.nix
@@ -59,5 +59,6 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = [ lib.maintainers.kidanger ];
     license = lib.licenses.gpl3;
     broken = stdenv.isDarwin; # the CMake expects the SDL2::SDL2main target for darwin
+    mainProgram = "vpv";
   };
 })
diff --git a/pkgs/applications/graphics/wings/default.nix b/pkgs/applications/graphics/wings/default.nix
index 094a483ae7b8..87e0a47cc5ae 100644
--- a/pkgs/applications/graphics/wings/default.nix
+++ b/pkgs/applications/graphics/wings/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.tcltk;
     maintainers = with lib.maintainers; [ viric ];
     platforms = with lib.platforms; linux;
+    mainProgram = "wings";
   };
 }
diff --git a/pkgs/applications/graphics/xfractint/default.nix b/pkgs/applications/graphics/xfractint/default.nix
index c43127bfa993..d4873dd92689 100644
--- a/pkgs/applications/graphics/xfractint/default.nix
+++ b/pkgs/applications/graphics/xfractint/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
     homepage = "https://www.fractint.net/";
+    mainProgram = "xfractint";
   };
 }
diff --git a/pkgs/applications/graphics/xmountains/default.nix b/pkgs/applications/graphics/xmountains/default.nix
index 61020e678c30..d7c70f18b5b6 100644
--- a/pkgs/applications/graphics/xmountains/default.nix
+++ b/pkgs/applications/graphics/xmountains/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage = "https://spbooth.github.io/xmountains";
     license = licenses.hpndSellVariant;
     maintainers = with maintainers; [ djanatyn ];
+    mainProgram = "xmountains";
   };
 }
diff --git a/pkgs/applications/graphics/xournal/default.nix b/pkgs/applications/graphics/xournal/default.nix
index 288f0446b34a..7f618b257387 100644
--- a/pkgs/applications/graphics/xournal/default.nix
+++ b/pkgs/applications/graphics/xournal/default.nix
@@ -59,5 +59,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.guibert ];
     license = licenses.gpl2;
     platforms = with platforms; linux ++ darwin;
+    mainProgram = "xournal";
   };
 }
diff --git a/pkgs/applications/graphics/xzgv/default.nix b/pkgs/applications/graphics/xzgv/default.nix
index d26f6eccf76a..1617b6459d33 100644
--- a/pkgs/applications/graphics/xzgv/default.nix
+++ b/pkgs/applications/graphics/xzgv/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.womfoo ];
     platforms = platforms.linux;
+    mainProgram = "xzgv";
   };
 }
diff --git a/pkgs/applications/graphics/yed/default.nix b/pkgs/applications/graphics/yed/default.nix
index ccb6b087215a..4e70c9d37aba 100644
--- a/pkgs/applications/graphics/yed/default.nix
+++ b/pkgs/applications/graphics/yed/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     description = "A powerful desktop application that can be used to quickly and effectively generate high-quality diagrams";
     platforms = jre.meta.platforms;
     maintainers = with maintainers; [ abbradar ];
+    mainProgram = "yed";
   };
 }
diff --git a/pkgs/applications/graphics/yeetgif/default.nix b/pkgs/applications/graphics/yeetgif/default.nix
index d464b56cb265..6e3b7ecee39f 100644
--- a/pkgs/applications/graphics/yeetgif/default.nix
+++ b/pkgs/applications/graphics/yeetgif/default.nix
@@ -29,5 +29,6 @@ buildGoModule rec {
     homepage = "https://github.com/sgreben/yeetgif";
     license = with licenses; [ mit asl20 cc-by-nc-sa-40 ];
     maintainers = with maintainers; [ ajs124 ];
+    mainProgram = "gif";
   };
 }
diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix
index cf0dd52ee73c..980e631ad41f 100644
--- a/pkgs/applications/graphics/zgrviewer/default.nix
+++ b/pkgs/applications/graphics/zgrviewer/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.lgpl21Plus;
     description = "GraphViz graph viewer/navigator";
     platforms = with lib.platforms; unix;
+    mainProgram = "zgrviewer";
   };
 }
diff --git a/pkgs/applications/graphics/zgv/default.nix b/pkgs/applications/graphics/zgv/default.nix
index a4e5e725490f..0b63f4673190 100644
--- a/pkgs/applications/graphics/zgv/default.nix
+++ b/pkgs/applications/graphics/zgv/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.vrthra ];
     platforms = platforms.linux;
+    mainProgram = "zgv";
   };
 }
diff --git a/pkgs/applications/kde/angelfish.nix b/pkgs/applications/kde/angelfish.nix
index 6983d3eb14a5..1bd6084a1883 100644
--- a/pkgs/applications/kde/angelfish.nix
+++ b/pkgs/applications/kde/angelfish.nix
@@ -24,7 +24,7 @@
 , srcs
 
 # provided as callPackage input to enable easier overrides through overlays
-, cargoSha256 ? "sha256-EXsAvI8dKgCGmLbGr9fdk/F9UwtSfd/aIyqAy5tvFSI="
+, cargoSha256 ? "sha256-PSrTo7nGgH0KxA82RlBEwtOu80WMCBeaCxHj3n7SgEE="
 }:
 
 mkDerivation rec {
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index 2d6455fad777..de4f09e09a0c 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/release-service/23.08.4/src -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/release-service/23.08.5/src -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/itinerary.nix b/pkgs/applications/kde/itinerary.nix
index c08aa346cde0..7ac03f0800ff 100644
--- a/pkgs/applications/kde/itinerary.nix
+++ b/pkgs/applications/kde/itinerary.nix
@@ -19,6 +19,7 @@
 , kunitconversion
 , libquotient
 , networkmanager-qt
+, prison
 , qqc2-desktop-style
 , qtpositioning
 , qtquickcontrols2
@@ -53,6 +54,7 @@ mkDerivation {
     kunitconversion
     libquotient
     networkmanager-qt
+    prison
     qqc2-desktop-style
     qtpositioning
     qtquickcontrols2
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index c88723d9c909..af83cc951be8 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -4,1955 +4,1955 @@
 
 {
   akonadi = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-23.08.4.tar.xz";
-      sha256 = "0dj9xn0bpcq409kfd61zh5wdhbh4yrlviwhlmxawrm1mx5r07yv3";
-      name = "akonadi-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-23.08.5.tar.xz";
+      sha256 = "0f2gkifli8aslcrcqclai6kv9vrimmsj2afp378nljh8q4ldpnxb";
+      name = "akonadi-23.08.5.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-calendar-23.08.4.tar.xz";
-      sha256 = "0xayrqrragk1vp0rsghdpx482c3f23iri0rd70v86393qdhb59mq";
-      name = "akonadi-calendar-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-calendar-23.08.5.tar.xz";
+      sha256 = "1jirjckcix5ny3dqqk7qf1089kwfvzibk2jaxr437v8jji0ak3fg";
+      name = "akonadi-calendar-23.08.5.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-calendar-tools-23.08.4.tar.xz";
-      sha256 = "17s24ijhk68dw7ailk992a7xkdjl6dj5nwr06zlvdhskxx9z3xrc";
-      name = "akonadi-calendar-tools-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-calendar-tools-23.08.5.tar.xz";
+      sha256 = "1al0b11cln9axh3fhv4hlns73v7z36yq24z1v8i6ka4n81445fw3";
+      name = "akonadi-calendar-tools-23.08.5.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-contacts-23.08.4.tar.xz";
-      sha256 = "1nxm1lwk6jazfv684gb4w1y9r8xaj0y14xvsslljf018l20wqr4q";
-      name = "akonadi-contacts-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-contacts-23.08.5.tar.xz";
+      sha256 = "0la2rxcngxffm7pz6xmmv3zv2qzand88194q8c3xpnxlddyb7977";
+      name = "akonadi-contacts-23.08.5.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-import-wizard-23.08.4.tar.xz";
-      sha256 = "08pk36hw9v9bs8scgxzbwlhlcyikbcliybp1p6ga2j7p8mjm6fg2";
-      name = "akonadi-import-wizard-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-import-wizard-23.08.5.tar.xz";
+      sha256 = "19jdk7bcb0cyd28lwzfm1nyzsvh9wm664c27mhfadsin0jy9dj9w";
+      name = "akonadi-import-wizard-23.08.5.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-mime-23.08.4.tar.xz";
-      sha256 = "1bzsddyr784a4dw1fqp57xp8az6dysqy7xmfygm5r5bbbdnlxdpb";
-      name = "akonadi-mime-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-mime-23.08.5.tar.xz";
+      sha256 = "0cy8wl6r9arzy6zb4mmzy7nxy7j647kklrwms43q3zkkxacyah7x";
+      name = "akonadi-mime-23.08.5.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-notes-23.08.4.tar.xz";
-      sha256 = "0vlcbb783jj3zx8nsrd0r7si28463rsd2xcxb3z5m4il8xmr0smh";
-      name = "akonadi-notes-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-notes-23.08.5.tar.xz";
+      sha256 = "13l3wnmbips201xpa8wk7gj35m4fnw1aqd8js15sinc7r768wfpy";
+      name = "akonadi-notes-23.08.5.tar.xz";
     };
   };
   akonadi-search = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-search-23.08.4.tar.xz";
-      sha256 = "0ipwxa0xv8bwvx9ngpq2i3ivq0s97m0x2kj4n4dw4sil31x2yzq5";
-      name = "akonadi-search-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-search-23.08.5.tar.xz";
+      sha256 = "1d5dh5jn1a7l1w0ab0vabrcbhj3sy18g9ya9p50agvk8fh5ka8gg";
+      name = "akonadi-search-23.08.5.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadiconsole-23.08.4.tar.xz";
-      sha256 = "1xnvrpd7xy2cz6m8x41lki3gnvfq74gvi9vlyfpf9v85z4ri6jhv";
-      name = "akonadiconsole-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadiconsole-23.08.5.tar.xz";
+      sha256 = "171apc4vdwlg4904am5cnb3rcsv4f9bfcpk4y46ki0dvi3x4vj31";
+      name = "akonadiconsole-23.08.5.tar.xz";
     };
   };
   akregator = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akregator-23.08.4.tar.xz";
-      sha256 = "1psgzcw84xnh7xgi1s1yxk41sndshy8j1mvvz42gasrpqdfzrpjv";
-      name = "akregator-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akregator-23.08.5.tar.xz";
+      sha256 = "12q2d3w4jk6mzglabzx8djmsd6y5b5bfx02gnncgpm2n5a3iydsj";
+      name = "akregator-23.08.5.tar.xz";
     };
   };
   alligator = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/alligator-23.08.4.tar.xz";
-      sha256 = "0g8ps4vkrc1wdprand6y8h99zh4flhg4mcqn1552nk5p3kcyvzh1";
-      name = "alligator-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/alligator-23.08.5.tar.xz";
+      sha256 = "17h0h2gl3ybawnnlj1v1mz7izb6vj3rkan3fkdvjb1w63fm7pgaa";
+      name = "alligator-23.08.5.tar.xz";
     };
   };
   analitza = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/analitza-23.08.4.tar.xz";
-      sha256 = "0d0qaz08xaiy1whg9vgd4316fvzfhm1wnmy17b83p8ihd80p8agk";
-      name = "analitza-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/analitza-23.08.5.tar.xz";
+      sha256 = "1h06nr5fclkp6f98pdw45ibn03bv29js294czi0y7n3w729kxzs6";
+      name = "analitza-23.08.5.tar.xz";
     };
   };
   angelfish = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/angelfish-23.08.4.tar.xz";
-      sha256 = "1nggkgwkvgczpn3aq8isphzhykjihdd8a6nfrghfnsbfjmnz1y7s";
-      name = "angelfish-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/angelfish-23.08.5.tar.xz";
+      sha256 = "0rpc4kqvmxmx393vbj92303phzf72k5djgy1c6fmmbx87myj2aic";
+      name = "angelfish-23.08.5.tar.xz";
     };
   };
   arianna = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/arianna-23.08.4.tar.xz";
-      sha256 = "04rj2p1s75na1yac4swlanqh6ijsn4d4wy5vn0f0lkgbbd9pgc0z";
-      name = "arianna-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/arianna-23.08.5.tar.xz";
+      sha256 = "0rf3538940zxkgfsi34zha0k0k1895dj9sbl86kr0bsqjsjvpzgg";
+      name = "arianna-23.08.5.tar.xz";
     };
   };
   ark = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ark-23.08.4.tar.xz";
-      sha256 = "17makvdjycjxxykmxm0kw3amdwp55296zvhrqs3a4fwbg352c912";
-      name = "ark-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ark-23.08.5.tar.xz";
+      sha256 = "1sygmsbrd6ps8zjy29n7nsfilij3737x50qld49m3qnlw9jcb0b0";
+      name = "ark-23.08.5.tar.xz";
     };
   };
   artikulate = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/artikulate-23.08.4.tar.xz";
-      sha256 = "1vxd0k30qviz1qp2308dp3d4627dfvl86114d9x2xlwgyf78mmfw";
-      name = "artikulate-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/artikulate-23.08.5.tar.xz";
+      sha256 = "18bb67l0hklmyaxciwpfd92n4xyqlmr6qismf7kzsksjv2k9n2d7";
+      name = "artikulate-23.08.5.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/audiocd-kio-23.08.4.tar.xz";
-      sha256 = "011g4g5c5mbhdiqsc9rl8wsjvcbyxn4ikmiz0jcn7v7rjg91z7zc";
-      name = "audiocd-kio-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/audiocd-kio-23.08.5.tar.xz";
+      sha256 = "1ir383qwfcabdc0x3203x60k6vpkzcjmay5dk6vk4ra5hglvrj2m";
+      name = "audiocd-kio-23.08.5.tar.xz";
     };
   };
   audiotube = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/audiotube-23.08.4.tar.xz";
-      sha256 = "1jbnwk16awsqg08xarx1gpxix0fjy1jfifhpvd6gww70p6m6d1kr";
-      name = "audiotube-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/audiotube-23.08.5.tar.xz";
+      sha256 = "06bx8bsz784z19937vf723dylpfk7xah2w0p4c1vhv47mznqn991";
+      name = "audiotube-23.08.5.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/baloo-widgets-23.08.4.tar.xz";
-      sha256 = "0mqnfavcickq07kz2xiq1j1mn4prv7jhhfbl635zg4s95anz6f7y";
-      name = "baloo-widgets-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/baloo-widgets-23.08.5.tar.xz";
+      sha256 = "1m1q77qagyiv9bnnsyzwi6mh48slwdgb725k1awkisyzfiznq6a9";
+      name = "baloo-widgets-23.08.5.tar.xz";
     };
   };
   blinken = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/blinken-23.08.4.tar.xz";
-      sha256 = "0g85bzm4nx4jialscjxva6438s6q24pr4cbqs52q1c3hkh90qn26";
-      name = "blinken-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/blinken-23.08.5.tar.xz";
+      sha256 = "1im3gci81bdh3il0fyf9d2pxdkdcp1pkn9ib5z8isyy9ffclpl2a";
+      name = "blinken-23.08.5.tar.xz";
     };
   };
   bomber = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/bomber-23.08.4.tar.xz";
-      sha256 = "0zj31z3zkgv34x42378v5l7gcq5k530x2adpi476zxmx0nwmwsmk";
-      name = "bomber-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/bomber-23.08.5.tar.xz";
+      sha256 = "12mk93y3y006n6rm4p1n9xcx6wq84rnxgjc9rnvf46hg99fb37kn";
+      name = "bomber-23.08.5.tar.xz";
     };
   };
   bovo = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/bovo-23.08.4.tar.xz";
-      sha256 = "1kk0vkd6vrlnrhxrkdacxvm60rqm5j0rkwm1vnssg6j90405wq22";
-      name = "bovo-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/bovo-23.08.5.tar.xz";
+      sha256 = "0jqy3yjq9qjl52bcph3pycslqs7rbw40axzmznr4h4wzj36b6yfv";
+      name = "bovo-23.08.5.tar.xz";
     };
   };
   calendarsupport = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/calendarsupport-23.08.4.tar.xz";
-      sha256 = "1r018kcxk90ykwvf7bw6lammx2kkzz6jnqp8fl2cfj36pfc84w3w";
-      name = "calendarsupport-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/calendarsupport-23.08.5.tar.xz";
+      sha256 = "1wrydz0nn6k9f8vwcfcsd95dc9b0y5y6xycwaynmsl8rgskmryk5";
+      name = "calendarsupport-23.08.5.tar.xz";
     };
   };
   calindori = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/calindori-23.08.4.tar.xz";
-      sha256 = "1sjxjmpc69l26635wg28cmbif2z3jszanmzgpc93s39fgi47mw97";
-      name = "calindori-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/calindori-23.08.5.tar.xz";
+      sha256 = "03ls91vr495i3qxs49whl4ks7sx8frnfqw4prs9nxpx9gjysn13a";
+      name = "calindori-23.08.5.tar.xz";
     };
   };
   cantor = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/cantor-23.08.4.tar.xz";
-      sha256 = "01nihsmjfmiipzh7371a7msb3gc0fiw6wh4a2g800c380nvd4ix9";
-      name = "cantor-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/cantor-23.08.5.tar.xz";
+      sha256 = "07fq3zfcd3hxgi1pa6ma7gw852ry4x9fzj1yy7a2bk2lz2b0p5mz";
+      name = "cantor-23.08.5.tar.xz";
     };
   };
   cervisia = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/cervisia-23.08.4.tar.xz";
-      sha256 = "1mlydja8652rk9jg2gz3xzsj09kmgwb6miq9fyifv8p024ml9gj1";
-      name = "cervisia-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/cervisia-23.08.5.tar.xz";
+      sha256 = "07vzn6g87m737nbxb8qqsds3bc5spkn9z060jjwyzdpjj3sld2b0";
+      name = "cervisia-23.08.5.tar.xz";
     };
   };
   colord-kde = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/colord-kde-23.08.4.tar.xz";
-      sha256 = "1a3lx7ahjcl05jkbril7lx6x12qfmh7w7kxm2gplfhfnii9hvmxv";
-      name = "colord-kde-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/colord-kde-23.08.5.tar.xz";
+      sha256 = "1f80dqax0wk4g94140qd0lij2vf9083kbsdl7hkc19ric6y2fss6";
+      name = "colord-kde-23.08.5.tar.xz";
     };
   };
   dolphin = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/dolphin-23.08.4.tar.xz";
-      sha256 = "11c5i2bm33cm84kww4p5jmi64pmfxafjrzri06vl8cwg05w0nqva";
-      name = "dolphin-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/dolphin-23.08.5.tar.xz";
+      sha256 = "1wziw71xyjz2457hb5l8f9sg5l4f340z341pd87qkzkdavdan2b3";
+      name = "dolphin-23.08.5.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/dolphin-plugins-23.08.4.tar.xz";
-      sha256 = "1m1kmdgx6isyff4i9nj6mv16lsg08rzivd0p42avj1pm17giyhcw";
-      name = "dolphin-plugins-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/dolphin-plugins-23.08.5.tar.xz";
+      sha256 = "0pf0ddg8dz8l959yd6sig54411gylp8il1wjpfr7ihcd8zm8wi1g";
+      name = "dolphin-plugins-23.08.5.tar.xz";
     };
   };
   dragon = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/dragon-23.08.4.tar.xz";
-      sha256 = "1h5c29fkarqcbbhirj9q88v5spsp1l4hkjs0akp21j212b309dd5";
-      name = "dragon-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/dragon-23.08.5.tar.xz";
+      sha256 = "0w8ml7087z4vikp92mh6cm2mzxp4zjk0cr8mxzvap745vbxj21j1";
+      name = "dragon-23.08.5.tar.xz";
     };
   };
   elisa = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/elisa-23.08.4.tar.xz";
-      sha256 = "0hsikp4ya26gq0v1f259mbwahl5rv1lfjj3cwh579rwabk8vpj5a";
-      name = "elisa-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/elisa-23.08.5.tar.xz";
+      sha256 = "1hml0bmp1cfqc9x9q2a1lz2f6ab7ygblf6xz0qlwjxripvqw8b47";
+      name = "elisa-23.08.5.tar.xz";
     };
   };
   eventviews = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/eventviews-23.08.4.tar.xz";
-      sha256 = "0zl527fzz9brhk0gqvgfnzmqhqc3phxg97nafadvasrj8fz8nv9h";
-      name = "eventviews-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/eventviews-23.08.5.tar.xz";
+      sha256 = "06qwmzxayfxsyzmg90j1xycvfs6ynyggvk0xkrf7gfp682ckba99";
+      name = "eventviews-23.08.5.tar.xz";
     };
   };
   falkon = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/falkon-23.08.4.tar.xz";
-      sha256 = "0qvd53klxfmfm4b3apwvywwzi1k9qv6c2wyljz0cziycd2vq917h";
-      name = "falkon-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/falkon-23.08.5.tar.xz";
+      sha256 = "0xxhhdqlxfs97qphfpkb8gfmsi1gk3cbpd2y4rj0zrd668a5y2l0";
+      name = "falkon-23.08.5.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ffmpegthumbs-23.08.4.tar.xz";
-      sha256 = "0jv8fy68fwikn3vlf4hxvnyqv1a1hs18zdj2ds112ymlmw846bsh";
-      name = "ffmpegthumbs-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ffmpegthumbs-23.08.5.tar.xz";
+      sha256 = "1pz5bc52z5lkydl1w9c6bhvbdjn07p3r4qgx36xl3wfc5zi3rn6s";
+      name = "ffmpegthumbs-23.08.5.tar.xz";
     };
   };
   filelight = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/filelight-23.08.4.tar.xz";
-      sha256 = "1irn8kbbka1p9dzh9yl87fc7gz9486bq3wxbiw4gh11pkrm246dg";
-      name = "filelight-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/filelight-23.08.5.tar.xz";
+      sha256 = "08kmy39r6l6akkkl00snjvw5zf5115gc5czf1m5xr189zjp4vz5p";
+      name = "filelight-23.08.5.tar.xz";
     };
   };
   ghostwriter = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ghostwriter-23.08.4.tar.xz";
-      sha256 = "0w8cjrvsibhp7q4b2wqhi5pmbvir6p1z283k3pq6qhl72fg9cpd8";
-      name = "ghostwriter-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ghostwriter-23.08.5.tar.xz";
+      sha256 = "1nfhnjf627p3qgfamy1nb09dvqavv0qh5cs6czpy4ghz8i4mddx0";
+      name = "ghostwriter-23.08.5.tar.xz";
     };
   };
   granatier = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/granatier-23.08.4.tar.xz";
-      sha256 = "1n6x7nlrxdlj54rwbdv440sf6g5a56mnhlsf5x54z97il3jrvxxm";
-      name = "granatier-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/granatier-23.08.5.tar.xz";
+      sha256 = "1vi9cws499g9962k4hyjzl13sbsrga0qyjqdp9i0v5pr3mi4l1zh";
+      name = "granatier-23.08.5.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/grantlee-editor-23.08.4.tar.xz";
-      sha256 = "0aczzf4bgg9gsh83nzifia2vrmk5xr3y0nxsw0dk061s1g1d04yc";
-      name = "grantlee-editor-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/grantlee-editor-23.08.5.tar.xz";
+      sha256 = "130a57bmg6ydcj0jn21i39ilf61prsisz2f2lw9gcq5g1s2xbk9j";
+      name = "grantlee-editor-23.08.5.tar.xz";
     };
   };
   grantleetheme = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/grantleetheme-23.08.4.tar.xz";
-      sha256 = "0bf3llh7y9n7wlgmpb9ydpm4grfhcwgf7nsjz0c84mkgv1a9876q";
-      name = "grantleetheme-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/grantleetheme-23.08.5.tar.xz";
+      sha256 = "1xa2y8zxn6s9hvs6nsf2bzkifg1xcdk9mz7r2pj2h3gvl2rq2qv8";
+      name = "grantleetheme-23.08.5.tar.xz";
     };
   };
   gwenview = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/gwenview-23.08.4.tar.xz";
-      sha256 = "01ddradjrcamkpjzskyiwm53i1iisk9y5v2vjffhgmvldjkrnm28";
-      name = "gwenview-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/gwenview-23.08.5.tar.xz";
+      sha256 = "0f4h2vf8nkz1jcrxw98n52divvdmxh434659m1pd4l5pag0d3z54";
+      name = "gwenview-23.08.5.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/incidenceeditor-23.08.4.tar.xz";
-      sha256 = "0d8y9fvmr1mbi6virz9vsiaz4vhy5v74ngilmy3s488s99mhbm4f";
-      name = "incidenceeditor-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/incidenceeditor-23.08.5.tar.xz";
+      sha256 = "153kh0syw4v67sfjfhq45s34mlsz6lz96mvmfrl9lm9dn5bwyq6z";
+      name = "incidenceeditor-23.08.5.tar.xz";
     };
   };
   itinerary = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/itinerary-23.08.4.tar.xz";
-      sha256 = "0jdb2m35r20bc8w2iq5xdjzfmdvaw0di4sp6wxl8vhcj0py1ryhw";
-      name = "itinerary-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/itinerary-23.08.5.tar.xz";
+      sha256 = "19r7k64a4dalarxm7j2jf2p86cnxqxah0iqj68ibazhl1sdqrqs2";
+      name = "itinerary-23.08.5.tar.xz";
     };
   };
   juk = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/juk-23.08.4.tar.xz";
-      sha256 = "1ar9418j11sy213nis0i0l4nabqcrbxck7rzkn961cvaflw22par";
-      name = "juk-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/juk-23.08.5.tar.xz";
+      sha256 = "0wddl5sp2sbi8c8vxrqikipv2d6b65w28nxzsinz703cliyjcx67";
+      name = "juk-23.08.5.tar.xz";
     };
   };
   k3b = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/k3b-23.08.4.tar.xz";
-      sha256 = "096bv6jphlq3ch32q30d6h9qg5q8iphhkdpgb4hgmgz8pp2qgsrh";
-      name = "k3b-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/k3b-23.08.5.tar.xz";
+      sha256 = "16ihb7xnzjbcywfki6vx932m3wi691n70ribzl85fl688n5m32f7";
+      name = "k3b-23.08.5.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kaccounts-integration-23.08.4.tar.xz";
-      sha256 = "0ln9f46kbhy7xpbvbbiv3i0kav0w5siqdbhj3s951a6c0mj1dv3v";
-      name = "kaccounts-integration-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kaccounts-integration-23.08.5.tar.xz";
+      sha256 = "1f99s7hiix1ccp8zz2z6vb1xf13ffpaan6sqqz4xz1y3jmaf4bn0";
+      name = "kaccounts-integration-23.08.5.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kaccounts-providers-23.08.4.tar.xz";
-      sha256 = "11cg52vh6bapim4g2s1h7ds59kffrsidq5xg0w3cn9aqhh8hpi89";
-      name = "kaccounts-providers-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kaccounts-providers-23.08.5.tar.xz";
+      sha256 = "1ig5k4aalqcq6jjj0y6kg914zj2a0bc3pvws6kjhcyc1kq1q0g88";
+      name = "kaccounts-providers-23.08.5.tar.xz";
     };
   };
   kaddressbook = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kaddressbook-23.08.4.tar.xz";
-      sha256 = "11j2a10xc0hmdmsqc6zqv2bjqj5msf3lqk5qq3dkkcgnwipr4v0d";
-      name = "kaddressbook-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kaddressbook-23.08.5.tar.xz";
+      sha256 = "08lbkbscqaa5ir7knby457zi0ig79280rcan1fak7gapvpipwhd8";
+      name = "kaddressbook-23.08.5.tar.xz";
     };
   };
   kajongg = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kajongg-23.08.4.tar.xz";
-      sha256 = "0nlhh99nsndjd3gzc95dfmn1gzxnq8gg2l9m1mm90hnp4d655jbm";
-      name = "kajongg-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kajongg-23.08.5.tar.xz";
+      sha256 = "05ji28lld3y80smj6krwrv5hb74j4wchv65b2q046snk5i5hlf0p";
+      name = "kajongg-23.08.5.tar.xz";
     };
   };
   kalarm = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kalarm-23.08.4.tar.xz";
-      sha256 = "0vhjx29i5ikk427md3i8kcf9s6q150hi01gsb64y5lx8jk2hpci1";
-      name = "kalarm-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kalarm-23.08.5.tar.xz";
+      sha256 = "1g85pm0l5wjd1hp10klsz8prnic9g7jcbp56a1wkf0f25pzg1pq9";
+      name = "kalarm-23.08.5.tar.xz";
     };
   };
   kalgebra = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kalgebra-23.08.4.tar.xz";
-      sha256 = "04wx0ai2xsq8br7hpvm2hcdf5fg0c982bshqsrbxvj1dhrb4mmwd";
-      name = "kalgebra-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kalgebra-23.08.5.tar.xz";
+      sha256 = "0fjkx5m34qwgad9amjbgql4awbl8irqhfyrfrxjpwp773lhifbq4";
+      name = "kalgebra-23.08.5.tar.xz";
     };
   };
   kalk = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kalk-23.08.4.tar.xz";
-      sha256 = "1ngckrp6lsgb6cnp2d6fca0ywqddwacmr9ac4w6zfzyfjpiyxmic";
-      name = "kalk-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kalk-23.08.5.tar.xz";
+      sha256 = "1q4p6f4xrd73iqw1dqk2z65sly123dh9gwvi07i71dk49r9ykrfr";
+      name = "kalk-23.08.5.tar.xz";
     };
   };
   kalzium = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kalzium-23.08.4.tar.xz";
-      sha256 = "0gkvschn9la909907xa52hkp55rnbjm3rhrb6gjj07xxf1qrq358";
-      name = "kalzium-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kalzium-23.08.5.tar.xz";
+      sha256 = "1134q2z6vx8p244grk8szxnlw942ry50a72j2qfyf96ksrs5bz4v";
+      name = "kalzium-23.08.5.tar.xz";
     };
   };
   kamera = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kamera-23.08.4.tar.xz";
-      sha256 = "148pa22gmcb87hp9mxwchc32zjrc7j0n60np5g46h4czjmcppsca";
-      name = "kamera-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kamera-23.08.5.tar.xz";
+      sha256 = "1chddpy4larjavd2c2blzxk23kay7hbpsm06fxfa052344qqd5j6";
+      name = "kamera-23.08.5.tar.xz";
     };
   };
   kamoso = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kamoso-23.08.4.tar.xz";
-      sha256 = "0ravp92i6q5cn4n6w89991yckjgjp6asm4bsnhnl434gv3q8dj6f";
-      name = "kamoso-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kamoso-23.08.5.tar.xz";
+      sha256 = "00cdy2yyaw3p6vv0hg4zgc70yyggy6v6yzp97m8c21i9v8w4bk44";
+      name = "kamoso-23.08.5.tar.xz";
     };
   };
   kanagram = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kanagram-23.08.4.tar.xz";
-      sha256 = "0whnpy0yib7gdy8fj9gk21vs7q3lgr0il6ghzzykjq8s65xav4mm";
-      name = "kanagram-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kanagram-23.08.5.tar.xz";
+      sha256 = "0163sja60kysny0zbq76q438hxfmv2a9hxrbzhqsniy38w5zr44j";
+      name = "kanagram-23.08.5.tar.xz";
     };
   };
   kapman = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kapman-23.08.4.tar.xz";
-      sha256 = "0cyp29nw0cgri2yw0rsc7y5bg37df331s8m1xajsaq2i2f15yk0y";
-      name = "kapman-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kapman-23.08.5.tar.xz";
+      sha256 = "1rx1rrka76r4y5d71kxin8zb8b4xgfndf8g5875ygfij0l05yxg3";
+      name = "kapman-23.08.5.tar.xz";
     };
   };
   kapptemplate = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kapptemplate-23.08.4.tar.xz";
-      sha256 = "1g7r8fj2jyisk1f1fv7q9bfmmhz08xmbs9wx3xk67ijkmzbpszyx";
-      name = "kapptemplate-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kapptemplate-23.08.5.tar.xz";
+      sha256 = "0lan9219l29vdg974cpnchndwsl9g59w13kdkz8hmcb1fycxcy4v";
+      name = "kapptemplate-23.08.5.tar.xz";
     };
   };
   kasts = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kasts-23.08.4.tar.xz";
-      sha256 = "18vj02zdzi01r004jv8hpkmgjm0m74kypdsk8xcvw54vqzb5krmi";
-      name = "kasts-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kasts-23.08.5.tar.xz";
+      sha256 = "1n5n2rlfsp4fn34xsmcsvmacgy3h88md5aynsxaw8hf8mhl7hrwh";
+      name = "kasts-23.08.5.tar.xz";
     };
   };
   kate = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kate-23.08.4.tar.xz";
-      sha256 = "18pvnfzd09ffxrz5g0whd7m342x14zpm0xmic4n7zxh5namaqzr9";
-      name = "kate-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kate-23.08.5.tar.xz";
+      sha256 = "0dsfiwd0v0chmcc0v2s193fdyals4ijpnq0bcssd9axjqkcljg38";
+      name = "kate-23.08.5.tar.xz";
     };
   };
   katomic = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/katomic-23.08.4.tar.xz";
-      sha256 = "1vksy7qpc12r1y6ss42lqbxqigzbvlvlkggcs2jx399bafs6kf0l";
-      name = "katomic-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/katomic-23.08.5.tar.xz";
+      sha256 = "0hmc873kydzgrz0shz53qaii5bqm4rwh2c12w1d9xrml38yxpchd";
+      name = "katomic-23.08.5.tar.xz";
     };
   };
   kbackup = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kbackup-23.08.4.tar.xz";
-      sha256 = "12sdg1c3bzyd25vf7z4d9a4z13hjhv7hhdzy9nq2w6v4qmkp28z9";
-      name = "kbackup-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kbackup-23.08.5.tar.xz";
+      sha256 = "0pxyqvn2m9q6qh77156vx7spjj53a4shn3sqqyvlqv7acxd4sv51";
+      name = "kbackup-23.08.5.tar.xz";
     };
   };
   kblackbox = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kblackbox-23.08.4.tar.xz";
-      sha256 = "0c7bzkib99xx3gqah4j463rdvl39aq7nxh4wda0glik28s9w21kg";
-      name = "kblackbox-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kblackbox-23.08.5.tar.xz";
+      sha256 = "0n918g1146fpi2h86sphaxjqpad3ff9mawkh8wzr9jqb91bjw200";
+      name = "kblackbox-23.08.5.tar.xz";
     };
   };
   kblocks = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kblocks-23.08.4.tar.xz";
-      sha256 = "0slpkdkwcffq71l4r5vsd0fh73y90zwxfyp0lm69n99p9ni8gjzq";
-      name = "kblocks-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kblocks-23.08.5.tar.xz";
+      sha256 = "09xadysjcxpkab805a4hdg9qsp9wv1jkbrmmy4dmbghv7rl9fjcg";
+      name = "kblocks-23.08.5.tar.xz";
     };
   };
   kbounce = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kbounce-23.08.4.tar.xz";
-      sha256 = "0lp4cgjrm80355w4xa15ji91z5dsd55m43fhg8zw5yn6kp2hi2mg";
-      name = "kbounce-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kbounce-23.08.5.tar.xz";
+      sha256 = "1yxcy10bkz3wj48dys9ag4nm2r7acn7syfj76ss508mdysxw00gi";
+      name = "kbounce-23.08.5.tar.xz";
     };
   };
   kbreakout = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kbreakout-23.08.4.tar.xz";
-      sha256 = "0czgfk93xhy9yhc84x2rdbf54dgyqjlhm71vfi5cs8858nacbwk5";
-      name = "kbreakout-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kbreakout-23.08.5.tar.xz";
+      sha256 = "0j5gcqvbpr9973bkzxsl0pcic4rbc3x5f9ry20cqb3z311mkhbyh";
+      name = "kbreakout-23.08.5.tar.xz";
     };
   };
   kbruch = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kbruch-23.08.4.tar.xz";
-      sha256 = "1rnk6k1rs0nf8470mykas7srwyfpkw71sckgwz1mw9vd4v4mkb2w";
-      name = "kbruch-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kbruch-23.08.5.tar.xz";
+      sha256 = "10hiw23kpil059vsscpz0xssxj5x7036jvm84icgzj9vhbklfzfv";
+      name = "kbruch-23.08.5.tar.xz";
     };
   };
   kcachegrind = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kcachegrind-23.08.4.tar.xz";
-      sha256 = "011bsb9yxrjmazqs1s6fvzvga4mlhjpdvkifbxblqavwp3ipmwbw";
-      name = "kcachegrind-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kcachegrind-23.08.5.tar.xz";
+      sha256 = "1dmpvg1h6zfwg25zl4rkkf43n7q5lyawyf1pa2q9s15hmnvqfrh5";
+      name = "kcachegrind-23.08.5.tar.xz";
     };
   };
   kcalc = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kcalc-23.08.4.tar.xz";
-      sha256 = "107q804sn2pvvw0l2wjqwaqiyqnn0cgfxxi5i4nbjvbcm28iwjbr";
-      name = "kcalc-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kcalc-23.08.5.tar.xz";
+      sha256 = "0zj32xipmzq7bipdi5yj2wkig5sfgdhl0b7z9q5lhnzji5rxcig5";
+      name = "kcalc-23.08.5.tar.xz";
     };
   };
   kcalutils = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kcalutils-23.08.4.tar.xz";
-      sha256 = "17an9cnlcwgi1yqgy7qzw83y4a7jwkzlf0gd976hk90i6yz4krd4";
-      name = "kcalutils-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kcalutils-23.08.5.tar.xz";
+      sha256 = "0gbahhzx14zd0rkwkpxxfhvs6dd9m3ajzajwrqyy6kd9zbfwgdlx";
+      name = "kcalutils-23.08.5.tar.xz";
     };
   };
   kcharselect = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kcharselect-23.08.4.tar.xz";
-      sha256 = "15cdm98cx74smkfdwwg5y1pi8wwaavp2088x5r99p8vhdccr782k";
-      name = "kcharselect-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kcharselect-23.08.5.tar.xz";
+      sha256 = "11k3x06r9p7jgjl2rpkm10gkqkjj0ysrb7116482d20i09n348mz";
+      name = "kcharselect-23.08.5.tar.xz";
     };
   };
   kclock = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kclock-23.08.4.tar.xz";
-      sha256 = "0ifd04hsjr2rsn7vb94p3yvf5znqij3i6w30w2nvykyrds0yrnsl";
-      name = "kclock-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kclock-23.08.5.tar.xz";
+      sha256 = "1cdqpcngg096vig7q04n0p9blrrxynphmkhq9y13vaywjvq744yx";
+      name = "kclock-23.08.5.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kcolorchooser-23.08.4.tar.xz";
-      sha256 = "135289j58pw2gh0vf3sjq4fz38jw9l4n4h7dqn7jm5ibc36f3iqg";
-      name = "kcolorchooser-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kcolorchooser-23.08.5.tar.xz";
+      sha256 = "08dvjaczf88kv8ii754v30b6r1p8cm0l4r81jds7ffs23wcphan6";
+      name = "kcolorchooser-23.08.5.tar.xz";
     };
   };
   kcron = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kcron-23.08.4.tar.xz";
-      sha256 = "06w518p82sclwychrzk9y0xmx1ir87yf9irqvvqq62bm479dq92k";
-      name = "kcron-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kcron-23.08.5.tar.xz";
+      sha256 = "0hnwkn2pvmmx9cqfchbwiw1pka893izs9pw7ina2am7x6x0y7s82";
+      name = "kcron-23.08.5.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kde-dev-scripts-23.08.4.tar.xz";
-      sha256 = "056xymrzb6x7ixj75dcplhr198b0mw78kdfygf9ry0h8ma84gdmb";
-      name = "kde-dev-scripts-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kde-dev-scripts-23.08.5.tar.xz";
+      sha256 = "1wn1g8sgxw2hhc4w2xs0fh45yr6vbfizx5npxsr7qqnl9d2q5c8c";
+      name = "kde-dev-scripts-23.08.5.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kde-dev-utils-23.08.4.tar.xz";
-      sha256 = "06fzj033lm3jmidkkpywdl2sqymarvy97mhlb5kslsl7g9vkkili";
-      name = "kde-dev-utils-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kde-dev-utils-23.08.5.tar.xz";
+      sha256 = "10zfdznf0n57q18q9nqn3ckgx200m10laylyl20qv65kh4zzbp96";
+      name = "kde-dev-utils-23.08.5.tar.xz";
     };
   };
   kde-inotify-survey = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kde-inotify-survey-23.08.4.tar.xz";
-      sha256 = "0ym04p4647y9amjypqv24mvgf6n0xmjm3zix8v0ywzmlxyd2fkjw";
-      name = "kde-inotify-survey-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kde-inotify-survey-23.08.5.tar.xz";
+      sha256 = "0qwcwzx25hvvais13bq2mdvhk0lsj8k8mw34h075rkhrbgir5j1q";
+      name = "kde-inotify-survey-23.08.5.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdebugsettings-23.08.4.tar.xz";
-      sha256 = "1nhi0cq195bmg6hj4x4c59crjnpfkwsazz5wf52gdh2dmn4dxsk0";
-      name = "kdebugsettings-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdebugsettings-23.08.5.tar.xz";
+      sha256 = "042bw5jmdg9ahwxv24yg8yzcd7fr2xdnph4r83z4jiz7z8f01ccq";
+      name = "kdebugsettings-23.08.5.tar.xz";
     };
   };
   kdeconnect-kde = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdeconnect-kde-23.08.4.tar.xz";
-      sha256 = "0wgqg3di4s8n43q6znr7lzphidi3mnghac4rjgjx08fs65da9m8b";
-      name = "kdeconnect-kde-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdeconnect-kde-23.08.5.tar.xz";
+      sha256 = "0r0d604nki60g0x06131hsn0fqdy59xi9iq9vlnvmf94z1kcshjb";
+      name = "kdeconnect-kde-23.08.5.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdeedu-data-23.08.4.tar.xz";
-      sha256 = "002b6yvq0f2anr6avpawg8byx78mds0pw550ga5x0dikyp0xwzaj";
-      name = "kdeedu-data-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdeedu-data-23.08.5.tar.xz";
+      sha256 = "0d139xqm3iv5h7ns57wgxxm3rynvb80f991aa1dsc768170nbnli";
+      name = "kdeedu-data-23.08.5.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdegraphics-mobipocket-23.08.4.tar.xz";
-      sha256 = "1rqx2y9xfqn32xv4vb7j2pp6i0nc9a64llmbp6jzvazbv7yzlw7q";
-      name = "kdegraphics-mobipocket-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdegraphics-mobipocket-23.08.5.tar.xz";
+      sha256 = "1z53132pll7w0z2p4iifcny19ahgvqnk0bm0pdgi815hqwdsjkvi";
+      name = "kdegraphics-mobipocket-23.08.5.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdegraphics-thumbnailers-23.08.4.tar.xz";
-      sha256 = "0i8h3whf4hh8ff0rivbkkr8v58y1jzwh4jpwb47vb1d0hlskzvw6";
-      name = "kdegraphics-thumbnailers-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdegraphics-thumbnailers-23.08.5.tar.xz";
+      sha256 = "0c3gk3badbparz327a1d2i78qwg335i2k36y4sh9s1zs74008nmh";
+      name = "kdegraphics-thumbnailers-23.08.5.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdenetwork-filesharing-23.08.4.tar.xz";
-      sha256 = "1v2zvn228jc3s6rf362zbbrxilxqkjvvnjw1y5yhdnk9c3l5nglj";
-      name = "kdenetwork-filesharing-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdenetwork-filesharing-23.08.5.tar.xz";
+      sha256 = "1pkq11dn0gf841am57bg0i3m8dzx8bkbh2n3fp9452qbg0i6319z";
+      name = "kdenetwork-filesharing-23.08.5.tar.xz";
     };
   };
   kdenlive = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdenlive-23.08.4.tar.xz";
-      sha256 = "04yk092z6hwblfn8y61ny72pxb7czd20lw2jmvrs05lf1l4i3ik5";
-      name = "kdenlive-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdenlive-23.08.5.tar.xz";
+      sha256 = "1nw338bfak806p77329z1wk401ql190l2lw4z4iw6mx2wrc69scs";
+      name = "kdenlive-23.08.5.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdepim-addons-23.08.4.tar.xz";
-      sha256 = "1qxbz97gpn6gwqq40bxx6w75bd0slaah0wvf8mrir3x1b1h5kvrv";
-      name = "kdepim-addons-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdepim-addons-23.08.5.tar.xz";
+      sha256 = "1c24vlvqvfk0rfbq7z9mvjywjmf52h8xdziha8drgzk64spyklsq";
+      name = "kdepim-addons-23.08.5.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdepim-runtime-23.08.4.tar.xz";
-      sha256 = "188xgj7g5i76h6d6n8zw3qn965rm64aa8wiza92bq2hxihgj3hn2";
-      name = "kdepim-runtime-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdepim-runtime-23.08.5.tar.xz";
+      sha256 = "1xvpqlx1n3hcigdd19q3g1l86wvz1bdr0d9szilc2yqn5zb0f6zy";
+      name = "kdepim-runtime-23.08.5.tar.xz";
     };
   };
   kdesdk-kio = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdesdk-kio-23.08.4.tar.xz";
-      sha256 = "1vz44a7261a538qhpn7ria56wa3zabbxgb33dqpzxapmsgnm0q01";
-      name = "kdesdk-kio-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdesdk-kio-23.08.5.tar.xz";
+      sha256 = "0dfgzm8q4raycjwc38g651gkz3m4jfl0hhc3ppvnpq71wapdjdvy";
+      name = "kdesdk-kio-23.08.5.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdesdk-thumbnailers-23.08.4.tar.xz";
-      sha256 = "0ibbfy5l1d5iv8m6sjwbw2f9s0kvzrvbi6k2j3gcf2a41y5hay3a";
-      name = "kdesdk-thumbnailers-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdesdk-thumbnailers-23.08.5.tar.xz";
+      sha256 = "1yz44jf3sm7ja2ifqqjdiipjz4g77dj9ywkzjrcbh0qby56497i5";
+      name = "kdesdk-thumbnailers-23.08.5.tar.xz";
     };
   };
   kdev-php = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdev-php-23.08.4.tar.xz";
-      sha256 = "1l0g6jx3iz6k8vmjziazm4h21myi3qb80nflaydddcrd6bzrgh10";
-      name = "kdev-php-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdev-php-23.08.5.tar.xz";
+      sha256 = "0xrfgrs14mq7dkw4k90srkxxhrwq0r321s006qfpjyd4za7jjqr6";
+      name = "kdev-php-23.08.5.tar.xz";
     };
   };
   kdev-python = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdev-python-23.08.4.tar.xz";
-      sha256 = "14xj96yv24qdsyz9cdiy1b14wp8w72iayyvqyp0w050p4i6cjvm3";
-      name = "kdev-python-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdev-python-23.08.5.tar.xz";
+      sha256 = "02knvrppybs76xmsyyz1q21lacdkxna14ws6mfcmb1rhpghlkgvs";
+      name = "kdev-python-23.08.5.tar.xz";
     };
   };
   kdevelop = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdevelop-23.08.4.tar.xz";
-      sha256 = "1w3s6ncrbldsfm0ca6cryxf0d53d87k4iifcahq12acgrqmjpl4i";
-      name = "kdevelop-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdevelop-23.08.5.tar.xz";
+      sha256 = "1y71rvz19akdzsq7ky6w5aarj65lpbwa47nyyabi0vicyy3z4d6n";
+      name = "kdevelop-23.08.5.tar.xz";
     };
   };
   kdf = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdf-23.08.4.tar.xz";
-      sha256 = "038ckjiikiy23gihxnznxlaf8wmni83hi9q2i4dms4956776rlfi";
-      name = "kdf-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdf-23.08.5.tar.xz";
+      sha256 = "0zqpxam34s22wv08cd4x49raswyqpvx0pcbszhgng8bb162bi3ma";
+      name = "kdf-23.08.5.tar.xz";
     };
   };
   kdialog = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdialog-23.08.4.tar.xz";
-      sha256 = "0y6dchl3nv183hlkmwkmj654mhm3dvad3mkq8d2622jl73w9byld";
-      name = "kdialog-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdialog-23.08.5.tar.xz";
+      sha256 = "1p56dmndvaqbm9mw6hki5k4jr4p5w9sg26wvr13s7jcnyca21hqj";
+      name = "kdialog-23.08.5.tar.xz";
     };
   };
   kdiamond = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdiamond-23.08.4.tar.xz";
-      sha256 = "02ws8wr7adwcm3rl70zchl3kgc5jgr6j5wz07hswdwwl2nl2pd69";
-      name = "kdiamond-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdiamond-23.08.5.tar.xz";
+      sha256 = "19kjg5r0260rim4gl5d1bi547p4mm2ac56pn6w423my8cjzdrgri";
+      name = "kdiamond-23.08.5.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/keditbookmarks-23.08.4.tar.xz";
-      sha256 = "14xzjlyaqvg6qkjmw4d6540f5xawkd7sjxrvfa5bas623c1888ks";
-      name = "keditbookmarks-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/keditbookmarks-23.08.5.tar.xz";
+      sha256 = "1h8al2kryvfm7a45axxg0n72nr5myampbqyjgfqm1ibzkfgf4skd";
+      name = "keditbookmarks-23.08.5.tar.xz";
     };
   };
   keysmith = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/keysmith-23.08.4.tar.xz";
-      sha256 = "11fm64h7pzsm63hw3cji033m9xk2hcnc0d74rzyvpn1ql3whn43n";
-      name = "keysmith-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/keysmith-23.08.5.tar.xz";
+      sha256 = "0nix18xvy3kdz1kw9a7annl8yy43f1x9a50him85dbkk9bn7731g";
+      name = "keysmith-23.08.5.tar.xz";
     };
   };
   kfind = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kfind-23.08.4.tar.xz";
-      sha256 = "1psf1lwbnpnqp8snm4880awnxapv27b42nax6b8nxzf7mb5lqlkh";
-      name = "kfind-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kfind-23.08.5.tar.xz";
+      sha256 = "1j1fihfhdg1x5glayfz57xz2k9j54lyrnkj3i9x8pzvrkznfj55s";
+      name = "kfind-23.08.5.tar.xz";
     };
   };
   kfourinline = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kfourinline-23.08.4.tar.xz";
-      sha256 = "0g5hml3jzz7p1jacxqqb2llvhv5p2g4j9wdvrplxf8cycwwd941n";
-      name = "kfourinline-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kfourinline-23.08.5.tar.xz";
+      sha256 = "1fnprcpm6jpdl0kzwjq2jq36swv3z3vvmxcnz5mzjl5gnh51223d";
+      name = "kfourinline-23.08.5.tar.xz";
     };
   };
   kgeography = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kgeography-23.08.4.tar.xz";
-      sha256 = "06nvqn9mrpk1i14xwh9qv6g22hs2s64ip7lxjms4j3js304606wg";
-      name = "kgeography-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kgeography-23.08.5.tar.xz";
+      sha256 = "1wcy2fxrj73sa283n0xbj6zyrbgmhkxw4dn01w7kqix2afwa1wdm";
+      name = "kgeography-23.08.5.tar.xz";
     };
   };
   kget = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kget-23.08.4.tar.xz";
-      sha256 = "0gmkizhgi2fwvvkycpcvj46ws3w5hgsz5ajy58857y1nam23293r";
-      name = "kget-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kget-23.08.5.tar.xz";
+      sha256 = "13pkvcp8sfl23l34lwnrgl80d8wcg7k5rvvzvzyafvkjy1xjpaif";
+      name = "kget-23.08.5.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kgoldrunner-23.08.4.tar.xz";
-      sha256 = "02nslz7fz4d6d8gg4qb2flsciirqq0yxfgc0rp8r677gv2nfarmk";
-      name = "kgoldrunner-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kgoldrunner-23.08.5.tar.xz";
+      sha256 = "032v02z825d363yhbbyb6blaff7zwrg41k2jlzhhqldcnd814qpc";
+      name = "kgoldrunner-23.08.5.tar.xz";
     };
   };
   kgpg = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kgpg-23.08.4.tar.xz";
-      sha256 = "12x2vyn63agqryjzk9dm9jdgxiaw685nv86ysbmmnf621qcvl13m";
-      name = "kgpg-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kgpg-23.08.5.tar.xz";
+      sha256 = "14l51g4m9vfwzmja3qknb6jdx43sqhgrdy5xnng401gfjhir2b1q";
+      name = "kgpg-23.08.5.tar.xz";
     };
   };
   khangman = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/khangman-23.08.4.tar.xz";
-      sha256 = "1jj2ahaw9i5xv8jkqd8s9vrxnaz5aamq86ryq43jssrppm11r88x";
-      name = "khangman-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/khangman-23.08.5.tar.xz";
+      sha256 = "1xjnrlgwpccgjf0cawy7vh554l6jpnp4b2x3lp6s226s39y021s3";
+      name = "khangman-23.08.5.tar.xz";
     };
   };
   khelpcenter = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/khelpcenter-23.08.4.tar.xz";
-      sha256 = "0j7dlnc5yn0bjvcc5811chy74rdkj1431lrl1czmyb1xl66bp52i";
-      name = "khelpcenter-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/khelpcenter-23.08.5.tar.xz";
+      sha256 = "1mvzflhiqgpvgk7a1av9hf6x2halxb32ppcy7f34q3m8apxnj3sc";
+      name = "khelpcenter-23.08.5.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kidentitymanagement-23.08.4.tar.xz";
-      sha256 = "16z86wi9n7l4ly4l3l0yzirqyrsqz1fngmad0cjcfhjkd29ncwwj";
-      name = "kidentitymanagement-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kidentitymanagement-23.08.5.tar.xz";
+      sha256 = "00bjswh55aciphzifmakw118v1pknk4bsfbpi8cjsjx24vpzgmxw";
+      name = "kidentitymanagement-23.08.5.tar.xz";
     };
   };
   kig = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kig-23.08.4.tar.xz";
-      sha256 = "1bykhflf9xr408c9z7g76q5kczi4ara7wbv4hy6abwmn4qsaw52k";
-      name = "kig-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kig-23.08.5.tar.xz";
+      sha256 = "0pkh5l5nn70ag5fcld30n43i6mwfk9wxdq1bpm741pa0ji6vsq5g";
+      name = "kig-23.08.5.tar.xz";
     };
   };
   kigo = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kigo-23.08.4.tar.xz";
-      sha256 = "1clb12pjlsqb2l4n7zp292gv7nd8bh543x75cz41d2l6zv59jlnd";
-      name = "kigo-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kigo-23.08.5.tar.xz";
+      sha256 = "1x4anmxcgd7jb39cmfc1klg1vqmp9lxpbwlab1m60542r5s7rh0a";
+      name = "kigo-23.08.5.tar.xz";
     };
   };
   killbots = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/killbots-23.08.4.tar.xz";
-      sha256 = "1crcv5pr2avadrzv4vh9gls0gwflqvz8w2cjan7hb2xfnszphhp4";
-      name = "killbots-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/killbots-23.08.5.tar.xz";
+      sha256 = "0j1m8f3zmskk7m47i9vqfvrf3c7fd6bi23pwhlhraabixpd9wv9i";
+      name = "killbots-23.08.5.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kimagemapeditor-23.08.4.tar.xz";
-      sha256 = "1c3yclj7rrvkc3pis06h00i9cwll9grqvadrdfixmzfcdg7glf1w";
-      name = "kimagemapeditor-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kimagemapeditor-23.08.5.tar.xz";
+      sha256 = "036zj278mpfnh35h0qvwcjgb7661xkxnqccib3v55w0vdpn8y9hg";
+      name = "kimagemapeditor-23.08.5.tar.xz";
     };
   };
   kimap = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kimap-23.08.4.tar.xz";
-      sha256 = "036liwpz7yzl192lbkhmasi5irw5884vrhj7qnnp6ihmh400b8as";
-      name = "kimap-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kimap-23.08.5.tar.xz";
+      sha256 = "0gbq8pc91a1ak0yg55m4xpi4zgz2dfajvxgwq0simnm7mhcj1za2";
+      name = "kimap-23.08.5.tar.xz";
     };
   };
   kio-admin = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kio-admin-23.08.4.tar.xz";
-      sha256 = "1xlr94p6yh65v8spdp80hrjbw74iazzpwvxz94sizfv7vl64i3q5";
-      name = "kio-admin-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kio-admin-23.08.5.tar.xz";
+      sha256 = "0bksn8vpqwp0qfwyapbm33karf46hlmcmkhsybn6d8wljb44cq48";
+      name = "kio-admin-23.08.5.tar.xz";
     };
   };
   kio-extras = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kio-extras-23.08.4.tar.xz";
-      sha256 = "0qfd92di1z59i8258640vsgrikkij73bjdxkfpp495cyrlhvr37n";
-      name = "kio-extras-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kio-extras-23.08.5.tar.xz";
+      sha256 = "0gr63gmnivxz5rfhfmky1skx8r5krqljdjyq8vxd97r3qwffrq0s";
+      name = "kio-extras-23.08.5.tar.xz";
     };
   };
   kio-gdrive = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kio-gdrive-23.08.4.tar.xz";
-      sha256 = "17ihwp04ips0gyvvwyhkwilad47c2qxkik5bsi6gxafh8f0jb0d8";
-      name = "kio-gdrive-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kio-gdrive-23.08.5.tar.xz";
+      sha256 = "19pdspi0ysx9589zqrdlkj3hly9rxl80pgqvas1iwhw4aahkx66m";
+      name = "kio-gdrive-23.08.5.tar.xz";
     };
   };
   kio-zeroconf = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kio-zeroconf-23.08.4.tar.xz";
-      sha256 = "1p2h6v9ymcdc0szb0cy35c6jwp71arr4h8b8mr5hdwgyrg0zrfa9";
-      name = "kio-zeroconf-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kio-zeroconf-23.08.5.tar.xz";
+      sha256 = "0d0an6i63gkrr2gxpi6xdzdpzwav9wvghcy299dc1xqipdk939h9";
+      name = "kio-zeroconf-23.08.5.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kipi-plugins-23.08.4.tar.xz";
-      sha256 = "12mzclfmi4vj5rl39dmj6qqp1g3008kpn1vr8f0qsyphjpr82syv";
-      name = "kipi-plugins-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kipi-plugins-23.08.5.tar.xz";
+      sha256 = "0sjkxsaxhns0d21n36zlzhxzysr3y3675z9vbc4ji10gjlskxq10";
+      name = "kipi-plugins-23.08.5.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kirigami-gallery-23.08.4.tar.xz";
-      sha256 = "0fxw9c0543qxqsaibkxjmhsgvyhny6yy5krbfk73fs6a7klvbqma";
-      name = "kirigami-gallery-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kirigami-gallery-23.08.5.tar.xz";
+      sha256 = "0my44hmjgn551bm1j3ij6dynmxag7pxlkxvvvdizr1imcd0p1qy4";
+      name = "kirigami-gallery-23.08.5.tar.xz";
     };
   };
   kiriki = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kiriki-23.08.4.tar.xz";
-      sha256 = "1rh4ypql69rgwj7cn166qgr5irp8mdm7757r08gi065kz0lxhfgw";
-      name = "kiriki-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kiriki-23.08.5.tar.xz";
+      sha256 = "1mnyd9w5cf0sm4m8fg6fhg1cxrwmhmbjhn2k8h7zxp1k80k4gcy6";
+      name = "kiriki-23.08.5.tar.xz";
     };
   };
   kiten = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kiten-23.08.4.tar.xz";
-      sha256 = "142rmapzybmzqmnx6j4j8vgxmzs8y00rp18ax7s8kfs7gn03ad39";
-      name = "kiten-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kiten-23.08.5.tar.xz";
+      sha256 = "0fk264sm6yfiwikrjpva8ybxh2bnwh42mqsyryng76vwxdmm3s0y";
+      name = "kiten-23.08.5.tar.xz";
     };
   };
   kitinerary = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kitinerary-23.08.4.tar.xz";
-      sha256 = "090q9mlf7i8ydi458gvbgvmxm77ys97az7lknl16pz4gfmf0ld71";
-      name = "kitinerary-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kitinerary-23.08.5.tar.xz";
+      sha256 = "1a3qw7s5qwd4x4f4phxwis0y13yf5j463wjai2awr641zq121gdf";
+      name = "kitinerary-23.08.5.tar.xz";
     };
   };
   kjournald = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kjournald-23.08.4.tar.xz";
-      sha256 = "0b1gv5yypkk3vhgvw2g4clk8mipz3bv5pdnqidzjwhl5z2lisgzl";
-      name = "kjournald-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kjournald-23.08.5.tar.xz";
+      sha256 = "1l7d4zqsxak2c2yvsqx1x1mw8b6sxx54svg0lxznjrk4va1h55zp";
+      name = "kjournald-23.08.5.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kjumpingcube-23.08.4.tar.xz";
-      sha256 = "17km7y89b637f7r9g90a684fsc4lsdnwqm7m3w6qy89h3r74kd2x";
-      name = "kjumpingcube-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kjumpingcube-23.08.5.tar.xz";
+      sha256 = "0w4wsc1n6qlz8m3kjdqbjw6ccfqzc3fpa2n11k5vhb1vysxa3vld";
+      name = "kjumpingcube-23.08.5.tar.xz";
     };
   };
   kldap = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kldap-23.08.4.tar.xz";
-      sha256 = "0gh5sg11qcg40wns7i3g7bwwdkmqzb1kqrfrgdg08j7vqjwhwj30";
-      name = "kldap-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kldap-23.08.5.tar.xz";
+      sha256 = "1gkc31028fqdvf5yf7nwhyqii1zy3sxggnid74xxwfknr0pxqacx";
+      name = "kldap-23.08.5.tar.xz";
     };
   };
   kleopatra = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kleopatra-23.08.4.tar.xz";
-      sha256 = "0mwicqry4h3q2bq138flxag5x5l8qpwlbg97jifjc32yqlxpg3jm";
-      name = "kleopatra-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kleopatra-23.08.5.tar.xz";
+      sha256 = "19pivdjnq6b0m79gy4mfqyrl604mnlhd41c3zr432xnkkrcidi59";
+      name = "kleopatra-23.08.5.tar.xz";
     };
   };
   klettres = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/klettres-23.08.4.tar.xz";
-      sha256 = "16304hdzz78nyqqpcq3sf4f6wlk26imffag17cap3fs9l0qpq5pn";
-      name = "klettres-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/klettres-23.08.5.tar.xz";
+      sha256 = "0zl1r4b84a5yq593lbla6wfw823l1qnqg9zxpzip10vrzji2gjga";
+      name = "klettres-23.08.5.tar.xz";
     };
   };
   klickety = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/klickety-23.08.4.tar.xz";
-      sha256 = "0vhf069mlv6xkdzyj4dp251k0rinslaai6kkm7kjim0dal7ykk37";
-      name = "klickety-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/klickety-23.08.5.tar.xz";
+      sha256 = "11wir03ci5x4s2m4j14qbmid5m9grgd4n7zqrvjrsr9mipbm5p39";
+      name = "klickety-23.08.5.tar.xz";
     };
   };
   klines = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/klines-23.08.4.tar.xz";
-      sha256 = "0f2a8vgnpg2mf9hc4gbz4ld5lw5jwbw1vyais6c9djykp552rjx9";
-      name = "klines-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/klines-23.08.5.tar.xz";
+      sha256 = "07ipifmjpfszifi8jy8g1rmbi0jx4l4jqf81wvhv80llbna48ypx";
+      name = "klines-23.08.5.tar.xz";
     };
   };
   kmag = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmag-23.08.4.tar.xz";
-      sha256 = "12djnbl0l9z2vilndchx4z4mznrkwqvjdlgdj2gynj2wa08flprd";
-      name = "kmag-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmag-23.08.5.tar.xz";
+      sha256 = "1jaf97dyc8lcdmmlva11ivkylkcpbim48lrrm08cvsvs3iw66vr5";
+      name = "kmag-23.08.5.tar.xz";
     };
   };
   kmahjongg = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmahjongg-23.08.4.tar.xz";
-      sha256 = "17gnl34x5dq8lqws19m2cqf7k3sc8hs3290pnjmnxcgb29fy0mv0";
-      name = "kmahjongg-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmahjongg-23.08.5.tar.xz";
+      sha256 = "0id838z75xppc7lwg94w1a7xy5jzy331xz2x80nsdn425fhgyhw7";
+      name = "kmahjongg-23.08.5.tar.xz";
     };
   };
   kmail = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmail-23.08.4.tar.xz";
-      sha256 = "10p5diprnhmgji4k9vm4bfhvjllah75j728cljvacdbmcqw879jv";
-      name = "kmail-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmail-23.08.5.tar.xz";
+      sha256 = "0mdp5ax7215x3mfi90cspp181l1cmhdwlhpijcnqq842gdjaqf3i";
+      name = "kmail-23.08.5.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmail-account-wizard-23.08.4.tar.xz";
-      sha256 = "05n1c0piblrr3032hpy4zcqw3kkp4shy08qbq3rw1kdzaibmc86a";
-      name = "kmail-account-wizard-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmail-account-wizard-23.08.5.tar.xz";
+      sha256 = "1fjxzyg8sb16kd85nqrw6xql143mmm4wz463flc0hsjdpcnfb297";
+      name = "kmail-account-wizard-23.08.5.tar.xz";
     };
   };
   kmailtransport = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmailtransport-23.08.4.tar.xz";
-      sha256 = "18kkm56q336hh0j0lfnk871bzjsjfii0r69v9b6gsh1nni2lygks";
-      name = "kmailtransport-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmailtransport-23.08.5.tar.xz";
+      sha256 = "05f4kp4rwb4lk82av4aqzllbcizam25994wsvyxcpddfv37jpd63";
+      name = "kmailtransport-23.08.5.tar.xz";
     };
   };
   kmbox = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmbox-23.08.4.tar.xz";
-      sha256 = "1n9243aw9wvg1zr89djk98k14pik1h0z182jksb8mw8vv7xqqafm";
-      name = "kmbox-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmbox-23.08.5.tar.xz";
+      sha256 = "007lrmzbm44mrp46n7j510hqgg9wq947g0b7zbxfp5dr1rxvi0z5";
+      name = "kmbox-23.08.5.tar.xz";
     };
   };
   kmime = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmime-23.08.4.tar.xz";
-      sha256 = "04qgr8lws48m56lffbdqxkas7p97jm9scq2ccdksrq05dh6jl5hd";
-      name = "kmime-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmime-23.08.5.tar.xz";
+      sha256 = "1nizvbjn3prbcgzgg03vfgffpjqmpxy7pqvxzjs8yfmz79rlx2dn";
+      name = "kmime-23.08.5.tar.xz";
     };
   };
   kmines = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmines-23.08.4.tar.xz";
-      sha256 = "0wym7v9cmd4y2z3i7rqwvvpcm1hdkwi8rqwzhqcmh5i3xk3j5pmv";
-      name = "kmines-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmines-23.08.5.tar.xz";
+      sha256 = "0lwkiq5vcw10h8lvqsb4jri8pghdsp3b8jp4c5ihwawjzwl29cyb";
+      name = "kmines-23.08.5.tar.xz";
     };
   };
   kmix = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmix-23.08.4.tar.xz";
-      sha256 = "0i2ywcipcprxmi23f501jjzic00nri0ss20dfcicgf0bpc8ybh71";
-      name = "kmix-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmix-23.08.5.tar.xz";
+      sha256 = "10415kj94d63fpx2i5xhbrj93i4d91hn8d1bbj484375vflsqwc6";
+      name = "kmix-23.08.5.tar.xz";
     };
   };
   kmousetool = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmousetool-23.08.4.tar.xz";
-      sha256 = "12i73smzx3kjj75hza424cr5nnq80xvgfv2kwmf32a3k9436jx15";
-      name = "kmousetool-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmousetool-23.08.5.tar.xz";
+      sha256 = "01wmhd0kb0xbyg5lr0vbj8nrk1ri5nllq5fd9pyq9whxvsar4fyz";
+      name = "kmousetool-23.08.5.tar.xz";
     };
   };
   kmouth = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmouth-23.08.4.tar.xz";
-      sha256 = "08f1yb7m3c3pyp6glwwg9lya3a6j30wvxga2j2ik9hwfs9jx5x9j";
-      name = "kmouth-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmouth-23.08.5.tar.xz";
+      sha256 = "15sa5q37fd9228m78d7w7xdfsy18hyd43snvrngiiw4317x9km4n";
+      name = "kmouth-23.08.5.tar.xz";
     };
   };
   kmplot = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmplot-23.08.4.tar.xz";
-      sha256 = "1zmxaahpj6k5fk5fzrxqzrkki080mkxgz2a73ajsfjs387qvxg92";
-      name = "kmplot-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmplot-23.08.5.tar.xz";
+      sha256 = "05rdpjc7hlwkh2klhvybjjq73g15apysk31wph2pljg46mwh9sc4";
+      name = "kmplot-23.08.5.tar.xz";
     };
   };
   knavalbattle = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/knavalbattle-23.08.4.tar.xz";
-      sha256 = "106hjf4ji4c9gvly916dbslvpxgc04qwp403srknqgrbx8ixsacg";
-      name = "knavalbattle-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/knavalbattle-23.08.5.tar.xz";
+      sha256 = "09s7lax3yd4vx6rp29540vzy555b2yp1m7lq5pd8ighiww78pznb";
+      name = "knavalbattle-23.08.5.tar.xz";
     };
   };
   knetwalk = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/knetwalk-23.08.4.tar.xz";
-      sha256 = "1vk1z9jk77qn8abckdj3mv3a4xyaz9r44b5hxzsf79870p4ss2ix";
-      name = "knetwalk-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/knetwalk-23.08.5.tar.xz";
+      sha256 = "0d47650cc4cabycilhbc6zbrbbbsn4awiswsk91lzkp47jpvjfqb";
+      name = "knetwalk-23.08.5.tar.xz";
     };
   };
   knights = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/knights-23.08.4.tar.xz";
-      sha256 = "08flarcc72hrv59ahiwh6c9cfyrjr1lhk42xv0arnvf87w0a6dr9";
-      name = "knights-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/knights-23.08.5.tar.xz";
+      sha256 = "10xy3cr2z10l6zp2fp5kv8s94wbizz39afcg2i7n30w1r9pj6csn";
+      name = "knights-23.08.5.tar.xz";
     };
   };
   knotes = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/knotes-23.08.4.tar.xz";
-      sha256 = "1xm9sjm0kqsyj8ah3mhb66hb80icfs45byz0lvbw7idridv22bpd";
-      name = "knotes-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/knotes-23.08.5.tar.xz";
+      sha256 = "1bh2f10z2djvf77rsdlrwg0s4crkirjqaw0cwjapv2d2y03blgx6";
+      name = "knotes-23.08.5.tar.xz";
     };
   };
   koko = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/koko-23.08.4.tar.xz";
-      sha256 = "12inpjdbf4xa569wb4rc0qckkm6g2wy3ggls2wdf2pr3k36yhx9m";
-      name = "koko-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/koko-23.08.5.tar.xz";
+      sha256 = "0drs0yj7r5qm762x2y5ixczvcnlk8gy7qsh3h88k0cb95wxgz7dq";
+      name = "koko-23.08.5.tar.xz";
     };
   };
   kolf = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kolf-23.08.4.tar.xz";
-      sha256 = "0mxs7vif7zwgbmrm3h20km9pf2cl129zbc4fvxzkwvksa982b92w";
-      name = "kolf-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kolf-23.08.5.tar.xz";
+      sha256 = "1cfmdbplhabaz62zs0jrf0p146rm688riiapckg19mcqzcvqq8cq";
+      name = "kolf-23.08.5.tar.xz";
     };
   };
   kollision = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kollision-23.08.4.tar.xz";
-      sha256 = "1ywl689cr0673xs5aflg689k5n9rnmgp0ggwmv56czrm8fkp015a";
-      name = "kollision-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kollision-23.08.5.tar.xz";
+      sha256 = "15amfmyma1p0gpq0xx3yix6n0wj469gws8pydpynmn75z89r61zz";
+      name = "kollision-23.08.5.tar.xz";
     };
   };
   kolourpaint = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kolourpaint-23.08.4.tar.xz";
-      sha256 = "1rpq355q2ghhxx3hvqqygr92vwlrm5vcpgvl422xr456ljn7jarc";
-      name = "kolourpaint-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kolourpaint-23.08.5.tar.xz";
+      sha256 = "1kjaxab9iasszgn7zfq5lhb2nkxrkd42x16y6pqs9ar4ixc6nbwl";
+      name = "kolourpaint-23.08.5.tar.xz";
     };
   };
   kompare = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kompare-23.08.4.tar.xz";
-      sha256 = "14rwav520s95zf83jaa1xqbskaj74pqx7di8i5f36fw0ap5llgvr";
-      name = "kompare-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kompare-23.08.5.tar.xz";
+      sha256 = "0yajvzm98rqs214lp2rfrzz925ddgqgjmdxq7zm74qarixq3kyic";
+      name = "kompare-23.08.5.tar.xz";
     };
   };
   kongress = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kongress-23.08.4.tar.xz";
-      sha256 = "03qn8cqnsm6267p5yk86z22k6j2mwdnf31v93v6x496yfmhg89xa";
-      name = "kongress-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kongress-23.08.5.tar.xz";
+      sha256 = "04mb4siivza5gjcyb68cv34vlkd9xsk79nv0z6g7f2l7ir7q9l42";
+      name = "kongress-23.08.5.tar.xz";
     };
   };
   konqueror = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/konqueror-23.08.4.tar.xz";
-      sha256 = "1bz6v320kwv9sz86zv1icqi6la4pml79mq0hya43x0i709nqdrli";
-      name = "konqueror-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/konqueror-23.08.5.tar.xz";
+      sha256 = "1yhc6yyw8549qmask70rqja1p70wcwbkg8hiln16bxsb6ngl9aw4";
+      name = "konqueror-23.08.5.tar.xz";
     };
   };
   konquest = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/konquest-23.08.4.tar.xz";
-      sha256 = "08wal5q84nbdlnb7f850bkfypk09dbw467416038p340fnjyvxzq";
-      name = "konquest-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/konquest-23.08.5.tar.xz";
+      sha256 = "0c04lzmacmx5ch5awsxn2wx0vyv632qazypak0vp45jm885fg059";
+      name = "konquest-23.08.5.tar.xz";
     };
   };
   konsole = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/konsole-23.08.4.tar.xz";
-      sha256 = "1dwg4x8xmzy5kh4szzl814hgjpvn4vi6pwfz1abmnqa9qz85n2vc";
-      name = "konsole-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/konsole-23.08.5.tar.xz";
+      sha256 = "1jn1c01cc6xsgd5b6c2q0fbr9fdn0nqzfc9fwsy4cyn279sj1yy6";
+      name = "konsole-23.08.5.tar.xz";
     };
   };
   kontact = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kontact-23.08.4.tar.xz";
-      sha256 = "12bk6rr1lj3b036l341lh5na2cw6r6khd4dq220pyrf1i75fnizp";
-      name = "kontact-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kontact-23.08.5.tar.xz";
+      sha256 = "1p205y9z0y7khvpbl9lq9yl1z6pvnpl98yj8baj42rfynnvj5sx6";
+      name = "kontact-23.08.5.tar.xz";
     };
   };
   kontactinterface = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kontactinterface-23.08.4.tar.xz";
-      sha256 = "0ar57i4cdmpqsqsgnpavs3rs4hfj39wnddacvxpcj33ifzq40dln";
-      name = "kontactinterface-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kontactinterface-23.08.5.tar.xz";
+      sha256 = "1gxjb3g3a2prbiki6f980vm9jdkiicnw138p8clvarw1zqr6vwgd";
+      name = "kontactinterface-23.08.5.tar.xz";
     };
   };
   kontrast = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kontrast-23.08.4.tar.xz";
-      sha256 = "1c4z9kh38njvb06i47gfyz85hai7kcvfrrz1ab6ipnx73ci2j7fp";
-      name = "kontrast-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kontrast-23.08.5.tar.xz";
+      sha256 = "1azx1x3136z2qzf3drw52k9l8g8vffc0jx0pvfpqhgkpi471l4vy";
+      name = "kontrast-23.08.5.tar.xz";
     };
   };
   konversation = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/konversation-23.08.4.tar.xz";
-      sha256 = "1wl7rnipv7spnlkcz5fcc272m5h8q9q0s56ln04wdybvqnwmvk2g";
-      name = "konversation-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/konversation-23.08.5.tar.xz";
+      sha256 = "1gi57pk10cs8cnaw26xjp8ffyqi77azvns99c5mmk29pfwb6ymv0";
+      name = "konversation-23.08.5.tar.xz";
     };
   };
   kopeninghours = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kopeninghours-23.08.4.tar.xz";
-      sha256 = "0w6nflzhhasdm2sbgx8nlqp95y1yklwrpvm5q6njivxwfi68abwg";
-      name = "kopeninghours-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kopeninghours-23.08.5.tar.xz";
+      sha256 = "0ihrjdyxaw5a5wvyjx6n0gl5l37djrqlc30mwaf9ihwrbvvlqb16";
+      name = "kopeninghours-23.08.5.tar.xz";
     };
   };
   kopete = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kopete-23.08.4.tar.xz";
-      sha256 = "0lp58zribmp6iaia97m6a2p8bizxy1wan7f9k968gpg8ykpv7vhx";
-      name = "kopete-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kopete-23.08.5.tar.xz";
+      sha256 = "0ccf3flphc1zh59np8y0pl6rvq0ff9qfrqqmaqzfqmn2y02piy0a";
+      name = "kopete-23.08.5.tar.xz";
     };
   };
   korganizer = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/korganizer-23.08.4.tar.xz";
-      sha256 = "10rbrdv55cjac5hv94k0dp82dnd0176ykw1df4lnzccmk047kxsk";
-      name = "korganizer-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/korganizer-23.08.5.tar.xz";
+      sha256 = "1hgdrnax7m5ngjh8qcxsxr2aq3cdx56bkzl747byh08klrmbx9n4";
+      name = "korganizer-23.08.5.tar.xz";
     };
   };
   kosmindoormap = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kosmindoormap-23.08.4.tar.xz";
-      sha256 = "1w7wa0ma8gnyawiaidcwa5hm5zx9pd8vfh18srwb2f1dffx0hzic";
-      name = "kosmindoormap-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kosmindoormap-23.08.5.tar.xz";
+      sha256 = "00xb91x3d3r3wmlyw83975f4h2igmbybi3ac951jal1nfpix8yv4";
+      name = "kosmindoormap-23.08.5.tar.xz";
     };
   };
   kpat = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kpat-23.08.4.tar.xz";
-      sha256 = "0r7krvl4cm1vzaprm5vzyw8wx04idqssv6p606avsvp39jcv4g24";
-      name = "kpat-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kpat-23.08.5.tar.xz";
+      sha256 = "1grilk4jdaygfi63h7km8q1iv82sz2azsmgzbzz67alg4add1k6m";
+      name = "kpat-23.08.5.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kpimtextedit-23.08.4.tar.xz";
-      sha256 = "1r8df5qyhq8r30i2p55q8wsm1znnvmzif06axzazxhl2x0n94mfs";
-      name = "kpimtextedit-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kpimtextedit-23.08.5.tar.xz";
+      sha256 = "1ir7wxlbfmagnnmh15b0k7gqhvlrl2mzmin9nf9c20l21hmrdp2f";
+      name = "kpimtextedit-23.08.5.tar.xz";
     };
   };
   kpkpass = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kpkpass-23.08.4.tar.xz";
-      sha256 = "17wsgmanim8ab8hya3vihwwry4s6zl6s24mqplhax79jng9lcp52";
-      name = "kpkpass-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kpkpass-23.08.5.tar.xz";
+      sha256 = "1cfsgky40zszyjbil7xjf12dbg1aymza2db70ghkvjjsp2xn17nn";
+      name = "kpkpass-23.08.5.tar.xz";
     };
   };
   kpmcore = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kpmcore-23.08.4.tar.xz";
-      sha256 = "0kmnvwilvc3nysi9dywkfkdxxh5fynxm29knxahw1a9xgr4dha6i";
-      name = "kpmcore-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kpmcore-23.08.5.tar.xz";
+      sha256 = "0yj1hpg53w3rfahhchslhgiw7yakxc99jyf59kzdv4z55mql0jml";
+      name = "kpmcore-23.08.5.tar.xz";
     };
   };
   kpublictransport = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kpublictransport-23.08.4.tar.xz";
-      sha256 = "178l4skgx44zilpggrlcmn3v8a8bqs9f0j6qmkx4mrif52lvy8w1";
-      name = "kpublictransport-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kpublictransport-23.08.5.tar.xz";
+      sha256 = "0n2s4l5vrsnmyj0p2icqrjc8qc3g5cm8nkhq4q6k29lbkrpfbxz3";
+      name = "kpublictransport-23.08.5.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kqtquickcharts-23.08.4.tar.xz";
-      sha256 = "1qfsjc414nxzl3rvzizxxg7kbi16v0mxpabj1sy6scz24x8ff68v";
-      name = "kqtquickcharts-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kqtquickcharts-23.08.5.tar.xz";
+      sha256 = "1zikypr3v8kqs2qxc1x09acr25i6blcqfhqlgy65k26gb9qk1xk2";
+      name = "kqtquickcharts-23.08.5.tar.xz";
     };
   };
   krdc = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/krdc-23.08.4.tar.xz";
-      sha256 = "0ka8m8yz6485vi1sqbr7n5pg67i1csk9yqjvv5fni9g2z5m6ynlq";
-      name = "krdc-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/krdc-23.08.5.tar.xz";
+      sha256 = "1x2ry209mqazv2l9cx51x86ivpw5wia5cc3cbp7034ianbmprif2";
+      name = "krdc-23.08.5.tar.xz";
     };
   };
   krecorder = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/krecorder-23.08.4.tar.xz";
-      sha256 = "0wsn7kjk73619w24233s0and2q0li8yy7zlpfx4v8h9c926431di";
-      name = "krecorder-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/krecorder-23.08.5.tar.xz";
+      sha256 = "0198wy6pa9nc1lly4szfxyma2np693pkg408iljxx3pxxi8vvvn8";
+      name = "krecorder-23.08.5.tar.xz";
     };
   };
   kreversi = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kreversi-23.08.4.tar.xz";
-      sha256 = "13lf6hbg0a4ni119j3c21x72n7wpjb9g1f6dbdazrjmjvz5bfql5";
-      name = "kreversi-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kreversi-23.08.5.tar.xz";
+      sha256 = "1mddxiawjyzjpwvb72jrh10012kq3q7nlvi33v02xs4qlw1npyy0";
+      name = "kreversi-23.08.5.tar.xz";
     };
   };
   krfb = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/krfb-23.08.4.tar.xz";
-      sha256 = "1139rgd77k53i0gglbjb5lwcnrs3fik19a953lrzhicc881a65dv";
-      name = "krfb-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/krfb-23.08.5.tar.xz";
+      sha256 = "0xmkzrg408qab1nrv48kkpghxds6vm981iipqrfc2fv8b2khmr46";
+      name = "krfb-23.08.5.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kross-interpreters-23.08.4.tar.xz";
-      sha256 = "1f0vqj1yl5knw55cy2ldxz090n7gxw3m7lwb5z7mr6mazaf06l4z";
-      name = "kross-interpreters-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kross-interpreters-23.08.5.tar.xz";
+      sha256 = "0yzs6y42m9dx02ig9i2m932q6qcclg0r67sd4k53c038giri0y1m";
+      name = "kross-interpreters-23.08.5.tar.xz";
     };
   };
   kruler = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kruler-23.08.4.tar.xz";
-      sha256 = "08q5pnwiprnj4rwl9brw2r28gaxl9acfd61dkl9kigcasijwz75m";
-      name = "kruler-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kruler-23.08.5.tar.xz";
+      sha256 = "0gilrz96yidqx698vs42gymb552d16vjwynmnpxs8hsr2z8snsqs";
+      name = "kruler-23.08.5.tar.xz";
     };
   };
   ksanecore = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksanecore-23.08.4.tar.xz";
-      sha256 = "1r00sl09cn4vryv11cc080f6r9qrh0q6va66d2a9sdkqfa8idlap";
-      name = "ksanecore-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksanecore-23.08.5.tar.xz";
+      sha256 = "18lv3lvh4cx4jwsdwa2ip9qngf7bd1vdf62xhfyb969py75c869x";
+      name = "ksanecore-23.08.5.tar.xz";
     };
   };
   kshisen = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kshisen-23.08.4.tar.xz";
-      sha256 = "1pdjy5zx7q4ajk00y5mgm6kxq17qmf0rwnakwfi938lzlvv06cir";
-      name = "kshisen-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kshisen-23.08.5.tar.xz";
+      sha256 = "1xa6nmgcavxxsiw0igjqfkzlr6qv5d620mp606afi890qw2firzj";
+      name = "kshisen-23.08.5.tar.xz";
     };
   };
   ksirk = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksirk-23.08.4.tar.xz";
-      sha256 = "05cy7iv80zfqa44gi0w29i5njbp7idjli5699b15as2nadmzbfxv";
-      name = "ksirk-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksirk-23.08.5.tar.xz";
+      sha256 = "0rggnzv6kaabqb6nhr6ldxfbn4lndr60vfch34lhwwgpb5f06d3a";
+      name = "ksirk-23.08.5.tar.xz";
     };
   };
   ksmtp = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksmtp-23.08.4.tar.xz";
-      sha256 = "1hwyf1idk0a9a77gk7l2d7k3l6jy34pz6j7vcw1a7wfniz3ri8wz";
-      name = "ksmtp-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksmtp-23.08.5.tar.xz";
+      sha256 = "1i8vmk1cmill8arglq1af0ck2r0j3bzx4sfz8r94bh0ybfarh1nx";
+      name = "ksmtp-23.08.5.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksnakeduel-23.08.4.tar.xz";
-      sha256 = "0ydsplqw4sijq2rfdyhzdzf95bnp3mpflwk8p4r3iahay3kcihk3";
-      name = "ksnakeduel-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksnakeduel-23.08.5.tar.xz";
+      sha256 = "1whqx45pg8kzhwvip20i408j6qk622cvisbpv91kfd0ab76p2k4b";
+      name = "ksnakeduel-23.08.5.tar.xz";
     };
   };
   kspaceduel = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kspaceduel-23.08.4.tar.xz";
-      sha256 = "01fqs6izbm34ypjrlbsqwvac7kqrc4vjkx6i04kq5zsaybawzy1i";
-      name = "kspaceduel-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kspaceduel-23.08.5.tar.xz";
+      sha256 = "0cf1yi05l0s05p8p38m6ygqjxb9zyiijf89raw8y2kjhp30cnjsn";
+      name = "kspaceduel-23.08.5.tar.xz";
     };
   };
   ksquares = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksquares-23.08.4.tar.xz";
-      sha256 = "0j3vivk6ci1k7pfv441rq915zdpzrf9a6fsh06igci34v1vm9yni";
-      name = "ksquares-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksquares-23.08.5.tar.xz";
+      sha256 = "055wkwr7nhwlzzqbz8m34yi4zgsnnw8pbxdn30d2rndra9kxmmx0";
+      name = "ksquares-23.08.5.tar.xz";
     };
   };
   ksudoku = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksudoku-23.08.4.tar.xz";
-      sha256 = "05zklr7mm81xz3m5lriyll1vkphwq5hz8ry423733ryaqqyjsdzs";
-      name = "ksudoku-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksudoku-23.08.5.tar.xz";
+      sha256 = "0rhpjhmqk4xhcjxi2l0v7yzhsa8b8mmgsylmxl4hw4lsvp7vx5lj";
+      name = "ksudoku-23.08.5.tar.xz";
     };
   };
   ksystemlog = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksystemlog-23.08.4.tar.xz";
-      sha256 = "1fgnyi8aqr8b6zw91k049ljvs6jgl5frjw6zrz0jnc75lijc9zzc";
-      name = "ksystemlog-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksystemlog-23.08.5.tar.xz";
+      sha256 = "0mn36n3g5g7sihw2r2y1a79ggmxpwikvxkh1rlhpavx721jh7rl0";
+      name = "ksystemlog-23.08.5.tar.xz";
     };
   };
   kteatime = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kteatime-23.08.4.tar.xz";
-      sha256 = "194c4q5pc9h5v1v6k80xchd3ysj42khwaq912dinvy43py1rw8sw";
-      name = "kteatime-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kteatime-23.08.5.tar.xz";
+      sha256 = "1rn23hlnn9grjrx5kh2c9dsx8pm3gd0rg6i49wwrml2hvmkmg1af";
+      name = "kteatime-23.08.5.tar.xz";
     };
   };
   ktimer = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ktimer-23.08.4.tar.xz";
-      sha256 = "08bcs3xh1yr2p2nnklb72jkfdxlrqp47pva4f886micanqfxhhjb";
-      name = "ktimer-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ktimer-23.08.5.tar.xz";
+      sha256 = "05nxbzh4ka0w8f40q15wm7lj0vpgq70q2qb3vfliv7xdz4b59yjm";
+      name = "ktimer-23.08.5.tar.xz";
     };
   };
   ktnef = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ktnef-23.08.4.tar.xz";
-      sha256 = "0ffg2qc5nlnhmdhnq9ry2b34kis0z0bsk0iqp1mk5fs8ksasli75";
-      name = "ktnef-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ktnef-23.08.5.tar.xz";
+      sha256 = "0a5ld53az9k8csb6psb622xx4nm96f6wz96z5rfdbnamqmyci7rp";
+      name = "ktnef-23.08.5.tar.xz";
     };
   };
   ktorrent = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ktorrent-23.08.4.tar.xz";
-      sha256 = "0q8a3xsxk1sxaa90vj4fpq35xlmjwj86kki46w572dsx7bmcpwym";
-      name = "ktorrent-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ktorrent-23.08.5.tar.xz";
+      sha256 = "10npi12qdibzpxjx102fh8fxiv5gk89xlp1s43aq01mckcnsvf0n";
+      name = "ktorrent-23.08.5.tar.xz";
     };
   };
   ktouch = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ktouch-23.08.4.tar.xz";
-      sha256 = "18zfmmanz1f8jqhckb23pspsmprl1ran6vbxdqcfl4pb928b63fr";
-      name = "ktouch-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ktouch-23.08.5.tar.xz";
+      sha256 = "0pcwypzfn5kh1byvj902vcsxsiyqqbp8w4xv51k6g90darrjl41d";
+      name = "ktouch-23.08.5.tar.xz";
     };
   };
   ktrip = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ktrip-23.08.4.tar.xz";
-      sha256 = "1c9j0hqhq6hpsacm05qmkbiyr3bq57llqsvq1a9qy6yd1fldn4xg";
-      name = "ktrip-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ktrip-23.08.5.tar.xz";
+      sha256 = "17kn0jqhraxp5anj18lhv4v6xwjx3qybnsvz47biwbfiy8b715yl";
+      name = "ktrip-23.08.5.tar.xz";
     };
   };
   ktuberling = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ktuberling-23.08.4.tar.xz";
-      sha256 = "12q07w5s3bv3rx1irypzw83l4y47j1zqk67akkrhcgf9f69jz71w";
-      name = "ktuberling-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ktuberling-23.08.5.tar.xz";
+      sha256 = "1263qkjvbg0dcrrr7w847vm9mq249glwgvxn9i5yck5qdk3cb4wm";
+      name = "ktuberling-23.08.5.tar.xz";
     };
   };
   kturtle = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kturtle-23.08.4.tar.xz";
-      sha256 = "1782pnybvjqpzdppsz5284dibasz7rk03pbz6il7dz86l701phlz";
-      name = "kturtle-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kturtle-23.08.5.tar.xz";
+      sha256 = "1mhd8b4rdysvvcjh37vr36ykg2avzdl3sgdsn5svzdga808vc8z4";
+      name = "kturtle-23.08.5.tar.xz";
     };
   };
   kubrick = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kubrick-23.08.4.tar.xz";
-      sha256 = "12p6k800chp7qhj6shj1xp2pvfxm0cw50598s95c8jxhv44d4fg2";
-      name = "kubrick-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kubrick-23.08.5.tar.xz";
+      sha256 = "000cc8rf63y2km0zzykpdxv24d5jp83p71kf4f3jxqr1lan2gxbm";
+      name = "kubrick-23.08.5.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kwalletmanager-23.08.4.tar.xz";
-      sha256 = "0p62nl2y1fdlgzinzafhd1xgndn93c4qcl0gn6gicjfi9a37qjd1";
-      name = "kwalletmanager-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kwalletmanager-23.08.5.tar.xz";
+      sha256 = "1f45jqzn5j23adxb8p7z468klbn42kg2idcjqjm616kia348l7rr";
+      name = "kwalletmanager-23.08.5.tar.xz";
     };
   };
   kwave = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kwave-23.08.4.tar.xz";
-      sha256 = "0wicp8zpk1q45aqx1zhwq8v9yh173zvmz5ncv4nr3dm1jgvh4l4q";
-      name = "kwave-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kwave-23.08.5.tar.xz";
+      sha256 = "0264rz92198pa6rdjiim95z50wlp0myyr2f56m82cig5x69kl666";
+      name = "kwave-23.08.5.tar.xz";
     };
   };
   kweather = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kweather-23.08.4.tar.xz";
-      sha256 = "1fr19q59577pml6wj1di72yvdk0q6brd637vqn7xwbdvjhhk6vvn";
-      name = "kweather-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kweather-23.08.5.tar.xz";
+      sha256 = "04qab954y4mlz7ng1giyc20ndmihi0plli4wqjl6clzip7wi99l7";
+      name = "kweather-23.08.5.tar.xz";
     };
   };
   kwordquiz = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kwordquiz-23.08.4.tar.xz";
-      sha256 = "1gnwmba6b08a1wgw40c71h7qgqk7sknj495hh66rxgm03injnpj0";
-      name = "kwordquiz-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kwordquiz-23.08.5.tar.xz";
+      sha256 = "1w5hczhn0cv7r89s5kq1smwc1kkpsxrd7bqan4v26jd0d4r28jjy";
+      name = "kwordquiz-23.08.5.tar.xz";
     };
   };
   libgravatar = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libgravatar-23.08.4.tar.xz";
-      sha256 = "1w9z0d85gdkghx7k9506rg0fzgzvah9wfvyq16hhjgfb4cv0292w";
-      name = "libgravatar-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libgravatar-23.08.5.tar.xz";
+      sha256 = "15ynbjn2lrz08iriqf2il2b7hqwvypb758p24z1d6hj68hjgl9dc";
+      name = "libgravatar-23.08.5.tar.xz";
     };
   };
   libkcddb = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkcddb-23.08.4.tar.xz";
-      sha256 = "130ajnb4k1i48r015xfw5yp8ys72hgz5gqgvpa4vfqy71hbhndr9";
-      name = "libkcddb-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkcddb-23.08.5.tar.xz";
+      sha256 = "1igrrhzvs1rvn8p1cmiwl68h3bza4wc1pkllphksq5vjb9w9plj3";
+      name = "libkcddb-23.08.5.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkcompactdisc-23.08.4.tar.xz";
-      sha256 = "166nj97pars5anx1k8dc7f92cfnbb0mvwgi9cpsz138bxpqvn3zi";
-      name = "libkcompactdisc-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkcompactdisc-23.08.5.tar.xz";
+      sha256 = "1zwn9nic6fm2wkyhdc8ssyq0jjc6jrvc7aym422fzkmhr104llkg";
+      name = "libkcompactdisc-23.08.5.tar.xz";
     };
   };
   libkdcraw = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkdcraw-23.08.4.tar.xz";
-      sha256 = "1mm3gsp7lfqxb9irk59hrzaxdqjv28iwaa1xmpazw4q62nmlj7mi";
-      name = "libkdcraw-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkdcraw-23.08.5.tar.xz";
+      sha256 = "04cgjz0f580v8nszki2qk6ms7p0wp8zj0pxsnwr80ipz97j8045b";
+      name = "libkdcraw-23.08.5.tar.xz";
     };
   };
   libkdegames = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkdegames-23.08.4.tar.xz";
-      sha256 = "1v4xskpclyr7qv94xrmw33zvcff1ymb2y6b658rdxari1gjpamja";
-      name = "libkdegames-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkdegames-23.08.5.tar.xz";
+      sha256 = "1vggyamhr15k29zkyyjp0kgvq8n9a4yyxaal41w06q3x6bs87i8a";
+      name = "libkdegames-23.08.5.tar.xz";
     };
   };
   libkdepim = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkdepim-23.08.4.tar.xz";
-      sha256 = "0rga1s5y3lsq8awgdpd3yaqjczgjakhf12v553hg0nz8b1cl4s7z";
-      name = "libkdepim-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkdepim-23.08.5.tar.xz";
+      sha256 = "17yvnpgrmwi23b3ia3c73nzma2n46jh7n9a1vjgivjx32rs2w7kf";
+      name = "libkdepim-23.08.5.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkeduvocdocument-23.08.4.tar.xz";
-      sha256 = "1jvbkyb2gnh8a47724m95nb30g58jnzlwja5p9gx1rwjha28jkcp";
-      name = "libkeduvocdocument-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkeduvocdocument-23.08.5.tar.xz";
+      sha256 = "05lyycpx6yz6xg0z88fmlf1zzlxwiy9nkk1ma88p8f06kz1qkbmx";
+      name = "libkeduvocdocument-23.08.5.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkexiv2-23.08.4.tar.xz";
-      sha256 = "1xpki1b3007wm17pnjvfrqb2qlx7wkps5bzhn1m4k30i6vxa2q50";
-      name = "libkexiv2-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkexiv2-23.08.5.tar.xz";
+      sha256 = "1wlv3byg8lkc57mr1mf1ymc1ghg49im6xr6bgvqzlrchg4q30h9i";
+      name = "libkexiv2-23.08.5.tar.xz";
     };
   };
   libkgapi = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkgapi-23.08.4.tar.xz";
-      sha256 = "1dvfj1pgfw2sysr2x06fzfxbr2xb949kgy0b52aq0akq5534qrfc";
-      name = "libkgapi-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkgapi-23.08.5.tar.xz";
+      sha256 = "18yp81mbq0dvpmi1yiab6nnjg65n89fl3l2iw9rnm8m8lcr9y90h";
+      name = "libkgapi-23.08.5.tar.xz";
     };
   };
   libkipi = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkipi-23.08.4.tar.xz";
-      sha256 = "0z3xlsyms58l84fvgjxf6y83a82p81s6gk8757y9aiidjihzih88";
-      name = "libkipi-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkipi-23.08.5.tar.xz";
+      sha256 = "11b2c3qwb47ijr7q04hcc50kwdclig9n72injadw7df6fnp18h3j";
+      name = "libkipi-23.08.5.tar.xz";
     };
   };
   libkleo = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkleo-23.08.4.tar.xz";
-      sha256 = "01sspgd1sf3dzds05jbvylif4vza3zb0fz2hfrrvmjvflswgbazi";
-      name = "libkleo-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkleo-23.08.5.tar.xz";
+      sha256 = "09a6ihlia4wpj5lwwih94w92xw277fk6bdj1ngbzix8cnzjd6c23";
+      name = "libkleo-23.08.5.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkmahjongg-23.08.4.tar.xz";
-      sha256 = "0cp2zpk0444jf1rr6jnn0v62sbx1baf646ki8g2hpmsmvqwvslih";
-      name = "libkmahjongg-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkmahjongg-23.08.5.tar.xz";
+      sha256 = "0rf37nbxr6m2l7dgj8alfh57zmp39d76swrvv98k9hn5dh5v923s";
+      name = "libkmahjongg-23.08.5.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkomparediff2-23.08.4.tar.xz";
-      sha256 = "07kfsnijj7xm4mvz95dzn3xmmczxl6bqzdr7d5jcv33kvp46mdbn";
-      name = "libkomparediff2-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkomparediff2-23.08.5.tar.xz";
+      sha256 = "1l2awsm0ikf1kba72j67k0x5jfc48398pw406saq86l1mcfl23fr";
+      name = "libkomparediff2-23.08.5.tar.xz";
     };
   };
   libksane = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libksane-23.08.4.tar.xz";
-      sha256 = "1gsd5wlvh9c8xaprp0sjxknjc8yzz2f04kla5012a0a2761ym7d0";
-      name = "libksane-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libksane-23.08.5.tar.xz";
+      sha256 = "0vig4iws3c1kl1749gfig9g7fjz31g35lysb9ijdbzck46czzpfy";
+      name = "libksane-23.08.5.tar.xz";
     };
   };
   libksieve = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libksieve-23.08.4.tar.xz";
-      sha256 = "0ixriyls3ynwkyfjyvax4r851nh5xb1hvvcyphjd6apzy9zci08f";
-      name = "libksieve-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libksieve-23.08.5.tar.xz";
+      sha256 = "0p422lvgvm1ma0vm4wf24d1bhjj4jns7qaxp8nkhwhsvs0nlh1js";
+      name = "libksieve-23.08.5.tar.xz";
     };
   };
   libktorrent = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libktorrent-23.08.4.tar.xz";
-      sha256 = "0vyv8m2s37zmhs145n8lk1p8npxcrd2xvw1aciyjc0nrxrx46z1v";
-      name = "libktorrent-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libktorrent-23.08.5.tar.xz";
+      sha256 = "1gcpsa49g35jymy9162pjanx8ih0q7viygqwdvvylslfb8zkr8hg";
+      name = "libktorrent-23.08.5.tar.xz";
     };
   };
   lokalize = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/lokalize-23.08.4.tar.xz";
-      sha256 = "0ca52y67sqcjmzmxz3s6vpdlycr9k8sm8v07xmkxw6m77l97f5rq";
-      name = "lokalize-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/lokalize-23.08.5.tar.xz";
+      sha256 = "0v1yhcljbzlm4jgk5bc7d6bp13s6si7issi7h4mz92awpp0a6fc5";
+      name = "lokalize-23.08.5.tar.xz";
     };
   };
   lskat = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/lskat-23.08.4.tar.xz";
-      sha256 = "1qcp2mxwddqxv8pzzaqq6sq8qyvxfy55k3pz8x7zml0iswspbv3r";
-      name = "lskat-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/lskat-23.08.5.tar.xz";
+      sha256 = "1qg1y9lhk9x573gwzs6c84bcx7nsmn80il29w5gxf88hkngznlsd";
+      name = "lskat-23.08.5.tar.xz";
     };
   };
   mailcommon = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/mailcommon-23.08.4.tar.xz";
-      sha256 = "11z9zvwlqiylrkmw1hfsvqjwgiil7g2gzfh3avrrf3p4d8mc3y3g";
-      name = "mailcommon-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/mailcommon-23.08.5.tar.xz";
+      sha256 = "1h0gsrgxxvyhjy7vsh21wch1j1lwadjnyvssvvdzncw2ky63ppb5";
+      name = "mailcommon-23.08.5.tar.xz";
     };
   };
   mailimporter = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/mailimporter-23.08.4.tar.xz";
-      sha256 = "14w82drnf5vzjcqwhs34i82ismmbbkmp6ryw64xvv70idi64gyid";
-      name = "mailimporter-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/mailimporter-23.08.5.tar.xz";
+      sha256 = "0njkw27ag6z21n6sp1395mv4khf9r6qi5333nfspqw690gfjp5wl";
+      name = "mailimporter-23.08.5.tar.xz";
     };
   };
   marble = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/marble-23.08.4.tar.xz";
-      sha256 = "13vsrfzcff64wxgi0rfsmlca62kbbny4c8rn7j90jbzdrjw5aafg";
-      name = "marble-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/marble-23.08.5.tar.xz";
+      sha256 = "120b987irps4i80amri7d7ci28vi6zjd74nc0m5n9y954wqzyv45";
+      name = "marble-23.08.5.tar.xz";
     };
   };
   markdownpart = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/markdownpart-23.08.4.tar.xz";
-      sha256 = "0gr2hd7jnx6s3fsssasf7c2hl6mk3j2ccb6552k6bpdvl1ianmfc";
-      name = "markdownpart-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/markdownpart-23.08.5.tar.xz";
+      sha256 = "1wpbspb5xhxqybanc5ckwrb2h5fqa3ivj564i31jbxlkwdvmp41j";
+      name = "markdownpart-23.08.5.tar.xz";
     };
   };
   mbox-importer = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/mbox-importer-23.08.4.tar.xz";
-      sha256 = "1pninrlpwpakpc3a50aqfjvm1y828xsqm51vbblx41yrs9sfkbmz";
-      name = "mbox-importer-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/mbox-importer-23.08.5.tar.xz";
+      sha256 = "1ar06iz73qs81k6bd2n77qj4390ql37j37w50jvjpbysbxk2knjz";
+      name = "mbox-importer-23.08.5.tar.xz";
     };
   };
   merkuro = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/merkuro-23.08.4.tar.xz";
-      sha256 = "1rdfbvir3aadgkpqnh5j3b2snwkfgay130qnr2w0lhfs3dx3q4pj";
-      name = "merkuro-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/merkuro-23.08.5.tar.xz";
+      sha256 = "15s2hwwh9b4jf11am6v7llsgvix11y6qnlwdspyzpq45378hwpcs";
+      name = "merkuro-23.08.5.tar.xz";
     };
   };
   messagelib = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/messagelib-23.08.4.tar.xz";
-      sha256 = "1nahb2zhwi6scx5pc2abgjxz13m5rnsaknvcmiarih4zald5vncs";
-      name = "messagelib-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/messagelib-23.08.5.tar.xz";
+      sha256 = "1y6xa3z6j04gxdwcfk3y4pskx7blvpxwrixxgjadba51x4lsydys";
+      name = "messagelib-23.08.5.tar.xz";
     };
   };
   minuet = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/minuet-23.08.4.tar.xz";
-      sha256 = "1wrqwgcibqifgwzz0q40rmasykxilknx9rv60yzqjlc1bh1611xg";
-      name = "minuet-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/minuet-23.08.5.tar.xz";
+      sha256 = "1bk5y99gb1qmvyf48vk6gfwyqi6nk535868k3jm375bvd956sd3m";
+      name = "minuet-23.08.5.tar.xz";
     };
   };
   neochat = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/neochat-23.08.4.tar.xz";
-      sha256 = "1sdcg24s0gvim8s6mzqn6s5cjf8sag52w0wnicm2y15w0210763d";
-      name = "neochat-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/neochat-23.08.5.tar.xz";
+      sha256 = "0cj6j08g5ng1vifpb49rks9kp4mfb3h466n6afw9dk0xxgccc06k";
+      name = "neochat-23.08.5.tar.xz";
     };
   };
   okular = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/okular-23.08.4.tar.xz";
-      sha256 = "04dga15sj8gm2l1j6qpqcm3scc5awap63g5jqbfdr1z2i8bp7z9p";
-      name = "okular-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/okular-23.08.5.tar.xz";
+      sha256 = "0r73ki98lv3293s7zvz3rq2xgj9z2jbqy3p7gs8518knn5lizmfm";
+      name = "okular-23.08.5.tar.xz";
     };
   };
   palapeli = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/palapeli-23.08.4.tar.xz";
-      sha256 = "0cb63gazax3ii78n5bir061aw20s4vkm6pgahz75kvwhfsyky4qa";
-      name = "palapeli-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/palapeli-23.08.5.tar.xz";
+      sha256 = "1lc9dc25bbagqz6iklwvk81pknwvc2a7kjicmyj8zz5432d7psps";
+      name = "palapeli-23.08.5.tar.xz";
     };
   };
   parley = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/parley-23.08.4.tar.xz";
-      sha256 = "1y6mb5k3nhra4p35dml9x5nw40b21cnz7nkirxf3wjrg7jjx0iac";
-      name = "parley-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/parley-23.08.5.tar.xz";
+      sha256 = "0rr0dn714khrrgda0lmsd81l0fyc84q3f3xc4fhblz6icj37b5an";
+      name = "parley-23.08.5.tar.xz";
     };
   };
   partitionmanager = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/partitionmanager-23.08.4.tar.xz";
-      sha256 = "1mj6pbrv9lj7jg3rfj4jncaclm70nzxw6dqbd52m48fa8vz0xpy5";
-      name = "partitionmanager-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/partitionmanager-23.08.5.tar.xz";
+      sha256 = "0d08sgml90minr2y1k8niz6d74hh5lavaaa1j0bvyj8gfgkdwflq";
+      name = "partitionmanager-23.08.5.tar.xz";
     };
   };
   picmi = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/picmi-23.08.4.tar.xz";
-      sha256 = "1dbygyydawp6982asn015l20c4g479nl63a4yvs1hlv0vs261ry6";
-      name = "picmi-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/picmi-23.08.5.tar.xz";
+      sha256 = "0f1zvl7sidpaw1y93xrqg704s44l8wg405c5pas4yahl6nrs1i1x";
+      name = "picmi-23.08.5.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/pim-data-exporter-23.08.4.tar.xz";
-      sha256 = "0nhwvg2wp25nkwgizc9zp4b5zww4ap8clfbm4s6n9c851dslh3s3";
-      name = "pim-data-exporter-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/pim-data-exporter-23.08.5.tar.xz";
+      sha256 = "0axzlzam82c70868dc93lwljbc5rllkrslyn4cnc33fvz1xf41kc";
+      name = "pim-data-exporter-23.08.5.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/pim-sieve-editor-23.08.4.tar.xz";
-      sha256 = "1bkll224v8pqcph33qnvi0sk5zymdz6jy5s4rqdd13nqzzv6cyhb";
-      name = "pim-sieve-editor-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/pim-sieve-editor-23.08.5.tar.xz";
+      sha256 = "1r756987lwzl27mcdsb0k2wa8crm2lw1xvr197f73j3bnd4a3njx";
+      name = "pim-sieve-editor-23.08.5.tar.xz";
     };
   };
   pimcommon = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/pimcommon-23.08.4.tar.xz";
-      sha256 = "0lfxd76rg4gx98xiwhzvv6bi97rqpxppc0qs1zgzd94hnar7kafl";
-      name = "pimcommon-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/pimcommon-23.08.5.tar.xz";
+      sha256 = "0bjdbz89141rh1895c4ghx3s2v93wpdghpymi50203rark1iqnsz";
+      name = "pimcommon-23.08.5.tar.xz";
     };
   };
   plasmatube = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/plasmatube-23.08.4.tar.xz";
-      sha256 = "0mdljamssq8609mxfm1whdpf0jd3lvyrd5cf7rhnq35hvrncm4b1";
-      name = "plasmatube-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/plasmatube-23.08.5.tar.xz";
+      sha256 = "178vgir5j2535q6gh2p11c7gjsm61f368lmysr8jdmsr43f4zjk6";
+      name = "plasmatube-23.08.5.tar.xz";
     };
   };
   poxml = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/poxml-23.08.4.tar.xz";
-      sha256 = "0irp4ns0p25navasgdpgi35xxa1n5jf9aly32604dddx2mrh1w0r";
-      name = "poxml-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/poxml-23.08.5.tar.xz";
+      sha256 = "1i371b4x4a1ciklxicpwghajzzg7qnvssqgzr6lqnfy9gi8p4p3s";
+      name = "poxml-23.08.5.tar.xz";
     };
   };
   print-manager = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/print-manager-23.08.4.tar.xz";
-      sha256 = "0hsxawswgpaidm2wg5s8mzzh46cascr1pfjiqplqndzixff77grd";
-      name = "print-manager-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/print-manager-23.08.5.tar.xz";
+      sha256 = "0jssp0nczr928v1dz9fg5ycsr5s1f0x9yr60lpxa33mgmyrrkvgp";
+      name = "print-manager-23.08.5.tar.xz";
     };
   };
   qmlkonsole = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/qmlkonsole-23.08.4.tar.xz";
-      sha256 = "1qjszxh9wxpl1is2k065s9w18frvpnz2x6sk36r3c87xaxn7pzxi";
-      name = "qmlkonsole-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/qmlkonsole-23.08.5.tar.xz";
+      sha256 = "0fjw7781a5qzfbkamcvfz3dl1sf793phmjlcp8bdgj3ha4kk9ffl";
+      name = "qmlkonsole-23.08.5.tar.xz";
     };
   };
   rocs = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/rocs-23.08.4.tar.xz";
-      sha256 = "0182szpicdg353gapjsghg35sw638kcddwaycn3jkc50mwfy9jg1";
-      name = "rocs-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/rocs-23.08.5.tar.xz";
+      sha256 = "1c9yrn42bs3r50nzdmib3v6z80kykd271paqbgj4isi2hamw3g7r";
+      name = "rocs-23.08.5.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/signon-kwallet-extension-23.08.4.tar.xz";
-      sha256 = "1fpqjzpj7dhcp1km5fg65jpa1v78hsgpgrriyvpqpvaxfn0ylifi";
-      name = "signon-kwallet-extension-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/signon-kwallet-extension-23.08.5.tar.xz";
+      sha256 = "1z4vwmgh102jxbacf40sp9x1bjy2bvnamhi6lv387rpx7snwlmp5";
+      name = "signon-kwallet-extension-23.08.5.tar.xz";
     };
   };
   skanlite = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/skanlite-23.08.4.tar.xz";
-      sha256 = "0wh5c3w8sbggpcln6arqagfxffyjns4v2v1d8drawfn66q5pqzvk";
-      name = "skanlite-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/skanlite-23.08.5.tar.xz";
+      sha256 = "1fhd10gr7pya08l98cylc4dkh0hisa0zgj32djkzb64pr16wlyk6";
+      name = "skanlite-23.08.5.tar.xz";
     };
   };
   skanpage = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/skanpage-23.08.4.tar.xz";
-      sha256 = "1mdvh7qknlfrcq8v7hbjdbns7327czch95dh5w6w86r1a5by2mxn";
-      name = "skanpage-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/skanpage-23.08.5.tar.xz";
+      sha256 = "1fvj1ckh67sch4m0dfz8wficmsr12b8jk74q66skpi362h731qiq";
+      name = "skanpage-23.08.5.tar.xz";
     };
   };
   spectacle = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/spectacle-23.08.4.tar.xz";
-      sha256 = "04yd00p0rkpswrcj13ckp38ii185g1dab82vm58inm8i8cyyarbq";
-      name = "spectacle-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/spectacle-23.08.5.tar.xz";
+      sha256 = "0g3n3n42jp2vi1jv3d8j8rf9362axf9pfpsphbsag15jdppk1y2l";
+      name = "spectacle-23.08.5.tar.xz";
     };
   };
   step = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/step-23.08.4.tar.xz";
-      sha256 = "0dmnc9kvg2hxi2mf4d55k4sm82lfb4xs6apq4m8fxqd3zh0jxr9n";
-      name = "step-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/step-23.08.5.tar.xz";
+      sha256 = "0lafzlnjaiqvkz4jcyc6nghiv182x5rlwrn5qrhhvmf5r4qlxnxm";
+      name = "step-23.08.5.tar.xz";
     };
   };
   svgpart = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/svgpart-23.08.4.tar.xz";
-      sha256 = "111zdzp5knm1x13d1mhhn48l72lfa28jwn69023skgav35fa50wh";
-      name = "svgpart-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/svgpart-23.08.5.tar.xz";
+      sha256 = "1fbqfzn9nppvx51kvam08w9kcfz9y3l86bddvlmyj1j0v26kf6ll";
+      name = "svgpart-23.08.5.tar.xz";
     };
   };
   sweeper = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/sweeper-23.08.4.tar.xz";
-      sha256 = "0csqrkbx86ppfddqc5qvzp0svw0ngf9129p3xz5birhcdvq3bpic";
-      name = "sweeper-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/sweeper-23.08.5.tar.xz";
+      sha256 = "1mf1s8725pfbh4s6cl4nmi6dk0kl5l9ldjkwgb7dh15dli37gpss";
+      name = "sweeper-23.08.5.tar.xz";
     };
   };
   telly-skout = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/telly-skout-23.08.4.tar.xz";
-      sha256 = "1ipy5vl9vj800cy7axag4y1gnnszgbyvw22ns1j2x1z7m3rhp5vi";
-      name = "telly-skout-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/telly-skout-23.08.5.tar.xz";
+      sha256 = "1a196ychw81k1m5kql3nnzkzhz98cpn35d257sa8qah0hz3ad4bx";
+      name = "telly-skout-23.08.5.tar.xz";
     };
   };
   tokodon = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/tokodon-23.08.4.tar.xz";
-      sha256 = "1hsdwmnrsqm5mi1c7lsa6p7r29w8iz27129yf6j1491yw3cv9lqw";
-      name = "tokodon-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/tokodon-23.08.5.tar.xz";
+      sha256 = "0r8jx2k5znv6pi3wnss0rng870ky3d1c8bd7lhd7fakihsjpm22b";
+      name = "tokodon-23.08.5.tar.xz";
     };
   };
   umbrello = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/umbrello-23.08.4.tar.xz";
-      sha256 = "0vms6wflbybpaxwng29hsw5mcjrxw24kp8b6i1chavqryhci7s0k";
-      name = "umbrello-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/umbrello-23.08.5.tar.xz";
+      sha256 = "1067chdyxfb6h5ma628dia1fjrs8yz3204jn5iprfhasxqi44h2c";
+      name = "umbrello-23.08.5.tar.xz";
     };
   };
   yakuake = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/yakuake-23.08.4.tar.xz";
-      sha256 = "1igzc110fvzwa9817hclv7whwmfvp4hvcn636a6l4s5vsajm940y";
-      name = "yakuake-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/yakuake-23.08.5.tar.xz";
+      sha256 = "097bl6rjs5pj7arypcmncwb8ji9jfd8gli0y65454b0aafa5hnac";
+      name = "yakuake-23.08.5.tar.xz";
     };
   };
   zanshin = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/zanshin-23.08.4.tar.xz";
-      sha256 = "0axrh9g6drxp5sjmcbv7vqbi0n7q6qpnlgs546186z25kwq80xm0";
-      name = "zanshin-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/zanshin-23.08.5.tar.xz";
+      sha256 = "0vpmcmik362b6i232awd0f695w5q82bi4x2lq3x3plnh0wf5xyf0";
+      name = "zanshin-23.08.5.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/logging/humioctl/default.nix b/pkgs/applications/logging/humioctl/default.nix
index b0744505d09e..d9f780c0b3a2 100644
--- a/pkgs/applications/logging/humioctl/default.nix
+++ b/pkgs/applications/logging/humioctl/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     description = "A CLI for managing and sending data to Humio";
     license = licenses.asl20;
     maintainers = with maintainers; [ lucperkins ];
+    mainProgram = "humioctl";
   };
 }
diff --git a/pkgs/applications/misc/HentaiAtHome/default.nix b/pkgs/applications/misc/HentaiAtHome/default.nix
index d5023c64fd1b..e34c2434a4f5 100644
--- a/pkgs/applications/misc/HentaiAtHome/default.nix
+++ b/pkgs/applications/misc/HentaiAtHome/default.nix
@@ -52,5 +52,6 @@ stdenvNoCC.mkDerivation rec {
       "Hentai@Home is an open-source P2P gallery distribution system which reduces the load on the E-Hentai Galleries";
     license = licenses.gpl3;
     maintainers = with maintainers; [ terrorjack ];
+    mainProgram = "HentaiAtHome";
   };
 }
diff --git a/pkgs/applications/misc/abook/default.nix b/pkgs/applications/misc/abook/default.nix
index e822f869619b..358ecbcef39b 100644
--- a/pkgs/applications/misc/abook/default.nix
+++ b/pkgs/applications/misc/abook/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.edwtjo ];
     platforms = with lib.platforms; unix;
+    mainProgram = "abook";
   };
 }
diff --git a/pkgs/applications/misc/anup/default.nix b/pkgs/applications/misc/anup/default.nix
index f7e560a32c52..94c21164184d 100644
--- a/pkgs/applications/misc/anup/default.nix
+++ b/pkgs/applications/misc/anup/default.nix
@@ -30,5 +30,6 @@ rustPlatform.buildRustPackage rec {
     description = "An anime tracker for AniList featuring a TUI";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ natto1784 ];
+    mainProgram = "anup";
   };
 }
diff --git a/pkgs/applications/misc/ape/default.nix b/pkgs/applications/misc/ape/default.nix
index c359d606a859..e50d766a88b2 100644
--- a/pkgs/applications/misc/ape/default.nix
+++ b/pkgs/applications/misc/ape/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = license;
     platforms = platforms.unix;
     maintainers = with maintainers; [ yrashk ];
+    mainProgram = "ape";
   };
 }
diff --git a/pkgs/applications/misc/artha/default.nix b/pkgs/applications/misc/artha/default.nix
index ac3e9c7c5a1d..0dfc3285c061 100644
--- a/pkgs/applications/misc/artha/default.nix
+++ b/pkgs/applications/misc/artha/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
+    mainProgram = "artha";
   };
 }
diff --git a/pkgs/applications/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix
index ff171f457409..af12e6b2f4b8 100644
--- a/pkgs/applications/misc/avrdudess/default.nix
+++ b/pkgs/applications/misc/avrdudess/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
+    mainProgram = "avrdudess";
   };
 }
diff --git a/pkgs/applications/misc/azuredatastudio/default.nix b/pkgs/applications/misc/azuredatastudio/default.nix
index f90bed6390f2..ff441f672a50 100644
--- a/pkgs/applications/misc/azuredatastudio/default.nix
+++ b/pkgs/applications/misc/azuredatastudio/default.nix
@@ -193,5 +193,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     license = lib.licenses.unfreeRedistributable;
     platforms = [ "x86_64-linux" ];
+    mainProgram = "azuredatastudio";
   };
 }
diff --git a/pkgs/applications/misc/base16-universal-manager/default.nix b/pkgs/applications/misc/base16-universal-manager/default.nix
index 2ecbc5f41809..98a255f87398 100644
--- a/pkgs/applications/misc/base16-universal-manager/default.nix
+++ b/pkgs/applications/misc/base16-universal-manager/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/pinpox/base16-universal-manager";
     license = licenses.mit;
     maintainers = with maintainers; [ jo1gi ];
+    mainProgram = "base16-universal-manager";
   };
 }
diff --git a/pkgs/applications/misc/bb/default.nix b/pkgs/applications/misc/bb/default.nix
index 97bd2a1f21ca..89a0d75fc2b5 100644
--- a/pkgs/applications/misc/bb/default.nix
+++ b/pkgs/applications/misc/bb/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license     = licenses.gpl2Plus;
     maintainers = [ maintainers.rnhmjoj ];
     platforms   = platforms.unix;
+    mainProgram = "bb";
   };
 }
diff --git a/pkgs/applications/misc/bklk/default.nix b/pkgs/applications/misc/bklk/default.nix
index 62aeb7c91a5f..a62eed5f8e1b 100644
--- a/pkgs/applications/misc/bklk/default.nix
+++ b/pkgs/applications/misc/bklk/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ j0hax ];
     platforms = platforms.all;
+    mainProgram = "bklk";
   };
 }
diff --git a/pkgs/applications/misc/blugon/default.nix b/pkgs/applications/misc/blugon/default.nix
index d11a61e440fb..5aab73ef1467 100644
--- a/pkgs/applications/misc/blugon/default.nix
+++ b/pkgs/applications/misc/blugon/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/jumper149/blugon";
     platforms = platforms.unix;
     maintainers = with maintainers; [ jumper149 ];
+    mainProgram = "blugon";
   };
 }
diff --git a/pkgs/applications/misc/camunda-modeler/default.nix b/pkgs/applications/misc/camunda-modeler/default.nix
index bf9c06efb54f..3469e8eeb446 100644
--- a/pkgs/applications/misc/camunda-modeler/default.nix
+++ b/pkgs/applications/misc/camunda-modeler/default.nix
@@ -66,6 +66,7 @@ stdenvNoCC.mkDerivation rec {
     maintainers = teams.wdz.members;
     license = licenses.mit;
     inherit (electron.meta) platforms;
+    mainProgram = "camunda-modeler";
   };
 }
 
diff --git a/pkgs/applications/misc/cardpeek/default.nix b/pkgs/applications/misc/cardpeek/default.nix
index adabcdac9542..4cf13498be94 100644
--- a/pkgs/applications/misc/cardpeek/default.nix
+++ b/pkgs/applications/misc/cardpeek/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3Plus;
     platforms = with platforms; linux ++ darwin;
     maintainers = with maintainers; [ embr ];
+    mainProgram = "cardpeek";
   };
 }
diff --git a/pkgs/applications/misc/charm/default.nix b/pkgs/applications/misc/charm/default.nix
index eac305bd399e..bf3520d4634e 100644
--- a/pkgs/applications/misc/charm/default.nix
+++ b/pkgs/applications/misc/charm/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     changelog = "https://github.com/charmbracelet/charm/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ penguwin ];
+    mainProgram = "charm";
   };
 }
diff --git a/pkgs/applications/misc/cheat/default.nix b/pkgs/applications/misc/cheat/default.nix
index da39da86ef7b..ef8780f1e88b 100644
--- a/pkgs/applications/misc/cheat/default.nix
+++ b/pkgs/applications/misc/cheat/default.nix
@@ -30,5 +30,6 @@ buildGoModule rec {
     maintainers = with maintainers; [ mic92 ];
     license = with licenses; [ gpl3 mit ];
     inherit (src.meta) homepage;
+    mainProgram = "cheat";
   };
 }
diff --git a/pkgs/applications/misc/clight/default.nix b/pkgs/applications/misc/clight/default.nix
index e198bdc9fc72..3adff5c62887 100644
--- a/pkgs/applications/misc/clight/default.nix
+++ b/pkgs/applications/misc/clight/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [
       eadwu
     ];
+    mainProgram = "clight";
   };
 }
diff --git a/pkgs/applications/misc/clipqr/default.nix b/pkgs/applications/misc/clipqr/default.nix
index d9265b2d1135..8bbfcc6d4209 100644
--- a/pkgs/applications/misc/clipqr/default.nix
+++ b/pkgs/applications/misc/clipqr/default.nix
@@ -68,5 +68,6 @@ buildGoModule rec {
     maintainers = with maintainers; [ MatthieuBarthel ];
     homepage = "https://gitlab.com/imatt-foss/clipqr";
     broken = stdenv.isDarwin;
+    mainProgram = "clipqr";
   };
 }
diff --git a/pkgs/applications/misc/cloak/default.nix b/pkgs/applications/misc/cloak/default.nix
index 7c362961b4be..bf3dd3c4a081 100644
--- a/pkgs/applications/misc/cloak/default.nix
+++ b/pkgs/applications/misc/cloak/default.nix
@@ -20,5 +20,6 @@ rustPlatform.buildRustPackage rec {
     description = "Command-line OTP authenticator application";
     license = licenses.mit;
     maintainers = with maintainers; [ mvs ];
+    mainProgram = "cloak";
   };
 }
diff --git a/pkgs/applications/misc/cmatrix/default.nix b/pkgs/applications/misc/cmatrix/default.nix
index 8008edf09969..7aca6851df21 100644
--- a/pkgs/applications/misc/cmatrix/default.nix
+++ b/pkgs/applications/misc/cmatrix/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/abishekvashok/cmatrix";
     platforms = ncurses.meta.platforms;
     maintainers = [ maintainers.AndersonTorres ];
+    mainProgram = "cmatrix";
   };
 }
diff --git a/pkgs/applications/misc/cobalt/default.nix b/pkgs/applications/misc/cobalt/default.nix
index 0cdd77b4293c..feb6a2c80be4 100644
--- a/pkgs/applications/misc/cobalt/default.nix
+++ b/pkgs/applications/misc/cobalt/default.nix
@@ -21,5 +21,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ ethancedwards8 ];
     platforms = platforms.unix;
+    mainProgram = "cobalt";
   };
 }
diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix
index 6e22b443a573..16a59b2fdb71 100644
--- a/pkgs/applications/misc/cointop/default.nix
+++ b/pkgs/applications/misc/cointop/default.nix
@@ -27,5 +27,6 @@ buildGoModule rec {
     homepage = "https://cointop.sh";
     maintainers = [ maintainers.marsam ];
     license = licenses.asl20;
+    mainProgram = "cointop";
   };
 }
diff --git a/pkgs/applications/misc/colorstorm/default.nix b/pkgs/applications/misc/colorstorm/default.nix
index 0f78510aa2f6..ddb429dae33f 100644
--- a/pkgs/applications/misc/colorstorm/default.nix
+++ b/pkgs/applications/misc/colorstorm/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ ];
     inherit (zig_0_9.meta) platforms;
+    mainProgram = "colorstorm";
   };
 })
diff --git a/pkgs/applications/misc/colort/default.nix b/pkgs/applications/misc/colort/default.nix
index 7a1ae7a9e2f4..2716e2d464bc 100644
--- a/pkgs/applications/misc/colort/default.nix
+++ b/pkgs/applications/misc/colort/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = [ maintainers.neeasade ];
+    mainProgram = "colort";
   };
 }
diff --git a/pkgs/applications/misc/coltrane/default.nix b/pkgs/applications/misc/coltrane/default.nix
index 81d095160e07..5d77f8dd6d56 100644
--- a/pkgs/applications/misc/coltrane/default.nix
+++ b/pkgs/applications/misc/coltrane/default.nix
@@ -19,5 +19,6 @@ bundlerApp rec {
     '';
     license = licenses.mit;
     maintainers = [ maintainers.panaeon ];
+    mainProgram = "coltrane";
   };
 }
diff --git a/pkgs/applications/misc/comodoro/default.nix b/pkgs/applications/misc/comodoro/default.nix
index f03b27ea51ca..2d780d5d514b 100644
--- a/pkgs/applications/misc/comodoro/default.nix
+++ b/pkgs/applications/misc/comodoro/default.nix
@@ -43,5 +43,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/soywod/comodoro/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ soywod ];
+    mainProgram = "comodoro";
   };
 }
diff --git a/pkgs/applications/misc/confetty/default.nix b/pkgs/applications/misc/confetty/default.nix
index 77269ef85354..a9e838c84b01 100644
--- a/pkgs/applications/misc/confetty/default.nix
+++ b/pkgs/applications/misc/confetty/default.nix
@@ -23,5 +23,6 @@ buildGoModule {
     homepage = "https://github.com/maaslalani/confetty";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "confetty";
   };
 }
diff --git a/pkgs/applications/misc/cotp/default.nix b/pkgs/applications/misc/cotp/default.nix
index 054823b86f2a..71d1c4a81bd6 100644
--- a/pkgs/applications/misc/cotp/default.nix
+++ b/pkgs/applications/misc/cotp/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cotp";
-  version = "1.3.0";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "replydev";
     repo = "cotp";
     rev = "v${version}";
-    hash = "sha256-IGk7akmHGQXLHfCCq6GXOIUnh63/sE2Ds+8H91uMKnw=";
+    hash = "sha256-S2658xkaDshQBYfy8mwuuBAKWGF4j+UYtapqPEf1wP4=";
   };
 
-  cargoHash = "sha256-2SD62zlWck+DPFs8bQipd8G09134L6LotrzfAiM1Pc8=";
+  cargoHash = "sha256-DGx/LsKzoITA4extStjULiuiHJx0sTlPloE8h8MvnXQ=";
 
   buildInputs = lib.optionals stdenv.isLinux [ libxcb ]
     ++ lib.optionals stdenv.isDarwin [ AppKit ];
@@ -27,5 +27,6 @@ rustPlatform.buildRustPackage rec {
     description = "Trustworthy, encrypted, command-line TOTP/HOTP authenticator app with import functionality";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ davsanchez ];
+    mainProgram = "cotp";
   };
 }
diff --git a/pkgs/applications/misc/crumbs/default.nix b/pkgs/applications/misc/crumbs/default.nix
index 5bb422058168..7dbcf74faf7e 100644
--- a/pkgs/applications/misc/crumbs/default.nix
+++ b/pkgs/applications/misc/crumbs/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
       license     = licenses.wtfpl;
       platforms   = platforms.all;
       maintainers = with maintainers; [ thesola10 ];
+      mainProgram = "crumbs";
     };
 }
diff --git a/pkgs/applications/misc/ctodo/default.nix b/pkgs/applications/misc/ctodo/default.nix
index 224a79881e04..315d5ffc34cf 100644
--- a/pkgs/applications/misc/ctodo/default.nix
+++ b/pkgs/applications/misc/ctodo/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.matthiasbeyer ];
     platforms = platforms.unix;
+    mainProgram = "ctodo";
   };
 }
diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix
index 2abe82913a4e..1155ce8e8e8e 100644
--- a/pkgs/applications/misc/curaengine/default.nix
+++ b/pkgs/applications/misc/curaengine/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     license = licenses.agpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar gebner ];
+    mainProgram = "CuraEngine";
   };
 }
diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix
index fb954cef5c65..75ffbb9080bd 100644
--- a/pkgs/applications/misc/dasel/default.nix
+++ b/pkgs/applications/misc/dasel/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "dasel";
-  version = "2.5.0";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "TomWright";
     repo = "dasel";
     rev = "v${version}";
-    hash = "sha256-frd4jNn5uruz9oX40ly/AR5I/uKRIfQ8IjOlIvlsOlY=";
+    hash = "sha256-4SINZXjTILJDmjv6ubuAhBzBmrXY0gJ0huNM3Y0O7Go=";
   };
 
-  vendorHash = "sha256-B3d+pbk0smBXqcJnac5he0TZPLiT1cLtz02OAGfqhC0=";
+  vendorHash = "sha256-G9IdTMF5Lnwq38rdJtuvUjD4RBaSmCYs3g+ETz29Mec=";
 
   ldflags = [
     "-s" "-w" "-X github.com/tomwright/dasel/v2/internal.Version=${version}"
diff --git a/pkgs/applications/misc/ddgr/default.nix b/pkgs/applications/misc/ddgr/default.nix
index 0e7800b9bbb3..04f27117f8e2 100644
--- a/pkgs/applications/misc/ddgr/default.nix
+++ b/pkgs/applications/misc/ddgr/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ ceedubs markus1189 ];
     platforms = python3.meta.platforms;
+    mainProgram = "ddgr";
   };
 }
diff --git a/pkgs/applications/misc/deadd-notification-center/default.nix b/pkgs/applications/misc/deadd-notification-center/default.nix
index edc1f8ba9e1c..5551ebe1750f 100644
--- a/pkgs/applications/misc/deadd-notification-center/default.nix
+++ b/pkgs/applications/misc/deadd-notification-center/default.nix
@@ -60,4 +60,5 @@ in mkDerivation rec {
   license = lib.licenses.bsd3;
   maintainers = with lib.maintainers; [ melkor333 sna ];
   platforms = lib.platforms.linux;
+  mainProgram = "deadd-notification-center";
 }
diff --git a/pkgs/applications/misc/deco/default.nix b/pkgs/applications/misc/deco/default.nix
index b19f3f38dac7..a39f6b4f0bad 100644
--- a/pkgs/applications/misc/deco/default.nix
+++ b/pkgs/applications/misc/deco/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.unix;
+    mainProgram = "deco";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/devdocs-desktop/default.nix b/pkgs/applications/misc/devdocs-desktop/default.nix
index 97ed9ed72962..55fe2b9e2cf7 100644
--- a/pkgs/applications/misc/devdocs-desktop/default.nix
+++ b/pkgs/applications/misc/devdocs-desktop/default.nix
@@ -35,5 +35,6 @@ in appimageTools.wrapType2 rec {
     license = licenses.mit;
     maintainers = with maintainers; [ ymarkus ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "devdocs-desktop";
   };
 }
diff --git a/pkgs/applications/misc/devilspie2/default.nix b/pkgs/applications/misc/devilspie2/default.nix
index 581a8126cada..8ea982f6059f 100644
--- a/pkgs/applications/misc/devilspie2/default.nix
+++ b/pkgs/applications/misc/devilspie2/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.linux;
+    mainProgram = "devilspie2";
   };
 }
diff --git a/pkgs/applications/misc/diff-pdf/default.nix b/pkgs/applications/misc/diff-pdf/default.nix
index f88af3be2721..1d54b57c9b2f 100644
--- a/pkgs/applications/misc/diff-pdf/default.nix
+++ b/pkgs/applications/misc/diff-pdf/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.all;
     maintainers = with maintainers; [ dtzWill ];
+    mainProgram = "diff-pdf";
   };
 }
diff --git a/pkgs/applications/misc/doctave/default.nix b/pkgs/applications/misc/doctave/default.nix
index 454c6bea3315..3ebe50311d57 100644
--- a/pkgs/applications/misc/doctave/default.nix
+++ b/pkgs/applications/misc/doctave/default.nix
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/doctave/doctave/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "doctave";
   };
 }
diff --git a/pkgs/applications/misc/doing/default.nix b/pkgs/applications/misc/doing/default.nix
index e539cf3ae19e..c5114eccc77f 100644
--- a/pkgs/applications/misc/doing/default.nix
+++ b/pkgs/applications/misc/doing/default.nix
@@ -21,5 +21,6 @@ bundlerEnv {
     license     = licenses.mit;
     maintainers = with maintainers; [ ktf nicknovitski ];
     platforms   = platforms.unix;
+    mainProgram = "doing";
   };
 }
diff --git a/pkgs/applications/misc/downonspot/default.nix b/pkgs/applications/misc/downonspot/default.nix
index 23747102fecb..5a7c6ce6933b 100644
--- a/pkgs/applications/misc/downonspot/default.nix
+++ b/pkgs/applications/misc/downonspot/default.nix
@@ -41,5 +41,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ onny ];
+    mainProgram = "down_on_spot";
   };
 }
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
deleted file mode 100644
index 47dbaa62c3c1..000000000000
--- a/pkgs/applications/misc/dunst/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper
-, pkg-config, which, perl, jq, libXrandr, coreutils
-, cairo, dbus, systemd, gdk-pixbuf, glib, libX11, libXScrnSaver
-, wayland, wayland-protocols
-, libXinerama, libnotify, pango, xorgproto, librsvg
-, testers, dunst
-}:
-
-stdenv.mkDerivation rec {
-  pname = "dunst";
-  version = "1.9.2";
-
-  src = fetchFromGitHub {
-    owner = "dunst-project";
-    repo = "dunst";
-    rev = "v${version}";
-    sha256 = "sha256-8IH0WTPSaAundhYh4l7gQR66nyT38H4DstRTm+Xh+Z8=";
-  };
-
-  nativeBuildInputs = [ perl pkg-config which systemd makeWrapper ];
-
-  buildInputs = [
-    cairo dbus gdk-pixbuf glib libX11 libXScrnSaver
-    libXinerama libnotify pango xorgproto librsvg libXrandr
-    wayland wayland-protocols
-  ];
-
-  outputs = [ "out" "man" ];
-
-  makeFlags = [
-    "PREFIX=$(out)"
-    "VERSION=$(version)"
-    "SYSCONFDIR=$(out)/etc"
-    "SERVICEDIR_DBUS=$(out)/share/dbus-1/services"
-    "SERVICEDIR_SYSTEMD=$(out)/lib/systemd/user"
-  ];
-
-  postInstall = ''
-    wrapProgram $out/bin/dunst \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
-
-    wrapProgram $out/bin/dunstctl \
-      --prefix PATH : "${lib.makeBinPath [ coreutils dbus ]}"
-
-    install -D contrib/_dunst.zshcomp $out/share/zsh/site-functions/_dunst
-    install -D contrib/_dunstctl.zshcomp $out/share/zsh/site-functions/_dunstctl
-    substituteInPlace $out/share/zsh/site-functions/_dunstctl \
-      --replace "jq -M" "${jq}/bin/jq -M"
-  '';
-
-  passthru.tests.version = testers.testVersion { package = dunst; };
-
-  meta = with lib; {
-    description = "Lightweight and customizable notification daemon";
-    homepage = "https://dunst-project.org/";
-    license = licenses.bsd3;
-    # NOTE: 'unix' or even 'all' COULD work too, I'm not sure
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ domenkozar ];
-    mainProgram = "dunst";
-  };
-}
diff --git a/pkgs/applications/misc/dwmbar/default.nix b/pkgs/applications/misc/dwmbar/default.nix
index 5559f4a6e5af..0d942eff73d7 100644
--- a/pkgs/applications/misc/dwmbar/default.nix
+++ b/pkgs/applications/misc/dwmbar/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ baitinq ];
     platforms = platforms.linux;
+    mainProgram = "dwmbar";
   };
 }
diff --git a/pkgs/applications/misc/dwmblocks/default.nix b/pkgs/applications/misc/dwmblocks/default.nix
index c31a1a4b0630..0b7abc7e3dfc 100644
--- a/pkgs/applications/misc/dwmblocks/default.nix
+++ b/pkgs/applications/misc/dwmblocks/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation {
     license = licenses.isc;
     maintainers = with maintainers; [ sophrosyne ];
     platforms = platforms.linux;
+    mainProgram = "dwmblocks";
   };
 }
diff --git a/pkgs/applications/misc/effitask/default.nix b/pkgs/applications/misc/effitask/default.nix
index 50172b9d1cb4..345f87d84a1c 100644
--- a/pkgs/applications/misc/effitask/default.nix
+++ b/pkgs/applications/misc/effitask/default.nix
@@ -44,5 +44,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/sanpii/effitask";
     maintainers = with maintainers; [ davidak ];
     license = with licenses; [ mit ];
+    mainProgram = "effitask";
   };
 }
diff --git a/pkgs/applications/misc/electrum/ltc.nix b/pkgs/applications/misc/electrum/ltc.nix
index 844a49974b8f..9b0c63834cfb 100644
--- a/pkgs/applications/misc/electrum/ltc.nix
+++ b/pkgs/applications/misc/electrum/ltc.nix
@@ -136,6 +136,6 @@ python3.pkgs.buildPythonApplication {
     homepage = "https://electrum-ltc.org/";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ lourkeur ];
+    maintainers = with maintainers; [ bbjubjub ];
   };
 }
diff --git a/pkgs/applications/misc/elfx86exts/default.nix b/pkgs/applications/misc/elfx86exts/default.nix
index cf0711ca64e8..7e11d90f5d2e 100644
--- a/pkgs/applications/misc/elfx86exts/default.nix
+++ b/pkgs/applications/misc/elfx86exts/default.nix
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/pkgw/elfx86exts";
     maintainers = with maintainers; [ rmcgibbo ];
     license = with licenses; [ mit ];
+    mainProgram = "elfx86exts";
   };
 }
diff --git a/pkgs/applications/misc/emem/default.nix b/pkgs/applications/misc/emem/default.nix
index 77a8adc69257..ef429ac4c084 100644
--- a/pkgs/applications/misc/emem/default.nix
+++ b/pkgs/applications/misc/emem/default.nix
@@ -35,5 +35,6 @@ EOF
     license = licenses.epl10;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.unix;
+    mainProgram = "emem";
   };
 }
diff --git a/pkgs/applications/misc/epdfview/default.nix b/pkgs/applications/misc/epdfview/default.nix
index 9eea30e74f86..840165dcedee 100644
--- a/pkgs/applications/misc/epdfview/default.nix
+++ b/pkgs/applications/misc/epdfview/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.astsmtl ];
     platforms = platforms.linux;
+    mainProgram = "epdfview";
   };
 }
diff --git a/pkgs/applications/misc/evtest/default.nix b/pkgs/applications/misc/evtest/default.nix
index 0e4a0f5be00e..39f8ea8c0f83 100644
--- a/pkgs/applications/misc/evtest/default.nix
+++ b/pkgs/applications/misc/evtest/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
+    mainProgram = "evtest";
   };
 }
diff --git a/pkgs/applications/misc/exercism/default.nix b/pkgs/applications/misc/exercism/default.nix
index aa54b29dab1c..d91f35980404 100644
--- a/pkgs/applications/misc/exercism/default.nix
+++ b/pkgs/applications/misc/exercism/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "exercism";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "exercism";
     repo  = "cli";
     rev   = "refs/tags/v${version}";
-    hash  = "sha256-+DXmbbs9oo667o5P0OVcfBMMIvyBzEAdbrq9i+U7p0k=";
+    hash  = "sha256-Mtb5c1/k8kp7bETOSE0X969BV176jpoprr1/mQ3E4Vg=";
   };
 
-  vendorHash = "sha256-wQGnGshsRJLe3niHDoyr3BTxbwrV3L66EjJ8x633uHY=";
+  vendorHash = "sha256-fnsSvbuVGRAndU88su2Ck7mV8QBDhxozdmwI3XGtxcA=";
 
   doCheck = false;
 
@@ -24,5 +24,6 @@ buildGoModule rec {
    description = "A Go based command line tool for exercism.io";
    license     = licenses.mit;
    maintainers = [ maintainers.rbasso maintainers.nobbz ];
+   mainProgram = "exercism";
   };
 }
diff --git a/pkgs/applications/misc/expenses/default.nix b/pkgs/applications/misc/expenses/default.nix
index 220cd1178564..0bca959b8b04 100644
--- a/pkgs/applications/misc/expenses/default.nix
+++ b/pkgs/applications/misc/expenses/default.nix
@@ -40,5 +40,6 @@ buildGoModule rec {
    description = "An interactive command line expense logger";
    license = licenses.mit;
    maintainers = [ maintainers.manojkarthick ];
+   mainProgram = "expenses";
   };
 }
diff --git a/pkgs/applications/misc/fead/default.nix b/pkgs/applications/misc/fead/default.nix
index bfd645c43313..73907a175881 100644
--- a/pkgs/applications/misc/fead/default.nix
+++ b/pkgs/applications/misc/fead/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.agpl3Plus;
     changelog = "https://git.sr.ht/~cnx/fead/refs/${version}";
     maintainers = with maintainers; [ McSinyx ];
+    mainProgram = "fead";
   };
 }
diff --git a/pkgs/applications/misc/fehlstart/default.nix b/pkgs/applications/misc/fehlstart/default.nix
index 69050ca661f9..4d3903bbb6ec 100644
--- a/pkgs/applications/misc/fehlstart/default.nix
+++ b/pkgs/applications/misc/fehlstart/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3;
     maintainers = [ maintainers.mounium ];
     platforms = platforms.all;
+    mainProgram = "fehlstart";
   };
 }
diff --git a/pkgs/applications/misc/ff2mpv/default.nix b/pkgs/applications/misc/ff2mpv/default.nix
index 2a1ff0458a5d..a87e84ea3892 100644
--- a/pkgs/applications/misc/ff2mpv/default.nix
+++ b/pkgs/applications/misc/ff2mpv/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/woodruffw/ff2mpv";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ Enzime ];
+    mainProgram = "ff2mpv.py";
   };
 }
diff --git a/pkgs/applications/misc/filet/default.nix b/pkgs/applications/misc/filet/default.nix
index 0ee3f6fb221a..b13f24be307d 100644
--- a/pkgs/applications/misc/filet/default.nix
+++ b/pkgs/applications/misc/filet/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     license = licenses.mpl20;
     platforms = platforms.all;
     maintainers = with maintainers; [ buffet ];
+    mainProgram = "filet";
   };
 }
diff --git a/pkgs/applications/misc/firefly-desktop/default.nix b/pkgs/applications/misc/firefly-desktop/default.nix
index f039a31a9eb9..9df2118b02fb 100644
--- a/pkgs/applications/misc/firefly-desktop/default.nix
+++ b/pkgs/applications/misc/firefly-desktop/default.nix
@@ -30,5 +30,6 @@ in appimageTools.wrapType2 {
     license = licenses.asl20;
     maintainers = with maintainers; [ wolfangaukang ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "firefly-desktop";
   };
 }
diff --git a/pkgs/applications/misc/firestarter/default.nix b/pkgs/applications/misc/firestarter/default.nix
index 4e8e4ff61306..a8372b643bd3 100644
--- a/pkgs/applications/misc/firestarter/default.nix
+++ b/pkgs/applications/misc/firestarter/default.nix
@@ -105,5 +105,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [ astro marenz ];
     license = licenses.gpl3;
+    mainProgram = "FIRESTARTER";
   };
 }
diff --git a/pkgs/applications/misc/flamerobin/default.nix b/pkgs/applications/misc/flamerobin/default.nix
index 5fd805994a6e..de0f06fa5a00 100644
--- a/pkgs/applications/misc/flamerobin/default.nix
+++ b/pkgs/applications/misc/flamerobin/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsdOriginal;
     maintainers = with maintainers; [ uralbash ];
     platforms = platforms.unix;
+    mainProgram = "flamerobin";
   };
 }
diff --git a/pkgs/applications/misc/flavours/default.nix b/pkgs/applications/misc/flavours/default.nix
index db625793adc7..ca3c5956e3c2 100644
--- a/pkgs/applications/misc/flavours/default.nix
+++ b/pkgs/applications/misc/flavours/default.nix
@@ -30,5 +30,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/Misterio77/flavours/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ moni misterio77 ];
+    mainProgram = "flavours";
   };
 }
diff --git a/pkgs/applications/misc/freeplane/default.nix b/pkgs/applications/misc/freeplane/default.nix
index 4c790c5e814f..77918baff376 100644
--- a/pkgs/applications/misc/freeplane/default.nix
+++ b/pkgs/applications/misc/freeplane/default.nix
@@ -147,5 +147,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ chaduffy ];
+    mainProgram = "freeplane";
   };
 }
diff --git a/pkgs/applications/misc/fsv/default.nix b/pkgs/applications/misc/fsv/default.nix
index 9ffd520a7d56..e49610116f71 100644
--- a/pkgs/applications/misc/fsv/default.nix
+++ b/pkgs/applications/misc/fsv/default.nix
@@ -57,5 +57,6 @@ stdenv.mkDerivation rec {
     license     = licenses.lgpl2;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ rnhmjoj ];
+    mainProgram = "fsv";
   };
 }
diff --git a/pkgs/applications/misc/galculator/default.nix b/pkgs/applications/misc/galculator/default.nix
index a96cbb566106..9128906fe9c5 100644
--- a/pkgs/applications/misc/galculator/default.nix
+++ b/pkgs/applications/misc/galculator/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
+    mainProgram = "galculator";
   };
 }
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index 772bd2d7a77b..09c0cdd0d1c4 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "gallery-dl";
-  version = "1.26.7";
+  version = "1.26.8";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "gallery_dl";
-    sha256 = "sha256-+aoXcxJVBp9nXKS+3+CG7XkDMemSgvExMXtnR2FDhYs=";
+    sha256 = "sha256-tfNmKgWKr2TGQNgvC/qo2+Dvij4LUL0Zy77mfTcci2k=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/misc/ganttproject-bin/default.nix b/pkgs/applications/misc/ganttproject-bin/default.nix
index 985a67ab963f..abf63bece807 100644
--- a/pkgs/applications/misc/ganttproject-bin/default.nix
+++ b/pkgs/applications/misc/ganttproject-bin/default.nix
@@ -54,5 +54,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.vidbina ];
+    mainProgram = "ganttproject";
   };
 }
diff --git a/pkgs/applications/misc/gcfflasher/default.nix b/pkgs/applications/misc/gcfflasher/default.nix
index 917a66576017..076b8c4b1f6d 100644
--- a/pkgs/applications/misc/gcfflasher/default.nix
+++ b/pkgs/applications/misc/gcfflasher/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/dresden-elektronik/gcfflasher";
     maintainers = with maintainers; [ fleaz ];
     platforms = platforms.all;
+    mainProgram = "GCFFlasher";
   };
 }
diff --git a/pkgs/applications/misc/geek-life/default.nix b/pkgs/applications/misc/geek-life/default.nix
index ae0fa298594d..0e8e3899bb2a 100644
--- a/pkgs/applications/misc/geek-life/default.nix
+++ b/pkgs/applications/misc/geek-life/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     description = "The Todo List / Task Manager for Geeks in command line";
     maintainers = with maintainers; [ noisersup ];
     license = licenses.mit;
+    mainProgram = "geek-life";
   };
 }
diff --git a/pkgs/applications/misc/genact/default.nix b/pkgs/applications/misc/genact/default.nix
index c508b3400e24..1d5c11063c00 100644
--- a/pkgs/applications/misc/genact/default.nix
+++ b/pkgs/applications/misc/genact/default.nix
@@ -31,5 +31,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/svenstaro/genact/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "genact";
   };
 }
diff --git a/pkgs/applications/misc/geoipupdate/default.nix b/pkgs/applications/misc/geoipupdate/default.nix
index 2d0bd2ca594c..939205017fe7 100644
--- a/pkgs/applications/misc/geoipupdate/default.nix
+++ b/pkgs/applications/misc/geoipupdate/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     homepage = "https://github.com/maxmind/geoipupdate";
     license = with licenses; [ asl20 ];
     maintainers = teams.helsinki-systems.members;
+    mainProgram = "geoipupdate";
   };
 }
diff --git a/pkgs/applications/misc/ghosttohugo/default.nix b/pkgs/applications/misc/ghosttohugo/default.nix
index 29091a8447c2..5ec5cc6870ca 100644
--- a/pkgs/applications/misc/ghosttohugo/default.nix
+++ b/pkgs/applications/misc/ghosttohugo/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/jbarone/ghostToHugo";
     license = licenses.mit;
     maintainers = with maintainers; [ clerie ];
+    mainProgram = "ghostToHugo";
   };
 }
diff --git a/pkgs/applications/misc/gmnitohtml/default.nix b/pkgs/applications/misc/gmnitohtml/default.nix
index 463d1d50ab54..837379890b4c 100644
--- a/pkgs/applications/misc/gmnitohtml/default.nix
+++ b/pkgs/applications/misc/gmnitohtml/default.nix
@@ -42,5 +42,6 @@ buildGoModule rec {
     '';
     license = licenses.mit;
     maintainers = with maintainers; [ jk sikmir ];
+    mainProgram = "gmnitohtml";
   };
 }
diff --git a/pkgs/applications/misc/gmrun/default.nix b/pkgs/applications/misc/gmrun/default.nix
index bd99adf94359..e71b1a6484d3 100644
--- a/pkgs/applications/misc/gmrun/default.nix
+++ b/pkgs/applications/misc/gmrun/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [];
     platforms = platforms.all;
+    mainProgram = "gmrun";
   };
 }
diff --git a/pkgs/applications/misc/go-org/default.nix b/pkgs/applications/misc/go-org/default.nix
index 6ab70d0fe307..8aa5a3be717b 100644
--- a/pkgs/applications/misc/go-org/default.nix
+++ b/pkgs/applications/misc/go-org/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     homepage = "https://niklasfasching.github.io/go-org";
     license = licenses.mit;
     maintainers = with maintainers; [ payas ];
+    mainProgram = "go-org";
   };
 }
diff --git a/pkgs/applications/misc/gollum/default.nix b/pkgs/applications/misc/gollum/default.nix
index cafebfad39a2..a345896ca8d9 100644
--- a/pkgs/applications/misc/gollum/default.nix
+++ b/pkgs/applications/misc/gollum/default.nix
@@ -19,5 +19,6 @@ bundlerApp rec {
     license = licenses.mit;
     maintainers = with maintainers; [ erictapen jgillich nicknovitski bbenno ];
     platforms = platforms.unix;
+    mainProgram = "gollum";
   };
 }
diff --git a/pkgs/applications/misc/gomatrix/default.nix b/pkgs/applications/misc/gomatrix/default.nix
index 2b9ee3a15553..001b57d06eec 100644
--- a/pkgs/applications/misc/gomatrix/default.nix
+++ b/pkgs/applications/misc/gomatrix/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ skykanin ];
     homepage = "https://github.com/GeertJohan/gomatrix";
+    mainProgram = "gomatrix";
   };
 }
diff --git a/pkgs/applications/misc/googler/default.nix b/pkgs/applications/misc/googler/default.nix
index a7cd5ec64abd..9e204ed636f3 100644
--- a/pkgs/applications/misc/googler/default.nix
+++ b/pkgs/applications/misc/googler/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ koral Br1ght0ne ];
     platforms = python.meta.platforms;
+    mainProgram = "googler";
   };
 }
diff --git a/pkgs/applications/misc/gostatic/default.nix b/pkgs/applications/misc/gostatic/default.nix
index 240df1a91363..b7967f6f4e4f 100644
--- a/pkgs/applications/misc/gostatic/default.nix
+++ b/pkgs/applications/misc/gostatic/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/piranha/gostatic";
     license = licenses.isc;
     maintainers = with maintainers; [ urandom ];
+    mainProgram = "gostatic";
   };
 }
diff --git a/pkgs/applications/misc/gpa/default.nix b/pkgs/applications/misc/gpa/default.nix
index 0d567dd79a10..cf6a915e29c1 100644
--- a/pkgs/applications/misc/gpa/default.nix
+++ b/pkgs/applications/misc/gpa/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.gnupg.org/related_software/gpa/";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
+    mainProgram = "gpa";
   };
 }
diff --git a/pkgs/applications/misc/gphoto2/default.nix b/pkgs/applications/misc/gphoto2/default.nix
index b65904006751..96eca30a4f49 100644
--- a/pkgs/applications/misc/gphoto2/default.nix
+++ b/pkgs/applications/misc/gphoto2/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.jcumming ];
+    mainProgram = "gphoto2";
   };
 }
diff --git a/pkgs/applications/misc/gpsbabel/default.nix b/pkgs/applications/misc/gpsbabel/default.nix
index 0898c3ccee9a..fbacfb6984c6 100644
--- a/pkgs/applications/misc/gpsbabel/default.nix
+++ b/pkgs/applications/misc/gpsbabel/default.nix
@@ -114,5 +114,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ sikmir ];
+    mainProgram = "gpsbabel";
   };
 }
diff --git a/pkgs/applications/misc/gpsprune/default.nix b/pkgs/applications/misc/gpsprune/default.nix
index 8ea6091894e8..293c3c5691ec 100644
--- a/pkgs/applications/misc/gpsprune/default.nix
+++ b/pkgs/applications/misc/gpsprune/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ rycee ];
     platforms = platforms.all;
+    mainProgram = "gpsprune";
   };
 }
diff --git a/pkgs/applications/misc/gpu-burn/default.nix b/pkgs/applications/misc/gpu-burn/default.nix
index 4d6abb585c30..fe7bcf3dcb71 100644
--- a/pkgs/applications/misc/gpu-burn/default.nix
+++ b/pkgs/applications/misc/gpu-burn/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation {
     platforms = platforms.linux;
     maintainers = with maintainers; [ elohmeier ];
     license = licenses.bsd2;
+    mainProgram = "gpu_burn";
   };
 }
diff --git a/pkgs/applications/misc/gpu-viewer/default.nix b/pkgs/applications/misc/gpu-viewer/default.nix
index 03ca5ee9ec17..5d703f7d6e37 100644
--- a/pkgs/applications/misc/gpu-viewer/default.nix
+++ b/pkgs/applications/misc/gpu-viewer/default.nix
@@ -71,5 +71,6 @@ python3.pkgs.buildPythonApplication rec {
     maintainers = with maintainers; [ GaetanLepage ];
     license = licenses.gpl3;
     platforms = platforms.linux;
+    mainProgram = "gpu-viewer";
   };
 }
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index fc756f7cd747..896cf02dc887 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -18,13 +18,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gpxsee";
-  version = "13.15";
+  version = "13.16";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = finalAttrs.version;
-    hash = "sha256-+JxxJKHOCz1Ccii27II4L4owo/qvb7RQ6STqJ+PEEBA=";
+    hash = "sha256-rw+I7Re1hqZ1k1flIAr7kW8Wst7pVdmFcqtQTg6L/9Y=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/grb/default.nix b/pkgs/applications/misc/grb/default.nix
index 0a3d3dfd83b9..9d4774b42a2c 100644
--- a/pkgs/applications/misc/grb/default.nix
+++ b/pkgs/applications/misc/grb/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/LukeSmithxyz/grb";
     license = licenses.publicDomain;
     maintainers = [ maintainers.cafkafk ];
+    mainProgram = "grb";
   };
 }
diff --git a/pkgs/applications/misc/green-pdfviewer/default.nix b/pkgs/applications/misc/green-pdfviewer/default.nix
index fe21631c0d67..9f649b07ff8c 100644
--- a/pkgs/applications/misc/green-pdfviewer/default.nix
+++ b/pkgs/applications/misc/green-pdfviewer/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation {
     platforms = platforms.unix;
     license  = licenses.gpl3;
     maintainers = [ maintainers.vrthra ];
+    mainProgram = "green";
   };
 }
diff --git a/pkgs/applications/misc/gremlin-console/default.nix b/pkgs/applications/misc/gremlin-console/default.nix
index 367387f54ec8..ee7d7d3a95b9 100644
--- a/pkgs/applications/misc/gremlin-console/default.nix
+++ b/pkgs/applications/misc/gremlin-console/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = [ maintainers.lewo ];
     platforms = platforms.all;
+    mainProgram = "gremlin-console";
   };
 }
diff --git a/pkgs/applications/misc/gremlin-server/default.nix b/pkgs/applications/misc/gremlin-server/default.nix
index 82b7bf1e9fe0..00cd3bf79091 100644
--- a/pkgs/applications/misc/gremlin-server/default.nix
+++ b/pkgs/applications/misc/gremlin-server/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = [ maintainers.jrpotter ];
     platforms = platforms.all;
+    mainProgram = "gremlin-server";
   };
 }
diff --git a/pkgs/applications/misc/grip/default.nix b/pkgs/applications/misc/grip/default.nix
index 281f8dec2272..f993cb387b74 100644
--- a/pkgs/applications/misc/grip/default.nix
+++ b/pkgs/applications/misc/grip/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
 
     maintainers = with lib.maintainers; [ marcweber ];
     platforms = lib.platforms.linux;
+    mainProgram = "grip";
   };
 }
diff --git a/pkgs/applications/misc/gsctl/default.nix b/pkgs/applications/misc/gsctl/default.nix
index 31f8881127d1..1e88b837f4a8 100644
--- a/pkgs/applications/misc/gsctl/default.nix
+++ b/pkgs/applications/misc/gsctl/default.nix
@@ -38,5 +38,6 @@ buildGoModule rec {
     homepage = "https://github.com/giantswarm/gsctl";
     license = licenses.asl20;
     maintainers = with maintainers; [ joesalisbury ];
+    mainProgram = "gsctl";
   };
 }
diff --git a/pkgs/applications/misc/gsimplecal/default.nix b/pkgs/applications/misc/gsimplecal/default.nix
index 2cb72575a4bf..224f2f359d77 100644
--- a/pkgs/applications/misc/gsimplecal/default.nix
+++ b/pkgs/applications/misc/gsimplecal/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.bsd3;
     maintainers = [ lib.maintainers.romildo ];
     platforms = lib.platforms.linux;
+    mainProgram = "gsimplecal";
   };
 }
diff --git a/pkgs/applications/misc/gtk2fontsel/default.nix b/pkgs/applications/misc/gtk2fontsel/default.nix
index 53344338bd03..83be4fe82393 100644
--- a/pkgs/applications/misc/gtk2fontsel/default.nix
+++ b/pkgs/applications/misc/gtk2fontsel/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.prikhi ];
     platforms = platforms.linux;
+    mainProgram = "gtk2fontsel";
   };
 }
diff --git a/pkgs/applications/misc/gxkb/default.nix b/pkgs/applications/misc/gxkb/default.nix
index 350e33144760..201cbdb0a11a 100644
--- a/pkgs/applications/misc/gxkb/default.nix
+++ b/pkgs/applications/misc/gxkb/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.omgbebebe ];
     platforms = platforms.linux;
+    mainProgram = "gxkb";
   };
 }
diff --git a/pkgs/applications/misc/gxmessage/default.nix b/pkgs/applications/misc/gxmessage/default.nix
index fb172eb22b01..ae5c7d1d07a4 100644
--- a/pkgs/applications/misc/gxmessage/default.nix
+++ b/pkgs/applications/misc/gxmessage/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [jfb];
     platforms = with lib.platforms; linux;
+    mainProgram = "gxmessage";
   };
 }
diff --git a/pkgs/applications/misc/gxneur/default.nix b/pkgs/applications/misc/gxneur/default.nix
index 53873af2b07a..0bfc3ce91f65 100644
--- a/pkgs/applications/misc/gxneur/default.nix
+++ b/pkgs/applications/misc/gxneur/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     description = "GUI for XNEUR keyboard layout switcher";
     platforms = platforms.linux;
     license = with licenses; [ gpl2 gpl3 ];
+    mainProgram = "gxneur";
   };
 }
diff --git a/pkgs/applications/misc/harsh/default.nix b/pkgs/applications/misc/harsh/default.nix
index 068a03d41cfb..449b154cb8b6 100644
--- a/pkgs/applications/misc/harsh/default.nix
+++ b/pkgs/applications/misc/harsh/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     changelog = "https://github.com/wakatara/harsh/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ laurailway ];
+    mainProgram = "harsh";
   };
 }
diff --git a/pkgs/applications/misc/has/default.nix b/pkgs/applications/misc/has/default.nix
index 144d8073ff0e..a18a996f92aa 100644
--- a/pkgs/applications/misc/has/default.nix
+++ b/pkgs/applications/misc/has/default.nix
@@ -25,5 +25,6 @@ stdenvNoCC.mkDerivation (finalAttrs: rec {
     license = licenses.mit;
     maintainers = with maintainers; [ Freed-Wu ];
     platforms = platforms.unix;
+    mainProgram = "has";
   };
 })
diff --git a/pkgs/applications/misc/hcl2json/default.nix b/pkgs/applications/misc/hcl2json/default.nix
index d2c2bb319f8b..be6da03f1708 100644
--- a/pkgs/applications/misc/hcl2json/default.nix
+++ b/pkgs/applications/misc/hcl2json/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://github.com/tmccombs/hcl2json";
     license = licenses.asl20;
     maintainers = with maintainers; [ jonringer ];
+    mainProgram = "hcl2json";
   };
 }
diff --git a/pkgs/applications/misc/hello-unfree/default.nix b/pkgs/applications/misc/hello-unfree/default.nix
index 5c9a507fc071..6fae0eca1399 100644
--- a/pkgs/applications/misc/hello-unfree/default.nix
+++ b/pkgs/applications/misc/hello-unfree/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
     description = "An example package with unfree license (for testing)";
     license = lib.licenses.unfree;
     maintainers = [ lib.maintainers.oxij ];
+    mainProgram = "hello-unfree";
   };
 }
diff --git a/pkgs/applications/misc/herbe/default.nix b/pkgs/applications/misc/herbe/default.nix
index 0d05228b63eb..9ea08f0dc83c 100644
--- a/pkgs/applications/misc/herbe/default.nix
+++ b/pkgs/applications/misc/herbe/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     # NOTE: Could also work on 'unix'.
     platforms = platforms.linux;
     maintainers = with maintainers; [ wishfort36 ];
+    mainProgram = "herbe";
   };
 }
diff --git a/pkgs/applications/misc/hivemind/default.nix b/pkgs/applications/misc/hivemind/default.nix
index adc6aa3642ef..589c6fa80736 100644
--- a/pkgs/applications/misc/hivemind/default.nix
+++ b/pkgs/applications/misc/hivemind/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     description = "Process manager for Procfile-based applications";
     license = with licenses; [ mit ];
     maintainers = [ maintainers.sveitser ];
+    mainProgram = "hivemind";
   };
 }
diff --git a/pkgs/applications/misc/hr/default.nix b/pkgs/applications/misc/hr/default.nix
index 7435d02c99c8..f0a43de700fc 100644
--- a/pkgs/applications/misc/hr/default.nix
+++ b/pkgs/applications/misc/hr/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.matthiasbeyer ];
     platforms = platforms.unix;
+    mainProgram = "hr";
   };
 }
diff --git a/pkgs/applications/misc/inlyne/default.nix b/pkgs/applications/misc/inlyne/default.nix
index 01ce66abc7fb..d9698c04aed5 100644
--- a/pkgs/applications/misc/inlyne/default.nix
+++ b/pkgs/applications/misc/inlyne/default.nix
@@ -65,5 +65,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/trimental/inlyne/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "inlyne";
   };
 }
diff --git a/pkgs/applications/misc/insulator2/default.nix b/pkgs/applications/misc/insulator2/default.nix
index 456ca5d2448e..65b8cb505f72 100644
--- a/pkgs/applications/misc/insulator2/default.nix
+++ b/pkgs/applications/misc/insulator2/default.nix
@@ -94,6 +94,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/andrewinci/insulator2";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ tc-kaluza ];
+    mainProgram = "insulator-2";
   };
 
 }
diff --git a/pkgs/applications/misc/ipatool/default.nix b/pkgs/applications/misc/ipatool/default.nix
index 6c3ffc5455e5..0b9e7f8a9415 100644
--- a/pkgs/applications/misc/ipatool/default.nix
+++ b/pkgs/applications/misc/ipatool/default.nix
@@ -47,5 +47,6 @@ buildGoModule rec {
     changelog = "https://github.com/majd/ipatool/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ gaelreyrol ];
+    mainProgram = "ipatool";
   };
 }
diff --git a/pkgs/applications/misc/ipmiview/default.nix b/pkgs/applications/misc/ipmiview/default.nix
index d1162052cebb..ff8db5339f65 100644
--- a/pkgs/applications/misc/ipmiview/default.nix
+++ b/pkgs/applications/misc/ipmiview/default.nix
@@ -79,5 +79,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ vlaci ];
     platforms = [ "x86_64-linux" "i686-linux" ];
+    mainProgram = "IPMIView";
   };
 }
diff --git a/pkgs/applications/misc/jekyll/default.nix b/pkgs/applications/misc/jekyll/default.nix
index 510e06ab53bf..2b9f1497b765 100644
--- a/pkgs/applications/misc/jekyll/default.nix
+++ b/pkgs/applications/misc/jekyll/default.nix
@@ -53,5 +53,6 @@ in bundlerApp {
     license     = licenses.mit;
     maintainers = with maintainers; [ ];
     platforms   = platforms.unix;
+    mainProgram = "jekyll";
   };
 }
diff --git a/pkgs/applications/misc/jetbrains-toolbox/default.nix b/pkgs/applications/misc/jetbrains-toolbox/default.nix
index ca8394e0dbdb..aae85f1e4384 100644
--- a/pkgs/applications/misc/jetbrains-toolbox/default.nix
+++ b/pkgs/applications/misc/jetbrains-toolbox/default.nix
@@ -10,11 +10,11 @@
 }:
 let
   pname = "jetbrains-toolbox";
-  version = "2.1.3.18901";
+  version = "2.2.1.19765";
 
   src = fetchzip {
     url = "https://download.jetbrains.com/toolbox/jetbrains-toolbox-${version}.tar.gz";
-    sha256 = "sha256-XZEpzzFm0DA6iiPGOKbmsuNlpIlt7Qa2A+jEqU6GqgE=";
+    sha256 = "sha256-53CsE1hmtys5hNY2V+tskgwKg9jDLrEsYF6iY2fJGHU=";
     stripRoot = false;
   };
 
@@ -72,5 +72,6 @@ stdenv.mkDerivation {
     license = licenses.unfree;
     maintainers = with maintainers; [ AnatolyPopov ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "jetbrains-toolbox";
   };
 }
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 41521f2d7c57..3c3fc200c114 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ rycee sikmir ];
     platforms = platforms.all;
+    mainProgram = "josm";
   };
 }
diff --git a/pkgs/applications/misc/jp2a/default.nix b/pkgs/applications/misc/jp2a/default.nix
index bebccc6c1c4c..5ae33e8264f9 100644
--- a/pkgs/applications/misc/jp2a/default.nix
+++ b/pkgs/applications/misc/jp2a/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = [ maintainers.FlorianFranzen ];
     platforms = platforms.unix;
+    mainProgram = "jp2a";
   };
 }
diff --git a/pkgs/applications/misc/jquake/default.nix b/pkgs/applications/misc/jquake/default.nix
index ce0ea2ec1c5f..916a12db3150 100644
--- a/pkgs/applications/misc/jquake/default.nix
+++ b/pkgs/applications/misc/jquake/default.nix
@@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.unfree;
     platforms = platforms.linux;
+    mainProgram = "JQuake";
   };
 }
diff --git a/pkgs/applications/misc/kaufkauflist/default.nix b/pkgs/applications/misc/kaufkauflist/default.nix
index b6a99ee0b84f..e7e462caf791 100644
--- a/pkgs/applications/misc/kaufkauflist/default.nix
+++ b/pkgs/applications/misc/kaufkauflist/default.nix
@@ -48,5 +48,6 @@ in buildNpmPackage rec {
     description = "A to-do list for shopping or other use cases";
     license = licenses.mit;
     maintainers = with maintainers; [ annaaurora ];
+    mainProgram = "kaufdbclean";
   };
 }
diff --git a/pkgs/applications/misc/kbt/default.nix b/pkgs/applications/misc/kbt/default.nix
index 3960556f4d8e..c59b5e62c433 100644
--- a/pkgs/applications/misc/kbt/default.nix
+++ b/pkgs/applications/misc/kbt/default.nix
@@ -35,5 +35,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/bloznelis/kbt";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "kbt";
   };
 }
diff --git a/pkgs/applications/misc/keepass-diff/default.nix b/pkgs/applications/misc/keepass-diff/default.nix
index 5e03c0f2cac4..5cee712ae0c6 100644
--- a/pkgs/applications/misc/keepass-diff/default.nix
+++ b/pkgs/applications/misc/keepass-diff/default.nix
@@ -16,5 +16,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://keepass-diff.narigo.dev/";
     license = licenses.mit;
     maintainers = with maintainers; [ wamserma ];
+    mainProgram = "keepass-diff";
   };
 }
diff --git a/pkgs/applications/misc/keylight-controller-mschneider82/default.nix b/pkgs/applications/misc/keylight-controller-mschneider82/default.nix
index 9d70e59202e8..5a9afb42dd15 100644
--- a/pkgs/applications/misc/keylight-controller-mschneider82/default.nix
+++ b/pkgs/applications/misc/keylight-controller-mschneider82/default.nix
@@ -42,6 +42,7 @@ buildGoModule rec {
     license = licenses.mit;
     homepage = "https://github.com/mschneider82/keylight-control";
     maintainers = with maintainers; [ ];
+    mainProgram = "keylight-control";
   };
 }
 
diff --git a/pkgs/applications/misc/kiln/default.nix b/pkgs/applications/misc/kiln/default.nix
index ed9575ffa0ba..cafa43fa4f8c 100644
--- a/pkgs/applications/misc/kiln/default.nix
+++ b/pkgs/applications/misc/kiln/default.nix
@@ -25,5 +25,6 @@ buildGoModule rec {
     homepage = "https://kiln.adnano.co/";
     license = licenses.mit;
     maintainers = with maintainers; [ sikmir ];
+    mainProgram = "kiln";
   };
 }
diff --git a/pkgs/applications/misc/klipperscreen/default.nix b/pkgs/applications/misc/klipperscreen/default.nix
index e970c2572548..8589991ff522 100644
--- a/pkgs/applications/misc/klipperscreen/default.nix
+++ b/pkgs/applications/misc/klipperscreen/default.nix
@@ -50,5 +50,6 @@
     homepage = "https://github.com/jordanruthe/KlipperScreen";
     license = licenses.agpl3;
     maintainers = with maintainers; [ cab404 ];
+    mainProgram = "KlipperScreen";
   };
 }
diff --git a/pkgs/applications/misc/kondo/default.nix b/pkgs/applications/misc/kondo/default.nix
index c210c257cc53..eba5799a9172 100644
--- a/pkgs/applications/misc/kondo/default.nix
+++ b/pkgs/applications/misc/kondo/default.nix
@@ -18,5 +18,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/tbillington/kondo";
     license = licenses.mit;
     maintainers = with maintainers; [ Br1ght0ne ];
+    mainProgram = "kondo";
   };
 }
diff --git a/pkgs/applications/misc/krabby/default.nix b/pkgs/applications/misc/krabby/default.nix
index 31880f99a0cb..d006ec00b918 100644
--- a/pkgs/applications/misc/krabby/default.nix
+++ b/pkgs/applications/misc/krabby/default.nix
@@ -19,5 +19,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/yannjor/krabby/releases/tag/v${version}";
     license = licenses.gpl3;
     maintainers = with maintainers; [ ruby0b ];
+    mainProgram = "krabby";
   };
 }
diff --git a/pkgs/applications/misc/kratos/default.nix b/pkgs/applications/misc/kratos/default.nix
index 9031b7d6d566..961e2289d21b 100644
--- a/pkgs/applications/misc/kratos/default.nix
+++ b/pkgs/applications/misc/kratos/default.nix
@@ -38,5 +38,6 @@ buildGoModule rec {
     homepage = "https://www.ory.sh/kratos/";
     license = licenses.asl20;
     description = "An API-first Identity and User Management system that is built according to cloud architecture best practices";
+    mainProgram = "kratos";
   };
 }
diff --git a/pkgs/applications/misc/lavalauncher/default.nix b/pkgs/applications/misc/lavalauncher/default.nix
index 1e8cb505f4a0..d4556402e21b 100644
--- a/pkgs/applications/misc/lavalauncher/default.nix
+++ b/pkgs/applications/misc/lavalauncher/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = with platforms; unix;
+    mainProgram = "lavalauncher";
   };
 }
diff --git a/pkgs/applications/misc/lemonade/default.nix b/pkgs/applications/misc/lemonade/default.nix
index 68622718e048..c9ca92d364e1 100644
--- a/pkgs/applications/misc/lemonade/default.nix
+++ b/pkgs/applications/misc/lemonade/default.nix
@@ -31,5 +31,6 @@ buildGoModule rec {
     homepage = "https://github.com/lemonade-command/lemonade/";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
+    mainProgram = "lemonade";
   };
 }
diff --git a/pkgs/applications/misc/lenmus/default.nix b/pkgs/applications/misc/lenmus/default.nix
index 80da168cdafe..6736f342e89a 100644
--- a/pkgs/applications/misc/lenmus/default.nix
+++ b/pkgs/applications/misc/lenmus/default.nix
@@ -94,5 +94,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers;  [ ramkromberg ];
     platforms = with platforms; unix;
+    mainProgram = "lenmus";
   };
 }
diff --git a/pkgs/applications/misc/limesctl/default.nix b/pkgs/applications/misc/limesctl/default.nix
index 119d8488ed47..00323a259db2 100644
--- a/pkgs/applications/misc/limesctl/default.nix
+++ b/pkgs/applications/misc/limesctl/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     homepage = "https://github.com/sapcc/limesctl";
     license = licenses.asl20;
     maintainers = with maintainers; [ SuperSandro2000 ];
+    mainProgram = "limesctl";
   };
 }
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index 0877b3169014..ed4a07ec97ae 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -74,5 +74,6 @@ in {
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     maintainers = with lib.maintainers; [ ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "logseq";
   };
 })
diff --git a/pkgs/applications/misc/lscolors/default.nix b/pkgs/applications/misc/lscolors/default.nix
index d61499ed0737..104f1baa037d 100644
--- a/pkgs/applications/misc/lscolors/default.nix
+++ b/pkgs/applications/misc/lscolors/default.nix
@@ -22,5 +22,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/sharkdp/lscolors/releases/tag/v${version}";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ SuperSandro2000 ];
+    mainProgram = "lscolors";
   };
 }
diff --git a/pkgs/applications/misc/lswt/default.nix b/pkgs/applications/misc/lswt/default.nix
index 59315ec9b7fd..98f36028dbc2 100644
--- a/pkgs/applications/misc/lswt/default.nix
+++ b/pkgs/applications/misc/lswt/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ edrex ];
     platforms = platforms.linux;
+    mainProgram = "lswt";
   };
 }
diff --git a/pkgs/applications/misc/ltwheelconf/default.nix b/pkgs/applications/misc/ltwheelconf/default.nix
index 52fac4941562..b9c53a58b03d 100644
--- a/pkgs/applications/misc/ltwheelconf/default.nix
+++ b/pkgs/applications/misc/ltwheelconf/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.linux;
+    mainProgram = "ltwheelconf";
   };
 }
diff --git a/pkgs/applications/misc/lunatask/default.nix b/pkgs/applications/misc/lunatask/default.nix
index b298992fbf83..017eb17a40ad 100644
--- a/pkgs/applications/misc/lunatask/default.nix
+++ b/pkgs/applications/misc/lunatask/default.nix
@@ -37,5 +37,6 @@ appimageTools.wrapType2 rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     maintainers = with maintainers; [ henkery ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "lunatask";
   };
 }
diff --git a/pkgs/applications/misc/madonctl/default.nix b/pkgs/applications/misc/madonctl/default.nix
index 0e204ea83854..203d71a6cc48 100644
--- a/pkgs/applications/misc/madonctl/default.nix
+++ b/pkgs/applications/misc/madonctl/default.nix
@@ -33,5 +33,6 @@ buildGoModule rec {
     homepage = "https://github.com/McKael/madonctl";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
+    mainProgram = "madonctl";
   };
 }
diff --git a/pkgs/applications/misc/mainsail/default.nix b/pkgs/applications/misc/mainsail/default.nix
index cb9ce043e9ce..4f4c91505027 100644
--- a/pkgs/applications/misc/mainsail/default.nix
+++ b/pkgs/applications/misc/mainsail/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mainsail";
-  version = "2.9.1";
+  version = "2.10.0";
 
   src = fetchzip {
     url = "https://github.com/mainsail-crew/mainsail/releases/download/v${version}/mainsail.zip";
-    hash = "sha256-OrCS+0zfXs72vJbrqjvEaHJWD0ndozfCcHs1N9Gqios=";
+    hash = "sha256-5bRmM/BXI0Afe7UK6avh5aWFXkYF4MsUG71uYUc5JlA=";
     stripRoot = false;
   };
 
diff --git a/pkgs/applications/misc/makeself/default.nix b/pkgs/applications/misc/makeself/default.nix
index 3226797ca4be..7c2d33aebc00 100644
--- a/pkgs/applications/misc/makeself/default.nix
+++ b/pkgs/applications/misc/makeself/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.wmertens ];
     platforms = platforms.all;
+    mainProgram = "makeself";
   };
 }
diff --git a/pkgs/applications/misc/mangal/default.nix b/pkgs/applications/misc/mangal/default.nix
index 6edc9da4f602..cc485d84e8e0 100644
--- a/pkgs/applications/misc/mangal/default.nix
+++ b/pkgs/applications/misc/mangal/default.nix
@@ -35,5 +35,6 @@ buildGoModule rec {
     homepage = "https://github.com/metafates/mangal";
     license = licenses.mit;
     maintainers = [ maintainers.bertof ];
+    mainProgram = "mangal";
   };
 }
diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix
index 2c13ed4ecc9e..fd3ab88ff4c8 100644
--- a/pkgs/applications/misc/mdp/default.nix
+++ b/pkgs/applications/misc/mdp/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ matthiasbeyer vrthra ];
     license = licenses.gpl3;
     platforms = with platforms; unix;
+    mainProgram = "mdp";
   };
 }
diff --git a/pkgs/applications/misc/mdzk/default.nix b/pkgs/applications/misc/mdzk/default.nix
index 98bcda9943fc..e4093295df68 100644
--- a/pkgs/applications/misc/mdzk/default.nix
+++ b/pkgs/applications/misc/mdzk/default.nix
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/mdzk-rs/mdzk/blob/main/CHANGELOG.md";
     license = licenses.mpl20;
     maintainers = with maintainers; [ bryanasdev000 ratsclub ];
+    mainProgram = "mdzk";
   };
 }
diff --git a/pkgs/applications/misc/memo/default.nix b/pkgs/applications/misc/memo/default.nix
index 885e5466f8b3..93ef8192f54b 100644
--- a/pkgs/applications/misc/memo/default.nix
+++ b/pkgs/applications/misc/memo/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3;
     maintainers = [ lib.maintainers.mrVanDalo ];
     platforms = lib.platforms.all;
+    mainProgram = "memo";
   };
 }
diff --git a/pkgs/applications/misc/mencal/default.nix b/pkgs/applications/misc/mencal/default.nix
index c4973b275534..011db7455fcf 100644
--- a/pkgs/applications/misc/mencal/default.nix
+++ b/pkgs/applications/misc/mencal/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.mmahut ];
     platforms = platforms.all;
+    mainProgram = "mencal";
   };
 }
diff --git a/pkgs/applications/misc/metamorphose2/default.nix b/pkgs/applications/misc/metamorphose2/default.nix
index 9b2b7bdde881..c5950e2e9df0 100644
--- a/pkgs/applications/misc/metamorphose2/default.nix
+++ b/pkgs/applications/misc/metamorphose2/default.nix
@@ -39,5 +39,6 @@ stdenv.mkDerivation {
     license     = with licenses; gpl3Plus;
     maintainers = with maintainers; [ ramkromberg ];
     platforms   = with platforms; linux;
+    mainProgram = "metamorphose2";
   };
 }
diff --git a/pkgs/applications/misc/metar/default.nix b/pkgs/applications/misc/metar/default.nix
index 07ac41f7281e..d1edfb6a761f 100644
--- a/pkgs/applications/misc/metar/default.nix
+++ b/pkgs/applications/misc/metar/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation {
     '';
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ zalakain ];
+    mainProgram = "metar";
   };
 }
diff --git a/pkgs/applications/misc/milu/default.nix b/pkgs/applications/misc/milu/default.nix
index a941f6251498..b05a1c815baa 100644
--- a/pkgs/applications/misc/milu/default.nix
+++ b/pkgs/applications/misc/milu/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation {
     license = lib.licenses.bsd2;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.vrthra ];
+    mainProgram = "milu";
   };
 }
 
diff --git a/pkgs/applications/misc/mkgmap/default.nix b/pkgs/applications/misc/mkgmap/default.nix
index 298aa2ef40f4..5648e34d8461 100644
--- a/pkgs/applications/misc/mkgmap/default.nix
+++ b/pkgs/applications/misc/mkgmap/default.nix
@@ -15,12 +15,12 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkgmap";
-  version = "4916";
+  version = "4917";
 
   src = fetchsvn {
     url = "https://svn.mkgmap.org.uk/mkgmap/mkgmap/trunk";
     rev = version;
-    sha256 = "sha256-Ok6s1DaTZBcYtkHA7WAxjGz0HycvFqBpkwZIirc+dFU=";
+    sha256 = "sha256-7VCEbsvcT7iaJ3MZz4CthJEE9FSJCowAO7PJ9UqmzPA=";
   };
 
   patches = [
@@ -83,5 +83,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.all;
+    mainProgram = "mkgmap";
   };
 }
diff --git a/pkgs/applications/misc/mop/default.nix b/pkgs/applications/misc/mop/default.nix
index ddd02d45df0c..301b5302b022 100644
--- a/pkgs/applications/misc/mop/default.nix
+++ b/pkgs/applications/misc/mop/default.nix
@@ -25,5 +25,6 @@ buildGoModule rec {
     description = "Simple stock tracker implemented in go";
     homepage = "https://github.com/mop-tracker/mop";
     license = licenses.mit;
+    mainProgram = "mop";
   };
 }
diff --git a/pkgs/applications/misc/mystem/default.nix b/pkgs/applications/misc/mystem/default.nix
index 198d170bd89c..50c2c35749e0 100644
--- a/pkgs/applications/misc/mystem/default.nix
+++ b/pkgs/applications/misc/mystem/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfreeRedistributable;
     maintainers = with maintainers; [ abbradar ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "mystem";
   };
 }
diff --git a/pkgs/applications/misc/natural-docs/default.nix b/pkgs/applications/misc/natural-docs/default.nix
index be4bd5f430fa..2995eba5787b 100644
--- a/pkgs/applications/misc/natural-docs/default.nix
+++ b/pkgs/applications/misc/natural-docs/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     homepage = "https://naturaldocs.org";
     license = licenses.agpl3Only;
     maintainers = [ maintainers.nkpvk ];
+    mainProgram = "NaturalDocs";
   };
 }
diff --git a/pkgs/applications/misc/neo/default.nix b/pkgs/applications/misc/neo/default.nix
index e091a572c272..27216c381db6 100644
--- a/pkgs/applications/misc/neo/default.nix
+++ b/pkgs/applications/misc/neo/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/st3w/neo";
     platforms = ncurses.meta.platforms;
     maintainers = [ maintainers.abbe ];
+    mainProgram = "neo";
   };
 }
diff --git a/pkgs/applications/misc/neo4j-desktop/default.nix b/pkgs/applications/misc/neo4j-desktop/default.nix
index d3058dbf1834..42cd8067fe32 100644
--- a/pkgs/applications/misc/neo4j-desktop/default.nix
+++ b/pkgs/applications/misc/neo4j-desktop/default.nix
@@ -29,5 +29,6 @@ in appimageTools.wrapType2 {
     license = licenses.unfree;
     maintainers = [ maintainers.bobvanderlinden ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "neo4j-desktop";
   };
 }
diff --git a/pkgs/applications/misc/nix-tour/default.nix b/pkgs/applications/misc/nix-tour/default.nix
index b7485255b8a8..bff2a40e5370 100644
--- a/pkgs/applications/misc/nix-tour/default.nix
+++ b/pkgs/applications/misc/nix-tour/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     homepage = "https://nixcloud.io/tour";
     license = licenses.gpl2;
     maintainers = with maintainers; [ qknight yuu ];
+    mainProgram = "nix-tour";
   };
 }
diff --git a/pkgs/applications/misc/notesnook/default.nix b/pkgs/applications/misc/notesnook/default.nix
index cb39e26994f5..62788b5a7f13 100644
--- a/pkgs/applications/misc/notesnook/default.nix
+++ b/pkgs/applications/misc/notesnook/default.nix
@@ -38,6 +38,7 @@ let
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ j0lol ];
     platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    mainProgram = "notesnook";
   };
 
   linux = appimageTools.wrapType2 rec {
diff --git a/pkgs/applications/misc/nrsc5/default.nix b/pkgs/applications/misc/nrsc5/default.nix
index e55438f0eb11..2b1a2ff22188 100644
--- a/pkgs/applications/misc/nrsc5/default.nix
+++ b/pkgs/applications/misc/nrsc5/default.nix
@@ -48,6 +48,7 @@ in stdenv.mkDerivation {
     platforms = lib.platforms.linux;
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ markuskowa ];
+    mainProgram = "nrsc5";
   };
 }
 
diff --git a/pkgs/applications/misc/ns-usbloader/default.nix b/pkgs/applications/misc/ns-usbloader/default.nix
index ff16debee7ef..2a08b24435a2 100644
--- a/pkgs/applications/misc/ns-usbloader/default.nix
+++ b/pkgs/applications/misc/ns-usbloader/default.nix
@@ -100,5 +100,6 @@ maven.buildMavenPackage rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ soupglasses ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
+    mainProgram = "ns-usbloader";
   };
 }
diff --git a/pkgs/applications/misc/nwg-dock/default.nix b/pkgs/applications/misc/nwg-dock/default.nix
index b2154db0d794..f32873e21a06 100644
--- a/pkgs/applications/misc/nwg-dock/default.nix
+++ b/pkgs/applications/misc/nwg-dock/default.nix
@@ -30,5 +30,6 @@ buildGoModule rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ dit7ya ];
+    mainProgram = "nwg-dock";
   };
 }
diff --git a/pkgs/applications/misc/nwg-panel/default.nix b/pkgs/applications/misc/nwg-panel/default.nix
index 78e2871ab557..47f234cc30f3 100644
--- a/pkgs/applications/misc/nwg-panel/default.nix
+++ b/pkgs/applications/misc/nwg-panel/default.nix
@@ -16,13 +16,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "nwg-panel";
-  version = "0.9.22";
+  version = "0.9.23";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-panel";
     rev = "v${version}";
-    hash = "sha256-2O3FMPA/QD+ZUmLvot+MMwbUo3zT6ZN5NIbulh2oGYk=";
+    hash = "sha256-NCMGqKRcwqy4e3gF9y2oykiAoL8X3IZbcGzq6N3CAMU=";
   };
 
   # No tests
diff --git a/pkgs/applications/misc/obs-cli/default.nix b/pkgs/applications/misc/obs-cli/default.nix
index f62fa6a84013..8ff7e7a48157 100644
--- a/pkgs/applications/misc/obs-cli/default.nix
+++ b/pkgs/applications/misc/obs-cli/default.nix
@@ -36,5 +36,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ flexiondotorg ];
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "obs-cli";
   };
 }
diff --git a/pkgs/applications/misc/onagre/default.nix b/pkgs/applications/misc/onagre/default.nix
index 1b39cf45eeae..b6375e6b5955 100644
--- a/pkgs/applications/misc/onagre/default.nix
+++ b/pkgs/applications/misc/onagre/default.nix
@@ -36,5 +36,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = [ maintainers.jfvillablanca ];
     platforms = platforms.linux;
+    mainProgram = "onagre";
   };
 }
diff --git a/pkgs/applications/misc/oneko/default.nix b/pkgs/applications/misc/oneko/default.nix
index 17a94511e3fc..a67bedd42912 100644
--- a/pkgs/applications/misc/oneko/default.nix
+++ b/pkgs/applications/misc/oneko/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ publicDomain ];
     maintainers = with maintainers; [ xaverdh irenes ];
     platforms = platforms.unix;
+    mainProgram = "oneko";
   };
 }
diff --git a/pkgs/applications/misc/openbox-menu/default.nix b/pkgs/applications/misc/openbox-menu/default.nix
index e9646b9c21d4..de3fc6cd0acc 100644
--- a/pkgs/applications/misc/openbox-menu/default.nix
+++ b/pkgs/applications/misc/openbox-menu/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.romildo ];
     platforms   = platforms.unix;
+    mainProgram = "openbox-menu";
   };
 }
diff --git a/pkgs/applications/misc/openjump/default.nix b/pkgs/applications/misc/openjump/default.nix
index d6b20a7f01e5..e1eceab49647 100644
--- a/pkgs/applications/misc/openjump/default.nix
+++ b/pkgs/applications/misc/openjump/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation {
     license = lib.licenses.gpl2;
     maintainers = [lib.maintainers.marcweber];
     platforms = lib.platforms.linux;
+    mainProgram = "OpenJump";
   };
 }
diff --git a/pkgs/applications/misc/openring/default.nix b/pkgs/applications/misc/openring/default.nix
index e311dfbb3b7c..2f72b8b41cc0 100644
--- a/pkgs/applications/misc/openring/default.nix
+++ b/pkgs/applications/misc/openring/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://sr.ht/~sircmpwn/openring";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ sumnerevans ];
+    mainProgram = "openring";
   };
 }
diff --git a/pkgs/applications/misc/oranda/default.nix b/pkgs/applications/misc/oranda/default.nix
index 9e1ff27f651b..bf84c0782da6 100644
--- a/pkgs/applications/misc/oranda/default.nix
+++ b/pkgs/applications/misc/oranda/default.nix
@@ -53,5 +53,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/axodotdev/oranda/blob/${src.rev}/CHANGELOG.md";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "oranda";
   };
 }
diff --git a/pkgs/applications/misc/osm2xmap/default.nix b/pkgs/applications/misc/osm2xmap/default.nix
index 545ea498002a..bca60b14a34d 100644
--- a/pkgs/applications/misc/osm2xmap/default.nix
+++ b/pkgs/applications/misc/osm2xmap/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.mpickering ];
     platforms = with lib.platforms; linux;
+    mainProgram = "osm2xmap";
   };
 }
diff --git a/pkgs/applications/misc/osmium-tool/default.nix b/pkgs/applications/misc/osmium-tool/default.nix
index cf7c419e40de..061d57952153 100644
--- a/pkgs/applications/misc/osmium-tool/default.nix
+++ b/pkgs/applications/misc/osmium-tool/default.nix
@@ -51,5 +51,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/osmcode/osmium-tool/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ gpl3Plus mit bsd3 ];
     maintainers = with maintainers; [ das-g ];
+    mainProgram = "osmium";
   };
 }
diff --git a/pkgs/applications/misc/osmtogeojson/default.nix b/pkgs/applications/misc/osmtogeojson/default.nix
index 5854d36b1e7a..07d989d2cc83 100644
--- a/pkgs/applications/misc/osmtogeojson/default.nix
+++ b/pkgs/applications/misc/osmtogeojson/default.nix
@@ -23,5 +23,6 @@ buildNpmPackage rec {
     homepage = "https://tyrasd.github.io/osmtogeojson/";
     maintainers = with maintainers; [ thibautmarty ];
     license = licenses.mit;
+    mainProgram = "osmtogeojson";
   };
 }
diff --git a/pkgs/applications/misc/otf2bdf/default.nix b/pkgs/applications/misc/otf2bdf/default.nix
index 947957df284c..6653225b7f44 100644
--- a/pkgs/applications/misc/otf2bdf/default.nix
+++ b/pkgs/applications/misc/otf2bdf/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit0;
     platforms = platforms.all;
     maintainers = with maintainers; [ hzeller ];
+    mainProgram = "otf2bdf";
   };
 }
diff --git a/pkgs/applications/misc/owmods-cli/default.nix b/pkgs/applications/misc/owmods-cli/default.nix
index 4dd5a67aa995..44a711dfeec1 100644
--- a/pkgs/applications/misc/owmods-cli/default.nix
+++ b/pkgs/applications/misc/owmods-cli/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "owmods-cli";
-  version = "0.12.1";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "ow-mods";
     repo = "ow-mod-man";
     rev = "cli_v${version}";
-    hash = "sha256-hvzKTJKjO7MafvnrpG9ZkCz1ePr9NCo54zaRRkRCc60=";
+    hash = "sha256-AfqpLL3cGZLKW5/BE6SaBe4S8GzYM2GKUZU8mFH5uX4=";
   };
 
-  cargoHash = "sha256-db6wZs7OVPoESl4RnvOtmaM07FgKmko3nyf1CXzyJHA=";
+  cargoHash = "sha256-PhdfpiUgeOB13ROgzPBYM+sBLGMP+RtV9j9ebo8PpJU=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/misc/oxker/default.nix b/pkgs/applications/misc/oxker/default.nix
index 7974466a1c2c..5952345ec1c7 100644
--- a/pkgs/applications/misc/oxker/default.nix
+++ b/pkgs/applications/misc/oxker/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oxker";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-s1PVm5RBqHe5XVHt5Wgm05+6xXJYnMU9QO7Z8567oKk=";
+    sha256 = "sha256-cUM9+6BZcsrb850fm5mFWpo7/JmxwNDh+upHeE7+DU8=";
   };
 
-  cargoHash = "sha256-zZFys59vEiGfB9NlAY5yjHBeXf8zQ3npFF7sg2SQTwU=";
+  cargoHash = "sha256-sFBI/+7oGjjUyr3PBkkqdgprGdcaYHtOvqFpkrF4Qx8=";
 
   meta = with lib; {
     description = "A simple tui to view & control docker containers";
@@ -17,5 +17,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/mrjackwills/oxker/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ siph ];
+    mainProgram = "oxker";
   };
 }
diff --git a/pkgs/applications/misc/p2pool/default.nix b/pkgs/applications/misc/p2pool/default.nix
index 53a05157b996..9265543ff8f5 100644
--- a/pkgs/applications/misc/p2pool/default.nix
+++ b/pkgs/applications/misc/p2pool/default.nix
@@ -52,5 +52,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/SChernykh/p2pool";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ ratsclub ];
+    mainProgram = "p2pool";
   };
 }
diff --git a/pkgs/applications/misc/pagefind/default.nix b/pkgs/applications/misc/pagefind/default.nix
index 1d1a91e9e4b5..35fe84b22729 100644
--- a/pkgs/applications/misc/pagefind/default.nix
+++ b/pkgs/applications/misc/pagefind/default.nix
@@ -106,5 +106,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ pbsds ];
     platforms = platforms.unix;
+    mainProgram = "pagefind";
   };
 }
diff --git a/pkgs/applications/misc/pcmanx-gtk2/default.nix b/pkgs/applications/misc/pcmanx-gtk2/default.nix
index 2e75791e3082..6179bbe15fbf 100644
--- a/pkgs/applications/misc/pcmanx-gtk2/default.nix
+++ b/pkgs/applications/misc/pcmanx-gtk2/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     description = "Telnet BBS browser with GTK interface";
     maintainers = [ maintainers.sifmelcara ];
     platforms = platforms.linux;
+    mainProgram = "pcmanx";
   };
 }
diff --git a/pkgs/applications/misc/peaclock/default.nix b/pkgs/applications/misc/peaclock/default.nix
index 619b6ed9b375..866d6660910f 100644
--- a/pkgs/applications/misc/peaclock/default.nix
+++ b/pkgs/applications/misc/peaclock/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.unix;
     maintainers = with maintainers; [ djanatyn ];
+    mainProgram = "peaclock";
   };
 }
diff --git a/pkgs/applications/misc/pell/default.nix b/pkgs/applications/misc/pell/default.nix
index 0b21de1e91e0..1a11a793f563 100644
--- a/pkgs/applications/misc/pell/default.nix
+++ b/pkgs/applications/misc/pell/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.unix;
+    mainProgram = "pell";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/pgmanage/default.nix b/pkgs/applications/misc/pgmanage/default.nix
index eac927ad3b2c..e3860ee62584 100644
--- a/pkgs/applications/misc/pgmanage/default.nix
+++ b/pkgs/applications/misc/pgmanage/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/pgManage/pgManage";
     license = licenses.postgresql;
     maintainers = [ maintainers.basvandijk ];
+    mainProgram = "pgmanage";
   };
 }
diff --git a/pkgs/applications/misc/phoc/default.nix b/pkgs/applications/misc/phoc/default.nix
index ba235aab2b05..9ccc17f95ec6 100644
--- a/pkgs/applications/misc/phoc/default.nix
+++ b/pkgs/applications/misc/phoc/default.nix
@@ -24,12 +24,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "phoc";
-  version = "0.35.0";
+  version = "0.36.0";
 
   src = fetchurl {
     # This tarball includes the meson wrapped subproject 'gmobile'.
     url = with finalAttrs; "https://sources.phosh.mobi/releases/${pname}/${pname}-${version}.tar.xz";
-    hash = "sha256-q2wyM0R7Mi/XuckNb6ZDkStaV9yJH1BgJ4cjqQc6EI4=";
+    hash = "sha256-eAKHboICsuQ4lecxnnZ8+hZjt5l1DDQbfuwypDYtdKk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/phockup/default.nix b/pkgs/applications/misc/phockup/default.nix
index 319a471f6278..8df388e1f64f 100644
--- a/pkgs/applications/misc/phockup/default.nix
+++ b/pkgs/applications/misc/phockup/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ivandokov/phockup";
     license = licenses.mit;
     maintainers = with maintainers; [ aanderse ];
+    mainProgram = "phockup";
   };
 }
diff --git a/pkgs/applications/misc/pinfo/default.nix b/pkgs/applications/misc/pinfo/default.nix
index 179af6ca87dc..92d892fc9c97 100644
--- a/pkgs/applications/misc/pinfo/default.nix
+++ b/pkgs/applications/misc/pinfo/default.nix
@@ -67,5 +67,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "pinfo";
   };
 }
diff --git a/pkgs/applications/misc/plasma-theme-switcher/default.nix b/pkgs/applications/misc/plasma-theme-switcher/default.nix
index fb8d407ef12f..f2af3f6e43ab 100644
--- a/pkgs/applications/misc/plasma-theme-switcher/default.nix
+++ b/pkgs/applications/misc/plasma-theme-switcher/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     description = "A KDE Plasma theme switcher";
     license = with licenses; [ gpl2Only ];
     maintainers = with maintainers; [ kevink ];
+    mainProgram = "plasma-theme";
   };
 }
diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix
index 89fcdfe4f711..0b4f445c0066 100644
--- a/pkgs/applications/misc/playonlinux/default.nix
+++ b/pkgs/applications/misc/playonlinux/default.nix
@@ -146,5 +146,6 @@ in stdenv.mkDerivation {
     license = licenses.gpl3;
     maintainers = [ maintainers.pasqui23 ];
     platforms = [ "x86_64-linux" "i686-linux" ];
+    mainProgram = "playonlinux";
   };
 }
diff --git a/pkgs/applications/misc/plots/default.nix b/pkgs/applications/misc/plots/default.nix
index 01a60baa2ab3..4e6b9d24a56b 100644
--- a/pkgs/applications/misc/plots/default.nix
+++ b/pkgs/applications/misc/plots/default.nix
@@ -1,12 +1,13 @@
-{ fetchFromGitHub
+{ lib
+, fetchFromGitHub
+, python3Packages
 , gobject-introspection
-, lib
 , libadwaita
-, python3
 , wrapGAppsHook
 , lmmath
 }:
-python3.pkgs.buildPythonApplication rec {
+
+python3Packages.buildPythonApplication rec {
   pname = "plots";
   version = "0.8.5";
 
@@ -17,36 +18,21 @@ python3.pkgs.buildPythonApplication rec {
     hash = "sha256-GjNpaorxkkhZsqrKq4kO5nqF5+4I4tmSc023AZpY8Sw=";
   };
 
-  nativeBuildInputs = [
-    gobject-introspection
-    wrapGAppsHook
-  ];
-
-  propagatedBuildInputs = [
-    libadwaita
-    (python3.withPackages (p: with p; [
-      numpy
-      pygobject3
-      lark
-      jinja2
-      freetype-py
-      pyopengl
-      pycairo
-      pyglm
-    ]))
-  ];
+  nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
+  buildInputs = [ libadwaita ];
 
-  nativeCheckInputs = [
-    (python3.withPackages (p: with p; [
-      pytest
-    ]))
+  propagatedBuildInputs = with python3Packages; [
+    pygobject3
+    numpy
+    lark
+    jinja2
+    freetype-py
+    pyopengl
+    pycairo
+    pyglm
   ];
 
-  dontWrapGApps = true;
-
-  preFixup = ''
-    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
-  '';
+  nativeCheckInputs = with python3Packages; [ pytest ];
 
   postInstall = ''
     install -D ${lmmath}/share/fonts/opentype/latinmodern-math.otf -t $out/share/fonts/
@@ -62,6 +48,12 @@ python3.pkgs.buildPythonApplication rec {
     done
   '';
 
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   meta = with lib; {
     description = "Graph plotting app for GNOME";
     longDescription = ''
diff --git a/pkgs/applications/misc/pokemon-colorscripts-mac/default.nix b/pkgs/applications/misc/pokemon-colorscripts-mac/default.nix
index 62c6ed0f4a42..5205e8ad6eaf 100644
--- a/pkgs/applications/misc/pokemon-colorscripts-mac/default.nix
+++ b/pkgs/applications/misc/pokemon-colorscripts-mac/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.wesleyjrz ];
     platforms = platforms.unix;
+    mainProgram = "pokemon-colorscripts";
   };
 }
diff --git a/pkgs/applications/misc/pomodoro/default.nix b/pkgs/applications/misc/pomodoro/default.nix
index d180c8e436e7..fe09f5328ee8 100644
--- a/pkgs/applications/misc/pomodoro/default.nix
+++ b/pkgs/applications/misc/pomodoro/default.nix
@@ -21,5 +21,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = with maintainers; [ annaaurora ];
     # error: redefinition of module 'ObjectiveC'
     broken = stdenv.isDarwin;
+    mainProgram = "pomodoro";
   };
 }
diff --git a/pkgs/applications/misc/pop-launcher/default.nix b/pkgs/applications/misc/pop-launcher/default.nix
index 24bcd9ab89e4..b8ba5133904b 100644
--- a/pkgs/applications/misc/pop-launcher/default.nix
+++ b/pkgs/applications/misc/pop-launcher/default.nix
@@ -57,5 +57,6 @@ rustPlatform.buildRustPackage rec {
     platforms = platforms.linux;
     license = licenses.mpl20;
     maintainers = with maintainers; [ samhug ];
+    mainProgram = "pop-launcher";
   };
 }
diff --git a/pkgs/applications/misc/pop/default.nix b/pkgs/applications/misc/pop/default.nix
index 02ebcaa2fb96..3fbf063e7315 100644
--- a/pkgs/applications/misc/pop/default.nix
+++ b/pkgs/applications/misc/pop/default.nix
@@ -36,5 +36,6 @@ buildGoModule rec {
     changelog = "https://github.com/charmbracelet/pop/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ caarlos0 maaslalani ];
+    mainProgram = "pop";
   };
 }
diff --git a/pkgs/applications/misc/porsmo/default.nix b/pkgs/applications/misc/porsmo/default.nix
index 2e158187e437..f741ad2d6b48 100644
--- a/pkgs/applications/misc/porsmo/default.nix
+++ b/pkgs/applications/misc/porsmo/default.nix
@@ -43,5 +43,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/ColorCookie-dev/porsmo";
     license = licenses.mit;
     maintainers = with maintainers; [ MoritzBoehme ];
+    mainProgram = "porsmo";
   };
 }
diff --git a/pkgs/applications/misc/premid/default.nix b/pkgs/applications/misc/premid/default.nix
index df2f0d6b28a1..f621d510e411 100644
--- a/pkgs/applications/misc/premid/default.nix
+++ b/pkgs/applications/misc/premid/default.nix
@@ -89,5 +89,6 @@ stdenv.mkDerivation rec {
     license = licenses.mpl20;
     maintainers = with maintainers; [ natto1784 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "premid";
   };
 }
diff --git a/pkgs/applications/misc/process-compose/default.nix b/pkgs/applications/misc/process-compose/default.nix
index d674515e8bae..e286e782a6e8 100644
--- a/pkgs/applications/misc/process-compose/default.nix
+++ b/pkgs/applications/misc/process-compose/default.nix
@@ -62,5 +62,6 @@ buildGoModule rec {
     changelog = "https://github.com/F1bonacc1/process-compose/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ thenonameguy ];
+    mainProgram = "process-compose";
   };
 }
diff --git a/pkgs/applications/misc/psi-notify/default.nix b/pkgs/applications/misc/psi-notify/default.nix
index e086ee01afed..b984cc5cd5c3 100644
--- a/pkgs/applications/misc/psi-notify/default.nix
+++ b/pkgs/applications/misc/psi-notify/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/cdown/psi-notify";
     platforms = platforms.linux;
     maintainers = with maintainers; [ eduarrrd ];
+    mainProgram = "psi-notify";
   };
 }
diff --git a/pkgs/applications/misc/pstree/default.nix b/pkgs/applications/misc/pstree/default.nix
index d25e4a6f90ba..7b979d486faa 100644
--- a/pkgs/applications/misc/pstree/default.nix
+++ b/pkgs/applications/misc/pstree/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.c0bw3b ];
     platforms = platforms.unix;
     priority = 5; # Lower than psmisc also providing pstree on Linux platforms
+    mainProgram = "pstree";
   };
 }
diff --git a/pkgs/applications/misc/pt/default.nix b/pkgs/applications/misc/pt/default.nix
index ef490702a672..2cbcbdd7faa0 100644
--- a/pkgs/applications/misc/pt/default.nix
+++ b/pkgs/applications/misc/pt/default.nix
@@ -13,5 +13,6 @@ bundlerApp {
     license     = licenses.mit;
     maintainers = with maintainers; [ ebzzry manveru nicknovitski ];
     platforms   = platforms.unix;
+    mainProgram = "pt";
   };
 }
diff --git a/pkgs/applications/misc/qcad/default.nix b/pkgs/applications/misc/qcad/default.nix
index 9ab33ad29492..e67a96fe7cd3 100644
--- a/pkgs/applications/misc/qcad/default.nix
+++ b/pkgs/applications/misc/qcad/default.nix
@@ -18,14 +18,14 @@
 
 mkDerivation rec {
   pname = "qcad";
-  version = "3.29.3.1";
+  version = "3.29.4.1";
 
   src = fetchFromGitHub {
     name = "qcad-${version}-src";
     owner = "qcad";
     repo = "qcad";
     rev = "v${version}";
-    sha256 = "sha256-QPBiEoOseNUzAWQHPEBq6O0jg8ed5dH+8xlyRCct0g4=";
+    hash = "sha256-00lPgiE3hsP3SL96ygBP91CaAWi1IGOYUO7zC/ORG1U=";
   };
 
   patches = [
@@ -65,23 +65,23 @@ mkDerivation rec {
     "MUPARSER_DIR=${muparser}"
     "INSTALLROOT=$(out)"
     "BOOST_DIR=${boost.dev}"
+    "QMAKE_CXXFLAGS=-std=c++14"
   ];
 
-  qtWrapperArgs =
-    lib.optionals stdenv.isLinux [ "--prefix LD_LIBRARY_PATH : ${placeholder "out"}/lib" ]
-    ++
-    lib.optionals stdenv.isDarwin [ "--prefix DYLD_LIBRARY_PATH : ${placeholder "out"}/lib" ];
+  qtWrapperArgs = lib.optionals stdenv.isLinux [
+    "--prefix LD_LIBRARY_PATH : ${placeholder "out"}/lib"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "--prefix DYLD_LIBRARY_PATH : ${placeholder "out"}/lib"
+  ];
 
   installPhase = ''
     runHook preInstall
-
   '' + lib.optionalString stdenv.isLinux ''
     install -Dm555 release/qcad-bin $out/bin/qcad
   '' + lib.optionalString stdenv.isDarwin ''
     install -Dm555 release/QCAD.app/Contents/MacOS/QCAD $out/bin/qcad
     mkdir -p $out/lib
-  '' +
-  ''
+  '' + ''
     install -Dm555 -t $out/lib release/libspatialindexnavel${stdenv.hostPlatform.extensions.sharedLibrary}
     install -Dm555 -t $out/lib release/libqcadcore${stdenv.hostPlatform.extensions.sharedLibrary}
     install -Dm555 -t $out/lib release/libqcadentity${stdenv.hostPlatform.extensions.sharedLibrary}
@@ -121,11 +121,12 @@ mkDerivation rec {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "2D CAD package based on Qt";
     homepage = "https://qcad.org";
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ yvesf ];
+    license = lib.licenses.gpl3Only;
+    mainProgram = "qcad";
+    maintainers = with lib.maintainers; [ yvesf ];
     platforms = qtbase.meta.platforms;
   };
 }
diff --git a/pkgs/applications/misc/quicksynergy/default.nix b/pkgs/applications/misc/quicksynergy/default.nix
index d26972d97fb7..5a93f647291d 100644
--- a/pkgs/applications/misc/quicksynergy/default.nix
+++ b/pkgs/applications/misc/quicksynergy/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.spinus ];
     platforms = lib.platforms.linux;
+    mainProgram = "quicksynergy";
   };
 }
diff --git a/pkgs/applications/misc/ratt/default.nix b/pkgs/applications/misc/ratt/default.nix
index 15ce7a2e1409..afdc3c231418 100644
--- a/pkgs/applications/misc/ratt/default.nix
+++ b/pkgs/applications/misc/ratt/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://git.sr.ht/~ghost08/ratt";
     license = licenses.mit;
     maintainers = with maintainers; [ kmein ];
+    mainProgram = "ratt";
   };
 }
diff --git a/pkgs/applications/misc/reddsaver/default.nix b/pkgs/applications/misc/reddsaver/default.nix
index 7bcf774b0116..1c6202eb0dee 100644
--- a/pkgs/applications/misc/reddsaver/default.nix
+++ b/pkgs/applications/misc/reddsaver/default.nix
@@ -31,6 +31,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/manojkarthick/reddsaver";
     license = with licenses; [ mit /* or */ asl20 ];
     maintainers = [ maintainers.manojkarthick ];
+    mainProgram = "reddsaver";
   };
 
 }
diff --git a/pkgs/applications/misc/resumed/default.nix b/pkgs/applications/misc/resumed/default.nix
index 75ee72a38b7f..e1f6928dcdbb 100644
--- a/pkgs/applications/misc/resumed/default.nix
+++ b/pkgs/applications/misc/resumed/default.nix
@@ -18,5 +18,6 @@ buildNpmPackage rec {
     homepage = "https://github.com/rbardini/resumed";
     license = licenses.mit;
     maintainers = with maintainers; [ ambroisie ];
+    mainProgram = "resumed";
   };
 }
diff --git a/pkgs/applications/misc/revanced-cli/default.nix b/pkgs/applications/misc/revanced-cli/default.nix
index 96c8f43a7249..56923e0ee195 100644
--- a/pkgs/applications/misc/revanced-cli/default.nix
+++ b/pkgs/applications/misc/revanced-cli/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     maintainers = with maintainers; [ jopejoe1 ];
+    mainProgram = "revanced-cli";
   };
 }
diff --git a/pkgs/applications/misc/river-luatile/default.nix b/pkgs/applications/misc/river-luatile/default.nix
index 6b5c27bab5ae..8999ea2445e5 100644
--- a/pkgs/applications/misc/river-luatile/default.nix
+++ b/pkgs/applications/misc/river-luatile/default.nix
@@ -32,5 +32,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pinpox ];
+    mainProgram = "river-luatile";
   };
 }
diff --git a/pkgs/applications/misc/river-tag-overlay/default.nix b/pkgs/applications/misc/river-tag-overlay/default.nix
index 902f6e816148..e1652cf70da7 100644
--- a/pkgs/applications/misc/river-tag-overlay/default.nix
+++ b/pkgs/applications/misc/river-tag-overlay/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ edrex ];
     platforms = platforms.linux;
+    mainProgram = "river-tag-overlay";
   };
 }
diff --git a/pkgs/applications/misc/rivercarro/default.nix b/pkgs/applications/misc/rivercarro/default.nix
index 5962b49ffc6a..93b476973f55 100644
--- a/pkgs/applications/misc/rivercarro/default.nix
+++ b/pkgs/applications/misc/rivercarro/default.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ kraem ];
     inherit (zig_0_11.meta) platforms;
+    mainProgram = "rivercarro";
   };
 })
diff --git a/pkgs/applications/misc/rlaunch/default.nix b/pkgs/applications/misc/rlaunch/default.nix
index 15f26a24d602..da90dbe5d74a 100644
--- a/pkgs/applications/misc/rlaunch/default.nix
+++ b/pkgs/applications/misc/rlaunch/default.nix
@@ -29,5 +29,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ danc86 ];
+    mainProgram = "rlaunch";
   };
 }
diff --git a/pkgs/applications/misc/robo3t/default.nix b/pkgs/applications/misc/robo3t/default.nix
index ae32aac267e1..c2ea6a2a2552 100644
--- a/pkgs/applications/misc/robo3t/default.nix
+++ b/pkgs/applications/misc/robo3t/default.nix
@@ -94,5 +94,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ eperuffo ];
+    mainProgram = "robo3t";
   };
 }
diff --git a/pkgs/applications/misc/rsclock/default.nix b/pkgs/applications/misc/rsclock/default.nix
index 8a6c5588494f..1830a6008726 100644
--- a/pkgs/applications/misc/rsclock/default.nix
+++ b/pkgs/applications/misc/rsclock/default.nix
@@ -18,5 +18,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/valebes/rsClock";
     license = licenses.mit;
     maintainers = with maintainers; [valebes];
+    mainProgram = "rsclock";
   };
 }
diff --git a/pkgs/applications/misc/rss-bridge-cli/default.nix b/pkgs/applications/misc/rss-bridge-cli/default.nix
index 05d2bca99b1b..e7714a21b129 100644
--- a/pkgs/applications/misc/rss-bridge-cli/default.nix
+++ b/pkgs/applications/misc/rss-bridge-cli/default.nix
@@ -23,5 +23,6 @@ in (writeShellScriptBin "rss-bridge-cli" ''
     homepage = "https://github.com/RSS-Bridge/rss-bridge";
     license = licenses.unlicense;
     maintainers = with maintainers; [ ymeister ];
+    mainProgram = "rss-bridge-cli";
   };
 })
diff --git a/pkgs/applications/misc/rusty-psn/default.nix b/pkgs/applications/misc/rusty-psn/default.nix
index d9e713b0abf7..c9968f7257f8 100644
--- a/pkgs/applications/misc/rusty-psn/default.nix
+++ b/pkgs/applications/misc/rusty-psn/default.nix
@@ -87,5 +87,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ AngryAnt ];
+    mainProgram = "rusty-psn";
   };
 }
diff --git a/pkgs/applications/misc/sampler/default.nix b/pkgs/applications/misc/sampler/default.nix
index e5e090e7da4d..a111142bbde4 100644
--- a/pkgs/applications/misc/sampler/default.nix
+++ b/pkgs/applications/misc/sampler/default.nix
@@ -35,5 +35,6 @@ buildGoModule rec {
     homepage = "https://sampler.dev";
     license = licenses.gpl3;
     maintainers = with maintainers; [ uvnikita ];
+    mainProgram = "sampler";
   };
 }
diff --git a/pkgs/applications/misc/sdcv/default.nix b/pkgs/applications/misc/sdcv/default.nix
index 3ddef749c568..206ca96d0100 100644
--- a/pkgs/applications/misc/sdcv/default.nix
+++ b/pkgs/applications/misc/sdcv/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ lovek323 ];
     license = licenses.gpl2;
     platforms = platforms.unix;
+    mainProgram = "sdcv";
   };
 }
diff --git a/pkgs/applications/misc/semver/default.nix b/pkgs/applications/misc/semver/default.nix
index cdafd3202719..53e06a4c406e 100644
--- a/pkgs/applications/misc/semver/default.nix
+++ b/pkgs/applications/misc/semver/default.nix
@@ -19,5 +19,6 @@ buildGoModule rec {
     description = "A small CLI to fish out the current or next semver version from a git repository";
     maintainers = with maintainers; [ catouc ];
     license = licenses.mit;
+    mainProgram = "semver";
   };
 }
diff --git a/pkgs/applications/misc/senv/default.nix b/pkgs/applications/misc/senv/default.nix
index b45085610d13..b542966e828a 100644
--- a/pkgs/applications/misc/senv/default.nix
+++ b/pkgs/applications/misc/senv/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ SuperSandro2000 ];
     broken = stdenv.isDarwin; # needs golang.org/x/sys bump
+    mainProgram = "senv";
   };
 }
diff --git a/pkgs/applications/misc/shavee/default.nix b/pkgs/applications/misc/shavee/default.nix
index e419ccafeb0e..7854cfbd17f4 100644
--- a/pkgs/applications/misc/shavee/default.nix
+++ b/pkgs/applications/misc/shavee/default.nix
@@ -43,5 +43,6 @@ rustPlatform.buildRustPackage rec {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ jasonodoom ];
     platforms = lib.platforms.linux;
+    mainProgram = "shavee";
   };
 }
diff --git a/pkgs/applications/misc/shell-genie/default.nix b/pkgs/applications/misc/shell-genie/default.nix
index 9c64415132fa..dd6c723121d4 100644
--- a/pkgs/applications/misc/shell-genie/default.nix
+++ b/pkgs/applications/misc/shell-genie/default.nix
@@ -8,7 +8,7 @@ with python3.pkgs;
 buildPythonPackage rec {
   pname = "shell-genie";
   version = "0.2.10";
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchPypi {
     pname = "shell_genie";
@@ -17,6 +17,7 @@ buildPythonPackage rec {
   };
 
   pythonRelaxDeps = [
+    "openai"
     "typer"
   ];
 
diff --git a/pkgs/applications/misc/sidequest/default.nix b/pkgs/applications/misc/sidequest/default.nix
index 226bb571b2ce..c472fdb65ec9 100644
--- a/pkgs/applications/misc/sidequest/default.nix
+++ b/pkgs/applications/misc/sidequest/default.nix
@@ -106,6 +106,7 @@
         license = licenses.mit;
         maintainers = with maintainers; [ joepie91 rvolosatovs ];
         platforms = [ "x86_64-linux" ];
+        mainProgram = "SideQuest";
       };
     };
 
diff --git a/pkgs/applications/misc/sigi/default.nix b/pkgs/applications/misc/sigi/default.nix
index 1528cd31065e..16df94f4d0f9 100644
--- a/pkgs/applications/misc/sigi/default.nix
+++ b/pkgs/applications/misc/sigi/default.nix
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/sigi-cli/sigi";
     license = licenses.gpl2;
     maintainers = with maintainers; [ booniepepper ];
+    mainProgram = "sigi";
   };
 }
diff --git a/pkgs/applications/misc/skate/default.nix b/pkgs/applications/misc/skate/default.nix
index 6dc73d74411f..16849996441f 100644
--- a/pkgs/applications/misc/skate/default.nix
+++ b/pkgs/applications/misc/skate/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     changelog = "https://github.com/charmbracelet/skate/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda penguwin ];
+    mainProgram = "skate";
   };
 }
diff --git a/pkgs/applications/misc/slides/default.nix b/pkgs/applications/misc/slides/default.nix
index 55229c206f18..0c97ff7f14fa 100644
--- a/pkgs/applications/misc/slides/default.nix
+++ b/pkgs/applications/misc/slides/default.nix
@@ -35,5 +35,6 @@ buildGoModule rec {
     changelog = "https://github.com/maaslalani/slides/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ maaslalani penguwin ];
+    mainProgram = "slides";
   };
 }
diff --git a/pkgs/applications/misc/slippy/default.nix b/pkgs/applications/misc/slippy/default.nix
index f599c4f47cfd..40de95838ad5 100644
--- a/pkgs/applications/misc/slippy/default.nix
+++ b/pkgs/applications/misc/slippy/default.nix
@@ -64,5 +64,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/axodotdev/slippy/releases/tag/${src.rev}";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "slippy";
   };
 }
diff --git a/pkgs/applications/misc/slstatus/default.nix b/pkgs/applications/misc/slstatus/default.nix
index 83407f94fcb6..fcac061de0d1 100644
--- a/pkgs/applications/misc/slstatus/default.nix
+++ b/pkgs/applications/misc/slstatus/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     maintainers = with maintainers; [ oxzi ];
     platforms = platforms.linux;
+    mainProgram = "slstatus";
   };
 }
diff --git a/pkgs/applications/misc/slweb/default.nix b/pkgs/applications/misc/slweb/default.nix
index ee5e01b79956..b1e92cb9a39c 100644
--- a/pkgs/applications/misc/slweb/default.nix
+++ b/pkgs/applications/misc/slweb/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ GaetanLepage ];
+    mainProgram = "slweb";
   };
 })
diff --git a/pkgs/applications/misc/smpq/default.nix b/pkgs/applications/misc/smpq/default.nix
index 7a6264d96547..a1879241bd21 100644
--- a/pkgs/applications/misc/smpq/default.nix
+++ b/pkgs/applications/misc/smpq/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     platforms = platforms.all;
     maintainers = with maintainers; [ aanderse karolchmist ];
+    mainProgram = "smpq";
   };
 }
diff --git a/pkgs/applications/misc/snixembed/default.nix b/pkgs/applications/misc/snixembed/default.nix
index 71a5837cc126..21ec5dac81df 100644
--- a/pkgs/applications/misc/snixembed/default.nix
+++ b/pkgs/applications/misc/snixembed/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     platforms = platforms.unix;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "snixembed";
   };
 }
diff --git a/pkgs/applications/misc/snowsql/default.nix b/pkgs/applications/misc/snowsql/default.nix
index 634c8367be69..c4af36299895 100644
--- a/pkgs/applications/misc/snowsql/default.nix
+++ b/pkgs/applications/misc/snowsql/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ andehen ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "snowsql";
   };
 }
diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix
index 93a6c069f669..f3cd458510b3 100644
--- a/pkgs/applications/misc/solaar/default.nix
+++ b/pkgs/applications/misc/solaar/default.nix
@@ -14,13 +14,13 @@
 # instead of adding this to `services.udev.packages` on NixOS,
 python3Packages.buildPythonApplication rec {
   pname = "solaar";
-  version = "1.1.10";
+  version = "1.1.11";
 
   src = fetchFromGitHub {
     owner = "pwr-Solaar";
     repo = "Solaar";
     rev = "refs/tags/${version}";
-    hash = "sha256-cs1kj/spZtMUL9aUtBHINAH7uyjMSn9jRDF/hRPzIbo=";
+    hash = "sha256-fVWfV7rEu/knysWUrPeokBBlSGnvNlpiptAd1M7ZVd8=";
   };
 
   outputs = [ "out" "udev" ];
diff --git a/pkgs/applications/misc/somebar/default.nix b/pkgs/applications/misc/somebar/default.nix
index 6c595bc8dd66..4c2545fe9c96 100644
--- a/pkgs/applications/misc/somebar/default.nix
+++ b/pkgs/applications/misc/somebar/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ magnouvean ];
     platforms = platforms.linux;
+    mainProgram = "somebar";
   };
 }
diff --git a/pkgs/applications/misc/spacenav-cube-example/default.nix b/pkgs/applications/misc/spacenav-cube-example/default.nix
index 0073c4a0f81e..66c16e458b8f 100644
--- a/pkgs/applications/misc/spacenav-cube-example/default.nix
+++ b/pkgs/applications/misc/spacenav-cube-example/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation {
     license = licenses.bsd3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ sohalt ];
+    mainProgram = "spacenav-cube-example";
   };
 }
diff --git a/pkgs/applications/misc/speedread/default.nix b/pkgs/applications/misc/speedread/default.nix
index 451382cda373..234e6b136feb 100644
--- a/pkgs/applications/misc/speedread/default.nix
+++ b/pkgs/applications/misc/speedread/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.unix;
     maintainers = [ maintainers.oxij ];
+    mainProgram = "speedread";
   };
 }
diff --git a/pkgs/applications/misc/spnavcfg/default.nix b/pkgs/applications/misc/spnavcfg/default.nix
index 6424204c460a..921947fc1b80 100644
--- a/pkgs/applications/misc/spnavcfg/default.nix
+++ b/pkgs/applications/misc/spnavcfg/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ gebner ];
+    mainProgram = "spnavcfg";
   };
 }
diff --git a/pkgs/applications/misc/spotify-tray/default.nix b/pkgs/applications/misc/spotify-tray/default.nix
index 2ba37830749d..372e468487fd 100644
--- a/pkgs/applications/misc/spotify-tray/default.nix
+++ b/pkgs/applications/misc/spotify-tray/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ Enzime ];
+    mainProgram = "spotify-tray";
   };
 }
diff --git a/pkgs/applications/misc/ssocr/default.nix b/pkgs/applications/misc/ssocr/default.nix
index 3605d1a7f864..4231adb65b41 100644
--- a/pkgs/applications/misc/ssocr/default.nix
+++ b/pkgs/applications/misc/ssocr/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/auerswal/ssocr";
     license = licenses.gpl3;
     maintainers = [ maintainers.kroell ];
+    mainProgram = "ssocr";
   };
 }
diff --git a/pkgs/applications/misc/stag/default.nix b/pkgs/applications/misc/stag/default.nix
index d8360dd7ccf4..049cee5a830d 100644
--- a/pkgs/applications/misc/stag/default.nix
+++ b/pkgs/applications/misc/stag/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.bsdOriginal;
     maintainers = with maintainers; [ matthiasbeyer ];
     platforms = platforms.unix;
+    mainProgram = "stag";
   };
 })
diff --git a/pkgs/applications/misc/stepreduce/default.nix b/pkgs/applications/misc/stepreduce/default.nix
index 11e1df4cced4..40e0986c5d01 100644
--- a/pkgs/applications/misc/stepreduce/default.nix
+++ b/pkgs/applications/misc/stepreduce/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.com/sethhillbrand/stepreduce";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ evils ];
+    mainProgram = "stepreduce";
   };
 }
diff --git a/pkgs/applications/misc/stork/default.nix b/pkgs/applications/misc/stork/default.nix
index 6a9765481812..ab851363d381 100644
--- a/pkgs/applications/misc/stork/default.nix
+++ b/pkgs/applications/misc/stork/default.nix
@@ -35,5 +35,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/jameslittle230/stork";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ chuahou ];
+    mainProgram = "stork";
   };
 }
diff --git a/pkgs/applications/misc/stretchly/default.nix b/pkgs/applications/misc/stretchly/default.nix
index 67ffdee86c98..71288ca07c9d 100644
--- a/pkgs/applications/misc/stretchly/default.nix
+++ b/pkgs/applications/misc/stretchly/default.nix
@@ -75,5 +75,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.bsd2;
     maintainers = with maintainers; [ _1000101 ];
     platforms = platforms.linux;
+    mainProgram = "stretchly";
   };
 })
diff --git a/pkgs/applications/misc/stw/default.nix b/pkgs/applications/misc/stw/default.nix
index e7c11fd4b9a5..ca46c163128a 100644
--- a/pkgs/applications/misc/stw/default.nix
+++ b/pkgs/applications/misc/stw/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ somasis ];
     platforms = platforms.unix;
     broken = stdenv.isDarwin;
+    mainProgram = "stw";
   };
 }
diff --git a/pkgs/applications/misc/styx/default.nix b/pkgs/applications/misc/styx/default.nix
index 6ef1bb9b95ee..96278fd9c322 100644
--- a/pkgs/applications/misc/styx/default.nix
+++ b/pkgs/applications/misc/styx/default.nix
@@ -67,5 +67,6 @@ stdenv.mkDerivation rec {
     downloadPage = "https://github.com/styx-static/styx/";
     platforms    = platforms.all;
     license      = licenses.mit;
+    mainProgram  = "styx";
   };
 }
diff --git a/pkgs/applications/misc/surface-control/default.nix b/pkgs/applications/misc/surface-control/default.nix
index e995f036cddc..77f3954ed059 100644
--- a/pkgs/applications/misc/surface-control/default.nix
+++ b/pkgs/applications/misc/surface-control/default.nix
@@ -39,5 +39,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux;
+    mainProgram = "surface";
   };
 }
diff --git a/pkgs/applications/misc/swaynag-battery/default.nix b/pkgs/applications/misc/swaynag-battery/default.nix
index b58758d8a417..8dc99ca012e9 100644
--- a/pkgs/applications/misc/swaynag-battery/default.nix
+++ b/pkgs/applications/misc/swaynag-battery/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     description = "Shows a message when your battery is discharging ";
     maintainers = with maintainers; [ ];
     license = licenses.mit;
+    mainProgram = "swaynag-battery";
   };
 }
diff --git a/pkgs/applications/misc/synapse/default.nix b/pkgs/applications/misc/synapse/default.nix
index da822f5347bf..1491a4e81291 100644
--- a/pkgs/applications/misc/synapse/default.nix
+++ b/pkgs/applications/misc/synapse/default.nix
@@ -33,5 +33,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ mahe ];
     platforms = with platforms; all;
+    mainProgram = "synapse";
   };
 }
diff --git a/pkgs/applications/misc/syncthing-tray/default.nix b/pkgs/applications/misc/syncthing-tray/default.nix
index db734bff5878..e9db92df121c 100644
--- a/pkgs/applications/misc/syncthing-tray/default.nix
+++ b/pkgs/applications/misc/syncthing-tray/default.nix
@@ -23,5 +23,6 @@ buildGoPackage rec {
     homepage = "https://github.com/alex2108/syncthing-tray";
     license = licenses.mit;
     maintainers = with maintainers; [ nickhu ];
+    mainProgram = "syncthing-tray";
   };
 }
diff --git a/pkgs/applications/misc/systembus-notify/default.nix b/pkgs/applications/misc/systembus-notify/default.nix
index 770cd8584010..f05c8a0aa074 100644
--- a/pkgs/applications/misc/systembus-notify/default.nix
+++ b/pkgs/applications/misc/systembus-notify/default.nix
@@ -60,5 +60,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.linux;
+    mainProgram = "systembus-notify";
   };
 }
diff --git a/pkgs/applications/misc/tabula-java/default.nix b/pkgs/applications/misc/tabula-java/default.nix
index f8d3cc3c54be..ce402396c97d 100644
--- a/pkgs/applications/misc/tabula-java/default.nix
+++ b/pkgs/applications/misc/tabula-java/default.nix
@@ -45,5 +45,6 @@ maven.buildMavenPackage rec {
     license = licenses.mit;
     maintainers = [ maintainers.jakewaksbaum ];
     platforms = platforms.all;
+    mainProgram = "tabula-java";
   };
 }
diff --git a/pkgs/applications/misc/tagtime/default.nix b/pkgs/applications/misc/tagtime/default.nix
index d21621058bca..9ec36c26defc 100644
--- a/pkgs/applications/misc/tagtime/default.nix
+++ b/pkgs/applications/misc/tagtime/default.nix
@@ -75,5 +75,6 @@ stdenv.mkDerivation {
     homepage = "http://messymatters.com/tagtime/";
     license = lib.licenses.bsd3;
     maintainers = [ lib.maintainers.Profpatsch ];
+    mainProgram = "tagtimed";
   };
 }
diff --git a/pkgs/applications/misc/tailscale-systray/default.nix b/pkgs/applications/misc/tailscale-systray/default.nix
index 85e927f018f1..842b66ee7cc7 100644
--- a/pkgs/applications/misc/tailscale-systray/default.nix
+++ b/pkgs/applications/misc/tailscale-systray/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     homepage = "https://github.com/mattn/tailscale-systray";
     license = licenses.mit;
     maintainers = with maintainers; [ qbit ];
+    mainProgram = "tailscale-systray";
   };
 }
diff --git a/pkgs/applications/misc/taizen/default.nix b/pkgs/applications/misc/taizen/default.nix
index d39ad206c2dc..903de3c05c1d 100644
--- a/pkgs/applications/misc/taizen/default.nix
+++ b/pkgs/applications/misc/taizen/default.nix
@@ -35,5 +35,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/nerdypepper/taizen";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "taizen";
   };
 }
diff --git a/pkgs/applications/misc/tandoor-recipes/default.nix b/pkgs/applications/misc/tandoor-recipes/default.nix
index 98c6f8b530f9..dc36156ff4a1 100644
--- a/pkgs/applications/misc/tandoor-recipes/default.nix
+++ b/pkgs/applications/misc/tandoor-recipes/default.nix
@@ -158,5 +158,6 @@ python.pkgs.pythonPackages.buildPythonPackage rec {
       Application for managing recipes, planning meals, building shopping lists
       and much much more!
     '';
+    mainProgram = "tandoor-recipes";
   };
 }
diff --git a/pkgs/applications/misc/tango/default.nix b/pkgs/applications/misc/tango/default.nix
index d6278c7f79cc..bd2dca9d790b 100644
--- a/pkgs/applications/misc/tango/default.nix
+++ b/pkgs/applications/misc/tango/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/masakichi/tango";
     license = licenses.mit;
     maintainers = with maintainers; [ donovanglover ];
+    mainProgram = "tango";
   };
 }
diff --git a/pkgs/applications/misc/tasksh/default.nix b/pkgs/applications/misc/tasksh/default.nix
index 134d1373ad4b..0e169bc998d6 100644
--- a/pkgs/applications/misc/tasksh/default.nix
+++ b/pkgs/applications/misc/tasksh/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ matthiasbeyer ];
     platforms = platforms.unix;
+    mainProgram = "tasksh";
   };
 }
diff --git a/pkgs/applications/misc/taskwarrior-tui/default.nix b/pkgs/applications/misc/taskwarrior-tui/default.nix
index 153ea4d6d55c..44b6ccf76095 100644
--- a/pkgs/applications/misc/taskwarrior-tui/default.nix
+++ b/pkgs/applications/misc/taskwarrior-tui/default.nix
@@ -32,5 +32,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/kdheepak/taskwarrior-tui";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ matthiasbeyer ];
+    mainProgram = "taskwarrior-tui";
   };
 }
diff --git a/pkgs/applications/misc/terminal-colors/default.nix b/pkgs/applications/misc/terminal-colors/default.nix
index 96df3d178328..fc196be625e5 100644
--- a/pkgs/applications/misc/terminal-colors/default.nix
+++ b/pkgs/applications/misc/terminal-colors/default.nix
@@ -51,5 +51,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/eikenb/terminal-colors";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ kaction ];
+    mainProgram = "terminal-colors";
   };
 }
diff --git a/pkgs/applications/misc/terminal-parrot/default.nix b/pkgs/applications/misc/terminal-parrot/default.nix
index f0b4d20b1a76..802588e8ef64 100644
--- a/pkgs/applications/misc/terminal-parrot/default.nix
+++ b/pkgs/applications/misc/terminal-parrot/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     homepage = "https://github.com/jmhobbs/terminal-parrot";
     license = licenses.mit;
     maintainers = [ maintainers.heel ];
+    mainProgram = "terminal-parrot";
   };
 }
diff --git a/pkgs/applications/misc/terminal-stocks/default.nix b/pkgs/applications/misc/terminal-stocks/default.nix
index 285eb9b744d4..9d1ee035d81a 100644
--- a/pkgs/applications/misc/terminal-stocks/default.nix
+++ b/pkgs/applications/misc/terminal-stocks/default.nix
@@ -21,5 +21,6 @@ buildNpmPackage rec {
     homepage = "https://github.com/shweshi/terminal-stocks";
     maintainers = with maintainers; [ mislavzanic ];
     license = licenses.mit;
+    mainProgram = "terminal-stocks";
   };
 }
diff --git a/pkgs/applications/misc/thedesk/default.nix b/pkgs/applications/misc/thedesk/default.nix
index faf32c96a19e..3fb11f883a2a 100644
--- a/pkgs/applications/misc/thedesk/default.nix
+++ b/pkgs/applications/misc/thedesk/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ wolfangaukang ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "thedesk";
   };
 }
diff --git a/pkgs/applications/misc/thokr/default.nix b/pkgs/applications/misc/thokr/default.nix
index 74c5b2ccc712..cf82a8d6aeb8 100644
--- a/pkgs/applications/misc/thokr/default.nix
+++ b/pkgs/applications/misc/thokr/default.nix
@@ -18,5 +18,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/thatvegandev/thokr";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "thokr";
   };
 }
diff --git a/pkgs/applications/misc/ticker/default.nix b/pkgs/applications/misc/ticker/default.nix
index bb3322a27881..fdbc9c2a5cd4 100644
--- a/pkgs/applications/misc/ticker/default.nix
+++ b/pkgs/applications/misc/ticker/default.nix
@@ -31,5 +31,6 @@ buildGoModule rec {
     changelog = "https://github.com/achannarasappa/ticker/releases/tag/v${version}";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ siraben sarcasticadmin ];
+    mainProgram = "ticker";
   };
 }
diff --git a/pkgs/applications/misc/tickrs/default.nix b/pkgs/applications/misc/tickrs/default.nix
index 35d56e8be7dd..a22f9da07359 100644
--- a/pkgs/applications/misc/tickrs/default.nix
+++ b/pkgs/applications/misc/tickrs/default.nix
@@ -42,5 +42,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/tarkah/tickrs/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ mredaelli ];
+    mainProgram = "tickrs";
   };
 }
diff --git a/pkgs/applications/misc/timew-sync-server/default.nix b/pkgs/applications/misc/timew-sync-server/default.nix
index 8f2420280c9c..fefc25a48792 100644
--- a/pkgs/applications/misc/timew-sync-server/default.nix
+++ b/pkgs/applications/misc/timew-sync-server/default.nix
@@ -19,5 +19,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = [ maintainers.joachimschmidt557 ];
     platforms = platforms.linux;
+    mainProgram = "timew-sync-server";
   };
 }
diff --git a/pkgs/applications/misc/tippecanoe/default.nix b/pkgs/applications/misc/tippecanoe/default.nix
index 60b4aa9e80da..990b2495ce97 100644
--- a/pkgs/applications/misc/tippecanoe/default.nix
+++ b/pkgs/applications/misc/tippecanoe/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tippecanoe";
-  version = "2.43.0";
+  version = "2.45.0";
 
   src = fetchFromGitHub {
     owner = "felt";
     repo = "tippecanoe";
     rev = finalAttrs.version;
-    hash = "sha256-qJB3Y4UaSmSsDbT/EB+aQSvJj8+yYkI3sQR2UOjilfE=";
+    hash = "sha256-LsXK3qcS7x0FHJH5QQ0rM/h+jFSnkwa8mUbHKgcQ6NU=";
   };
 
   buildInputs = [ sqlite zlib ];
diff --git a/pkgs/applications/misc/tiramisu/default.nix b/pkgs/applications/misc/tiramisu/default.nix
index 3e8f101f871e..8624bded6641 100644
--- a/pkgs/applications/misc/tiramisu/default.nix
+++ b/pkgs/applications/misc/tiramisu/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ wishfort36 moni ];
+    mainProgram = "tiramisu";
   };
 }
diff --git a/pkgs/applications/misc/tmatrix/default.nix b/pkgs/applications/misc/tmatrix/default.nix
index 780a80b5d2c6..50af14380888 100644
--- a/pkgs/applications/misc/tmatrix/default.nix
+++ b/pkgs/applications/misc/tmatrix/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.all;
     maintainers = with maintainers; [ infinisil Br1ght0ne ];
+    mainProgram = "tmatrix";
   };
 }
diff --git a/pkgs/applications/misc/tnef/default.nix b/pkgs/applications/misc/tnef/default.nix
index 65e07915c760..4c4b67adf96d 100644
--- a/pkgs/applications/misc/tnef/default.nix
+++ b/pkgs/applications/misc/tnef/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.all;
+    mainProgram = "tnef";
   };
 }
diff --git a/pkgs/applications/misc/todoist-electron/default.nix b/pkgs/applications/misc/todoist-electron/default.nix
index d9306ce7d187..351df8c558ad 100644
--- a/pkgs/applications/misc/todoist-electron/default.nix
+++ b/pkgs/applications/misc/todoist-electron/default.nix
@@ -41,5 +41,6 @@ in appimageTools.wrapAppImage {
     platforms = [ "x86_64-linux" ];
     license = licenses.unfree;
     maintainers = with maintainers; [ kylesferrazza pokon548 ];
+    mainProgram = "todoist-electron";
   };
 }
diff --git a/pkgs/applications/misc/todoist/default.nix b/pkgs/applications/misc/todoist/default.nix
index fc600ab7710c..0145644de14f 100644
--- a/pkgs/applications/misc/todoist/default.nix
+++ b/pkgs/applications/misc/todoist/default.nix
@@ -19,5 +19,6 @@ buildGoModule rec {
     homepage = "https://github.com/sachaos/todoist";
     description = "Todoist CLI Client";
     license = lib.licenses.mit;
+    mainProgram = "todoist";
   };
 }
diff --git a/pkgs/applications/misc/transifex-cli/default.nix b/pkgs/applications/misc/transifex-cli/default.nix
index 59917a460418..f03ea6eaed36 100644
--- a/pkgs/applications/misc/transifex-cli/default.nix
+++ b/pkgs/applications/misc/transifex-cli/default.nix
@@ -32,5 +32,6 @@ buildGoModule rec {
     homepage = "https://github.com/transifex/transifex-cli";
     license = licenses.asl20;
     maintainers = with maintainers; [ thornycrackers ];
+    mainProgram = "tx";
   };
 }
diff --git a/pkgs/applications/misc/ttdl/default.nix b/pkgs/applications/misc/ttdl/default.nix
index 795253aeda2b..cc8cb96f91cd 100644
--- a/pkgs/applications/misc/ttdl/default.nix
+++ b/pkgs/applications/misc/ttdl/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ttdl";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "VladimirMarkelov";
     repo = "ttdl";
     rev = "v${version}";
-    sha256 = "sha256-twl72feo1PpWZbs50a962pvvD5YUHfZRW9OjY/meYVo=";
+    sha256 = "sha256-5OYOF8SvjPn/gZf/utcpv1zVvVbB1HeB1mkMiJtBjOQ=";
   };
 
-  cargoHash = "sha256-ZoVPC/PyMm+yuDYhVFykIBk0T5RNLAfmIT36Tl/dxCo=";
+  cargoHash = "sha256-MLypY7Dbr1/4hJ2UYmNOVp0nNWrq3DDTEidgkL0X0AU=";
 
   meta = with lib; {
     description = "A CLI tool to manage todo lists in todo.txt format";
@@ -22,5 +22,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/VladimirMarkelov/ttdl/blob/v${version}/changelog";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ _3JlOy-PYCCKUi ];
+    mainProgram = "ttdl";
   };
 }
diff --git a/pkgs/applications/misc/tthsum/default.nix b/pkgs/applications/misc/tthsum/default.nix
index 26508c6d49bf..2c41c1c300f7 100644
--- a/pkgs/applications/misc/tthsum/default.nix
+++ b/pkgs/applications/misc/tthsum/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.unix;
+    mainProgram = "tthsum";
   };
 }
diff --git a/pkgs/applications/misc/tty-share/default.nix b/pkgs/applications/misc/tty-share/default.nix
index cd741b8338d6..7f2fe8c162a7 100644
--- a/pkgs/applications/misc/tty-share/default.nix
+++ b/pkgs/applications/misc/tty-share/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     description = "Share terminal via browser for remote work or shared sessions";
     license = licenses.mit;
     maintainers = with maintainers; [ andys8 ];
+    mainProgram = "tty-share";
   };
 }
diff --git a/pkgs/applications/misc/ttyper/default.nix b/pkgs/applications/misc/ttyper/default.nix
index db46cae31e9e..de72638d19ff 100644
--- a/pkgs/applications/misc/ttyper/default.nix
+++ b/pkgs/applications/misc/ttyper/default.nix
@@ -19,5 +19,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/max-niederman/ttyper/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda max-niederman ];
+    mainProgram = "ttyper";
   };
 }
diff --git a/pkgs/applications/misc/tuckr/default.nix b/pkgs/applications/misc/tuckr/default.nix
index d332d4457a4a..f61f7bea912d 100644
--- a/pkgs/applications/misc/tuckr/default.nix
+++ b/pkgs/applications/misc/tuckr/default.nix
@@ -21,5 +21,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/RaphGL/Tuckr/releases/tag/${version}";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ mimame ];
+    mainProgram = "tuckr";
   };
 }
diff --git a/pkgs/applications/misc/tut/default.nix b/pkgs/applications/misc/tut/default.nix
index 8033cbfa865d..85f2768cc715 100644
--- a/pkgs/applications/misc/tut/default.nix
+++ b/pkgs/applications/misc/tut/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/RasmusLindroth/tut";
     license = licenses.mit;
     maintainers = with maintainers; [ equirosa ];
+    mainProgram = "tut";
   };
 }
diff --git a/pkgs/applications/misc/typer/default.nix b/pkgs/applications/misc/typer/default.nix
index ebd274125e6e..8d41e2168783 100644
--- a/pkgs/applications/misc/typer/default.nix
+++ b/pkgs/applications/misc/typer/default.nix
@@ -23,5 +23,6 @@ buildGoModule {
     homepage = "https://github.com/maaslalani/typer";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "typer";
   };
 }
diff --git a/pkgs/applications/misc/typioca/default.nix b/pkgs/applications/misc/typioca/default.nix
index acf8b3a341fe..87b499f010be 100644
--- a/pkgs/applications/misc/typioca/default.nix
+++ b/pkgs/applications/misc/typioca/default.nix
@@ -36,5 +36,6 @@ buildGoModule rec {
     changelog = "https://github.com/bloznelis/typioca/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "typioca";
   };
 }
diff --git a/pkgs/applications/misc/udict/default.nix b/pkgs/applications/misc/udict/default.nix
index 0a8522669e92..62d698cc3a36 100644
--- a/pkgs/applications/misc/udict/default.nix
+++ b/pkgs/applications/misc/udict/default.nix
@@ -40,5 +40,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/lsmb/udict";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
+    mainProgram = "udict";
   };
 }
diff --git a/pkgs/applications/misc/ultralist/default.nix b/pkgs/applications/misc/ultralist/default.nix
index 4ca7283631c0..edcc086dbb88 100644
--- a/pkgs/applications/misc/ultralist/default.nix
+++ b/pkgs/applications/misc/ultralist/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://ultralist.io";
     license = licenses.mit;
     maintainers = with maintainers; [ uvnikita ];
+    mainProgram = "ultralist";
   };
 }
diff --git a/pkgs/applications/misc/uni/default.nix b/pkgs/applications/misc/uni/default.nix
index 72c4f84ba733..57f88ab6eafe 100644
--- a/pkgs/applications/misc/uni/default.nix
+++ b/pkgs/applications/misc/uni/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     changelog = "https://github.com/arp242/uni/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ chvp ];
+    mainProgram = "uni";
   };
 }
diff --git a/pkgs/applications/misc/unipicker/default.nix b/pkgs/applications/misc/unipicker/default.nix
index b488a16015ef..e13d27ce4408 100644
--- a/pkgs/applications/misc/unipicker/default.nix
+++ b/pkgs/applications/misc/unipicker/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ ];
     platforms = platforms.unix;
+    mainProgram = "unipicker";
    };
 }
diff --git a/pkgs/applications/misc/usb-reset/default.nix b/pkgs/applications/misc/usb-reset/default.nix
index 7b4d67eb065f..0e924ba5ee67 100644
--- a/pkgs/applications/misc/usb-reset/default.nix
+++ b/pkgs/applications/misc/usb-reset/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.evils ];
     platforms = platforms.all;
+    mainProgram = "usb-reset";
   };
 }
diff --git a/pkgs/applications/misc/usync/default.nix b/pkgs/applications/misc/usync/default.nix
index cf51a53e7139..1034b3844b13 100644
--- a/pkgs/applications/misc/usync/default.nix
+++ b/pkgs/applications/misc/usync/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.unix;
+    mainProgram = "usync";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/vcal/default.nix b/pkgs/applications/misc/vcal/default.nix
index 9519e033473e..6b882e2710a6 100644
--- a/pkgs/applications/misc/vcal/default.nix
+++ b/pkgs/applications/misc/vcal/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     homepage = "https://waynemorrison.com/software/";
     license = licenses.asl20;
     maintainers = with maintainers; [ peterhoeg ];
+    mainProgram = "vcal";
   };
 }
diff --git a/pkgs/applications/misc/veracrypt/default.nix b/pkgs/applications/misc/veracrypt/default.nix
index 43537db9cc63..66aca8645adc 100644
--- a/pkgs/applications/misc/veracrypt/default.nix
+++ b/pkgs/applications/misc/veracrypt/default.nix
@@ -12,16 +12,17 @@
 , exfat
 , ntfs3g
 , btrfs-progs
+, pcsclite
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "veracrypt";
-  version = "1.25.9";
+  version = "1.26.7";
 
   src = fetchurl {
     url = "https://launchpad.net/${pname}/trunk/${lib.toLower version}/+download/VeraCrypt_${version}_Source.tar.bz2";
-    sha256 = "sha256-drbhgYS8IaQdKUn/Y9ch1JBUpxbO/zpL13tcNRC3lK8=";
+    sha256 = "sha256-920nsYJBTg1P2ba1n76iiyXbb6afK7z/ouwmmxqGX2U=";
   };
 
   patches = [
@@ -39,7 +40,7 @@ stdenv.mkDerivation rec {
   sourceRoot = "src";
 
   nativeBuildInputs = [ makeself pkg-config yasm wrapGAppsHook ];
-  buildInputs = [ fuse lvm2 wxGTK ];
+  buildInputs = [ fuse lvm2 wxGTK pcsclite ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/misc/vp/default.nix b/pkgs/applications/misc/vp/default.nix
index 5d2802921341..07dbfef2f5f5 100644
--- a/pkgs/applications/misc/vp/default.nix
+++ b/pkgs/applications/misc/vp/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license  = licenses.gpl3;
     maintainers = [ maintainers.vrthra ];
+    mainProgram = "vp";
   };
 }
diff --git a/pkgs/applications/misc/vue/default.nix b/pkgs/applications/misc/vue/default.nix
index db9313b6be61..41ab85bbd5c5 100644
--- a/pkgs/applications/misc/vue/default.nix
+++ b/pkgs/applications/misc/vue/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     platforms = with lib.platforms; linux;
     sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
     license = lib.licenses.free; # Apache License fork, actually
+    mainProgram = "vue";
   };
 }
diff --git a/pkgs/applications/misc/vul/default.nix b/pkgs/applications/misc/vul/default.nix
index 21a9e1f12b9e..0e9b52e82d31 100644
--- a/pkgs/applications/misc/vul/default.nix
+++ b/pkgs/applications/misc/vul/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/LukeSmithxyz/vul";
     license = licenses.publicDomain;
     maintainers = [ maintainers.j0hax maintainers.cafkafk ];
+    mainProgram = "vul";
   };
 }
diff --git a/pkgs/applications/misc/warpd/default.nix b/pkgs/applications/misc/warpd/default.nix
index e2d5715447f7..7fa28d41e37b 100644
--- a/pkgs/applications/misc/warpd/default.nix
+++ b/pkgs/applications/misc/warpd/default.nix
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ hhydraa ];
     license = licenses.mit;
     platforms = platforms.linux;
+    mainProgram = "warpd";
   };
 }
diff --git a/pkgs/applications/misc/wbg/default.nix b/pkgs/applications/misc/wbg/default.nix
index bf7ce1c1c229..4501f2c3ffeb 100644
--- a/pkgs/applications/misc/wbg/default.nix
+++ b/pkgs/applications/misc/wbg/default.nix
@@ -61,5 +61,6 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = with platforms; linux;
+    mainProgram = "wbg";
   };
 }
diff --git a/pkgs/applications/misc/wcalc/default.nix b/pkgs/applications/misc/wcalc/default.nix
index 30ca1836b740..62ab0aaa05a5 100644
--- a/pkgs/applications/misc/wcalc/default.nix
+++ b/pkgs/applications/misc/wcalc/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
     homepage = "https://w-calc.sourceforge.net";
     license = licenses.gpl2;
     platforms = platforms.all;
+    mainProgram = "wcalc";
   };
 }
diff --git a/pkgs/applications/misc/wego/default.nix b/pkgs/applications/misc/wego/default.nix
index 4620386b9c27..3ff6a7279ad6 100644
--- a/pkgs/applications/misc/wego/default.nix
+++ b/pkgs/applications/misc/wego/default.nix
@@ -17,5 +17,6 @@ buildGoModule rec {
     homepage = "https://github.com/schachmat/wego";
     description = "Weather app for the terminal";
     license = licenses.isc;
+    mainProgram = "wego";
   };
 }
diff --git a/pkgs/applications/misc/with-shell/default.nix b/pkgs/applications/misc/with-shell/default.nix
index 3674a23e41bd..acfe547f1470 100644
--- a/pkgs/applications/misc/with-shell/default.nix
+++ b/pkgs/applications/misc/with-shell/default.nix
@@ -72,5 +72,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    mainProgram = "with";
   };
 }
diff --git a/pkgs/applications/misc/wlclock/default.nix b/pkgs/applications/misc/wlclock/default.nix
index cbd7c32bdd37..ad14b24abd29 100644
--- a/pkgs/applications/misc/wlclock/default.nix
+++ b/pkgs/applications/misc/wlclock/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ nomisiv ];
     platforms = with platforms; linux;
+    mainProgram = "wlclock";
   };
 }
diff --git a/pkgs/applications/misc/wmenu/default.nix b/pkgs/applications/misc/wmenu/default.nix
index 9d068bb61e68..b0b64d86e45e 100644
--- a/pkgs/applications/misc/wmenu/default.nix
+++ b/pkgs/applications/misc/wmenu/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ eken ];
+    mainProgram = "wmenu";
   };
 }
 
diff --git a/pkgs/applications/misc/wmname/default.nix b/pkgs/applications/misc/wmname/default.nix
index 45e7cf3d8f1b..b64e714e081b 100644
--- a/pkgs/applications/misc/wmname/default.nix
+++ b/pkgs/applications/misc/wmname/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://tools.suckless.org/wmname";
     license = lib.licenses.mit;
     platforms = lib.platforms.unix;
+    mainProgram = "wmname";
   };
 }
diff --git a/pkgs/applications/misc/wofi-emoji/default.nix b/pkgs/applications/misc/wofi-emoji/default.nix
index bf58b9195658..359853e6624e 100644
--- a/pkgs/applications/misc/wofi-emoji/default.nix
+++ b/pkgs/applications/misc/wofi-emoji/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.ymarkus ];
     platforms = platforms.all;
+    mainProgram = "wofi-emoji";
   };
 }
diff --git a/pkgs/applications/misc/writefreely/default.nix b/pkgs/applications/misc/writefreely/default.nix
index 9f2d6743c387..fe1d221bd274 100644
--- a/pkgs/applications/misc/writefreely/default.nix
+++ b/pkgs/applications/misc/writefreely/default.nix
@@ -24,5 +24,6 @@ buildGoModule rec {
     homepage = "https://github.com/writefreely/writefreely";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ soopyc ];
+    mainProgram = "writefreely";
   };
 }
diff --git a/pkgs/applications/misc/wthrr/default.nix b/pkgs/applications/misc/wthrr/default.nix
index 0b6ab3f96892..5b3c6d2cd17a 100644
--- a/pkgs/applications/misc/wthrr/default.nix
+++ b/pkgs/applications/misc/wthrr/default.nix
@@ -43,5 +43,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/tobealive/wthrr-the-weathercrab/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "wthrr";
   };
 }
diff --git a/pkgs/applications/misc/xbattbar/default.nix b/pkgs/applications/misc/xbattbar/default.nix
index 93f5d1c2279c..0ddb06b62ace 100644
--- a/pkgs/applications/misc/xbattbar/default.nix
+++ b/pkgs/applications/misc/xbattbar/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.q3k ];
+    mainProgram = "xbattbar";
   };
 }
diff --git a/pkgs/applications/misc/xchm/default.nix b/pkgs/applications/misc/xchm/default.nix
index e5b3100dac37..8c48388594d4 100644
--- a/pkgs/applications/misc/xchm/default.nix
+++ b/pkgs/applications/misc/xchm/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.linux;
+    mainProgram = "xchm";
   };
 }
diff --git a/pkgs/applications/misc/xcruiser/default.nix b/pkgs/applications/misc/xcruiser/default.nix
index 8144a66fb2ff..3f1277f24a83 100644
--- a/pkgs/applications/misc/xcruiser/default.nix
+++ b/pkgs/applications/misc/xcruiser/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ ehmry ];
     platforms = with platforms; linux;
+    mainProgram = "xcruiser";
   };
 }
diff --git a/pkgs/applications/misc/xkbd/default.nix b/pkgs/applications/misc/xkbd/default.nix
index 173ea71fe407..df7d0f0e61cc 100644
--- a/pkgs/applications/misc/xkbd/default.nix
+++ b/pkgs/applications/misc/xkbd/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ ];
     platforms = platforms.linux;
+    mainProgram = "xkbd";
   };
 }
diff --git a/pkgs/applications/misc/xkblayout-state/default.nix b/pkgs/applications/misc/xkblayout-state/default.nix
index 539a0f7d1a1d..c73ff6a60783 100644
--- a/pkgs/applications/misc/xkblayout-state/default.nix
+++ b/pkgs/applications/misc/xkblayout-state/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.jagajaga ];
     platforms = platforms.linux;
+    mainProgram = "xkblayout-state";
   };
 }
diff --git a/pkgs/applications/misc/xkbmon/default.nix b/pkgs/applications/misc/xkbmon/default.nix
index 7c9a24c67173..f9394c45342c 100644
--- a/pkgs/applications/misc/xkbmon/default.nix
+++ b/pkgs/applications/misc/xkbmon/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
+    mainProgram = "xkbmon";
   };
 }
diff --git a/pkgs/applications/misc/xlights/default.nix b/pkgs/applications/misc/xlights/default.nix
index 459a7fd2d1db..e878039d0ede 100644
--- a/pkgs/applications/misc/xlights/default.nix
+++ b/pkgs/applications/misc/xlights/default.nix
@@ -15,5 +15,6 @@ appimageTools.wrapType2 rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ kashw2 ];
     platforms = platforms.linux;
+    mainProgram = "xlights-${version}";
   };
 }
diff --git a/pkgs/applications/misc/xmenu/default.nix b/pkgs/applications/misc/xmenu/default.nix
index 9fe7ddf70b6b..ae08952af2e8 100644
--- a/pkgs/applications/misc/xmenu/default.nix
+++ b/pkgs/applications/misc/xmenu/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ neonfuz ];
     platforms = platforms.all;
+    mainProgram = "xmenu";
   };
 }
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index 0205208c86ba..38b92eb77b9f 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -12,11 +12,14 @@ assert enablePrinting -> cups != null;
 
 stdenv.mkDerivation rec {
   pname = "xpdf";
-  version = "4.04";
+  version = "4.05";
 
   src = fetchzip {
-    url = "https://dl.xpdfreader.com/xpdf-${version}.tar.gz";
-    hash = "sha256-ujH9KDwFRjPIKwdMg79Mab9BfA2HooY5+2PESUgnGDY=";
+    urls = [
+      "https://dl.xpdfreader.com/xpdf-${version}.tar.gz"
+      "https://dl.xpdfreader.com/old/xpdf-${version}.tar.gz"
+    ];
+    hash = "sha256-LBxKSrXTdoulZDjPiyYMaJr63jFHHI+VCgVJx310i/w=";
   };
 
   # Fix "No known features for CXX compiler", see
@@ -73,8 +76,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     maintainers = with maintainers; [ sikmir ];
     knownVulnerabilities = [
-      "CVE-2018-7453: loop in PDF objects"
-      "CVE-2018-16369: loop in PDF objects"
       "CVE-2019-9587: loop in PDF objects"
       "CVE-2019-9588: loop in PDF objects"
       "CVE-2019-16088: loop in PDF objects"
@@ -82,14 +83,10 @@ stdenv.mkDerivation rec {
       "CVE-2022-38928"
       "CVE-2022-41842"
       "CVE-2022-41843"
-      "CVE-2022-41844"
       "CVE-2022-43071"
       "CVE-2022-43295"
       "CVE-2022-45586"
       "CVE-2022-45587"
-      "CVE-2023-2662"
-      "CVE-2023-2663"
-      "CVE-2023-2664"
       "CVE-2023-26930"
       "CVE-2023-26931"
       "CVE-2023-26934"
diff --git a/pkgs/applications/misc/xrandr-invert-colors/default.nix b/pkgs/applications/misc/xrandr-invert-colors/default.nix
index 226907afe7e8..6fd521f3cc5c 100644
--- a/pkgs/applications/misc/xrandr-invert-colors/default.nix
+++ b/pkgs/applications/misc/xrandr-invert-colors/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/zoltanp/xrandr-invert-colors";
     maintainers = [lib.maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "xrandr-invert-colors";
   };
 }
diff --git a/pkgs/applications/misc/xrq/default.nix b/pkgs/applications/misc/xrq/default.nix
index 22ad3d789ac9..c37696c5f19d 100644
--- a/pkgs/applications/misc/xrq/default.nix
+++ b/pkgs/applications/misc/xrq/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/arianon/xrq";
     license = lib.licenses.mit;
     platforms = with lib.platforms; unix;
+    mainProgram = "xrq";
   };
 }
diff --git a/pkgs/applications/misc/xscope/default.nix b/pkgs/applications/misc/xscope/default.nix
index ba798a861a8d..34425345f3d4 100644
--- a/pkgs/applications/misc/xscope/default.nix
+++ b/pkgs/applications/misc/xscope/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ ];
     platforms = with platforms; unix;
+    mainProgram = "xscope";
   };
 }
 
diff --git a/pkgs/applications/misc/xsw/default.nix b/pkgs/applications/misc/xsw/default.nix
index 5248ed2f6040..fac2c6812bd2 100644
--- a/pkgs/applications/misc/xsw/default.nix
+++ b/pkgs/applications/misc/xsw/default.nix
@@ -31,5 +31,6 @@ in stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license  = licenses.gpl3;
     maintainers = [ maintainers.vrthra ];
+    mainProgram = "xsw";
   };
 }
diff --git a/pkgs/applications/misc/xxkb/default.nix b/pkgs/applications/misc/xxkb/default.nix
index 5e76e3a14d53..3fd9eb8a6ecb 100644
--- a/pkgs/applications/misc/xxkb/default.nix
+++ b/pkgs/applications/misc/xxkb/default.nix
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
     license = licenses.artistic2;
     maintainers = with maintainers; [ rasendubi ];
     platforms = platforms.linux;
+    mainProgram = "xxkb";
   };
 }
diff --git a/pkgs/applications/misc/yambar/default.nix b/pkgs/applications/misc/yambar/default.nix
index 8feb3995070c..ee679a630b60 100644
--- a/pkgs/applications/misc/yambar/default.nix
+++ b/pkgs/applications/misc/yambar/default.nix
@@ -119,5 +119,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ AndersonTorres ];
     platforms = lib.platforms.linux;
+    mainProgram = "yambar";
   };
 })
diff --git a/pkgs/applications/misc/zettlr/generic.nix b/pkgs/applications/misc/zettlr/generic.nix
index 671577b61ba7..0b26d57e7c4e 100644
--- a/pkgs/applications/misc/zettlr/generic.nix
+++ b/pkgs/applications/misc/zettlr/generic.nix
@@ -38,5 +38,6 @@ appimageTools.wrapType2 rec {
     platforms = [ "x86_64-linux" ];
     license = licenses.gpl3;
     maintainers = with maintainers; [ tfmoraes ];
+    mainProgram = "zettlr";
   };
 }
diff --git a/pkgs/applications/misc/zine/default.nix b/pkgs/applications/misc/zine/default.nix
index 863ab7f618ba..63675fa69abd 100644
--- a/pkgs/applications/misc/zine/default.nix
+++ b/pkgs/applications/misc/zine/default.nix
@@ -34,5 +34,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/zineland/zine/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ dit7ya figsoda ];
+    mainProgram = "zine";
   };
 }
diff --git a/pkgs/applications/misc/zktree/default.nix b/pkgs/applications/misc/zktree/default.nix
index 86e12712340a..c9d4786f05f5 100644
--- a/pkgs/applications/misc/zktree/default.nix
+++ b/pkgs/applications/misc/zktree/default.nix
@@ -21,5 +21,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/alirezameskin/zktree";
     license = licenses.unlicense;
     maintainers = with lib.maintainers; [ alirezameskin ];
+    mainProgram = "zktree";
   };
 }
diff --git a/pkgs/applications/networking/asn/default.nix b/pkgs/applications/networking/asn/default.nix
index 694976f543c3..4fc231b4702c 100644
--- a/pkgs/applications/networking/asn/default.nix
+++ b/pkgs/applications/networking/asn/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "asn";
-  version = "0.75.2";
+  version = "0.75.3";
 
   src = fetchFromGitHub {
     owner = "nitefood";
     repo = "asn";
     rev = "refs/tags/v${version}";
-    hash = "sha256-G8TDl9R5nbUzmjcr1m+eNNybSDqb64c7ZOO/viL5/Q4=";
+    hash = "sha256-KOwXOGw6gv8YFTrFFkD6BNKChTIbD2Soy3gvvSzNQgM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index 2d69289d63cc..8e6963f0ba9a 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -93,11 +93,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.62.162";
+  version = "1.62.165";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    hash = "sha256-hQG6LHYPhqzfgR0Z7R+hXB1vEVDd6VEyIttSae15Mpo=";
+    hash = "sha256-FyTHFoPP4u5BF3vrgBnM5aFLPfijMzmkq06HXMDvv4k=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/elinks/default.nix b/pkgs/applications/networking/browsers/elinks/default.nix
index 914bfec7fad4..35f33c997294 100644
--- a/pkgs/applications/networking/browsers/elinks/default.nix
+++ b/pkgs/applications/networking/browsers/elinks/default.nix
@@ -5,7 +5,6 @@
   enableGuile        ? false,                                         guile ? null
 , enablePython       ? false,                                         python ? null
 , enablePerl         ? (!stdenv.isDarwin) && (stdenv.hostPlatform == stdenv.buildPlatform), perl ? null
-, fetchpatch
 # re-add javascript support when upstream supports modern spidermonkey
 }:
 
@@ -14,24 +13,15 @@ assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
   pname = "elinks";
-  version = "0.16.1.1";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "rkd77";
-    repo = "felinks";
+    repo = "elinks";
     rev = "v${version}";
-    sha256 = "sha256-u6QGhfi+uWeIzSUFuYHAH3Xu0Fky0yw2h4NOKgYFLsM=";
+    hash = "sha256-JeUiMHAqSZxxBe8DplzmzHzsY6KqoBqba0y8GDwaR0Y=";
   };
 
-  patches = [
-    # Fix build bug with perl 5.38.0. Backport of https://github.com/rkd77/elinks/pull/243 by gentoo:
-    # https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dfefaa456bd69bc14e3a1c2c6c1b0cc19c6b0869
-    (fetchpatch {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/elinks/files/elinks-0.16.1.1-perl-5.38.patch?id=dfefaa456bd69bc14e3a1c2c6c1b0cc19c6b0869";
-      hash = "sha256-bHP9bc/l7VEw7oXlkSUQhhuq8rT2QTahh9SM7ZJgK5w=";
-    })
-  ];
-
   buildInputs = [
     ncurses libX11 bzip2 zlib brotli zstd xz
     openssl libidn tre expat libev
@@ -64,8 +54,8 @@ stdenv.mkDerivation rec {
     ;
 
   meta = with lib; {
-    description = "Full-featured text-mode web browser (package based on the fork felinks)";
-    homepage = "https://github.com/rkd77/felinks";
+    description = "Full-featured text-mode web browser";
+    homepage = "https://github.com/rkd77/elinks";
     license = licenses.gpl2;
     platforms = with platforms; linux ++ darwin;
     maintainers = with maintainers; [ iblech gebner ];
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index fcba94928362..ebd9e7379fc4 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,1025 +1,1025 @@
 {
-  version = "119.0b6";
+  version = "123.0b9";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ach/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ach/firefox-123.0b9.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "ab53e56f2114c4fed251117c93e781a8ffe37ca09a78bbdc56ece3f277f745cb";
+      sha256 = "3ce1ae2880e0d9513020aafc9aacbc973f8dcdfd20bda4fe793934ead5207a4b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/af/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/af/firefox-123.0b9.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "5f91af053d41eb6143313069d5a0ac796b5d6cbbe1e5e3d7d0ac543bf39487de";
+      sha256 = "5d4d3567073687fb7a97c4d9f4d47cf4d2e4306e9d910233548edeae929ad931";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/an/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/an/firefox-123.0b9.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "1d336edaa437b2cbfafcba0d27f51492166299bfea14cfd00f4e7d983924e729";
+      sha256 = "61328bd03bc5b3ac6dd92aaa68c0f0e0a3bfcbf66750403408ed9d8b58da0aae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ar/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ar/firefox-123.0b9.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "bde5b7f115ce1575c5da5b1e6d086568815330e54d14d3eb8010e2aa8a633cde";
+      sha256 = "21cc94e00c03ea36e0cd3789ccb928075f993e73882a834abf5b4fc556cc228c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ast/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ast/firefox-123.0b9.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "0859bffdcf5381b68640401a26960d231675b4534bd9d83884c8f7542ff48205";
+      sha256 = "d26184778bbbcbe64f28da8bd0c43d708f47e957f5e5f96fc3709283abbcc51f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/az/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/az/firefox-123.0b9.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "ca3d38e0315fdb8524524d6ccfafd56ed735307071076e40596d17082d4c9b22";
+      sha256 = "8e14fbe033836f4d03d9e0582901c0c3d3c00f85b6500c738327126e0af266e5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/be/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/be/firefox-123.0b9.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "fb7dfb212e6d24874614771301f5fe45c7a370be1cdea06c18e06237bdd0b58a";
+      sha256 = "61d101b2d3ac66dfd5f650c1540cd6834ab34d3021f5c3e03325fe77e254b561";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/bg/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/bg/firefox-123.0b9.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "30f4f07e61fc50a889f0ed24de875fa2bc4457413b100cfab72c62b5f023718a";
+      sha256 = "9b3f88d366e0302f6c867fcca5f87c57cde40ce36452b84c0adb6252682da334";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/bn/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/bn/firefox-123.0b9.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "58a8f4ea9ac3c34b69892a19a570d12a69074a6011fca7d3fe57485a9f601be8";
+      sha256 = "3ddded6981ac71b860215818f0c1a95b1b47db0b2a1d48e7bcc42a7bb044c23b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/br/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/br/firefox-123.0b9.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "e9a45bcebebf39cf37f216ac79002993812912253559404648ea78e4c1fad6ce";
+      sha256 = "be9e4811597b43c08d1cc0397d35edb0b164e5c87bf49ce0335ffbcf11ac7909";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/bs/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/bs/firefox-123.0b9.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "0c224de8786ac18d8b590cba66a7078f90c001b16c02f14907b9bbcf03670104";
+      sha256 = "a780b6097310a6fd99b04e61c9e7960e581c37ffb284675e56980cabf3145ae5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ca-valencia/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ca-valencia/firefox-123.0b9.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "c5504da29820ad468bcdc3b5d7242eec7d60dbf2435b974a3d96cc51ac8da1e3";
+      sha256 = "183156e5599f044e5cbc976f6d4ce484440070312c0c3f4fef0d3a45103e5a65";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ca/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ca/firefox-123.0b9.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "aa75df2625a82f66b797778f69894f32fc605c1cdd432b00efd2540e3b273220";
+      sha256 = "921583a1dd58d3af3fe986925e76f635aeabade35b931fb29444a2657821453e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/cak/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/cak/firefox-123.0b9.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "5344d1e38a89c8c90731fed48deb7fcf0b0d18613db86d73f247225f15d8208f";
+      sha256 = "50ade155368f559fb8558543d78ac05e4bf9cc42b78a8321c7d5500675c92062";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/cs/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/cs/firefox-123.0b9.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "adab1705be9c7c0ad4b1cd42291b93b8fc27d56afc8f46ca8137b838a2271c0a";
+      sha256 = "8101fccce916fddb44817409a9e270cae1718c0adcb27c5f6170d10e116416fc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/cy/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/cy/firefox-123.0b9.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "0f27d7cf339372a304a6d87fd1c09fd7d896e04c1f7fcb7505a19040ce08244c";
+      sha256 = "0c78283130d9fc0a7c59349d57c50e4f29670156cc025d504655e47a614100ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/da/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/da/firefox-123.0b9.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "5db5bee56304d38be35448bfa9d1ed83fc7b033cf09293e74686b908345cb7f3";
+      sha256 = "f4d4d555cc6c284e84d242ec5b0728a51f3305b35396f08c062a63500ac9d072";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/de/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/de/firefox-123.0b9.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "0c6e88bb3a8e797e2f3bbbe5bdb06285ba1537ce08c569002839d0aff39ca4a5";
+      sha256 = "31e88c11250d8d6b5c058b8a1be49ac7b8b042ab6b6ef58d99d60ed727c368e8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/dsb/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/dsb/firefox-123.0b9.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "bfaa67ff178b467386d97d7158ff27d725213d277407c68385bd61b42254774c";
+      sha256 = "d2ab8f38fed8d29e7107bc00173161b051dde2427e1db176f0c31a8f3d96b82d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/el/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/el/firefox-123.0b9.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "8bd5509649f16833d133f4da7ca27df508f2b78bd2f2ee6716691ca32f03426d";
+      sha256 = "cb3230da0086e7b8fe6c1541a7dfe0aa7bf32f27afba8757d2a99d986b99548c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/en-CA/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/en-CA/firefox-123.0b9.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "dc9598bc78929e48a6903c3dd85c058824ce6249bdc8958b83979a3291f6c078";
+      sha256 = "0c0a449d10ebc4c2d878c02a28dea10bdee965ad2962e520e49c84ad0a20161c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/en-GB/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/en-GB/firefox-123.0b9.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "2d75187cd53f66be8620744ad14b002e3a359d12b5a12efc9c72c337b574057c";
+      sha256 = "e5cedd517e9b9e7c944047c0f458930620aaf2217503eecaf94119b0b8247fca";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/en-US/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/en-US/firefox-123.0b9.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "2640312b24f2938b0251c1cc018d0f85a1b91aaa688638556140ffe7ed5ff682";
+      sha256 = "c29d96875b8eb03d37e948e3f62cd4505300fce85f0e09dfae6a4443d3878607";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/eo/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/eo/firefox-123.0b9.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "f52a3ff12f69cf2a7e2443f003ccad1ebf2fcc32303d829c5a4131e067dd99f8";
+      sha256 = "ad33a7a8ead41eeb138e1666749110904dfa4ac63f3aacd223ad50507c0f491d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/es-AR/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/es-AR/firefox-123.0b9.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "40581ea9878db00ccc1e97b46791f7476293024841158127feeb69cb10dca511";
+      sha256 = "0a89ad30ae08c133ef708e835ab0eb19b2efe572bfd914de9c5d2b6c512b3f12";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/es-CL/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/es-CL/firefox-123.0b9.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "22bda55625d59fa7812ad1d81676a7be08e6dc9ef00dd653365d25dbd3914802";
+      sha256 = "bea9b887b927b6a5ef27ac5870e101139ca75e9d963819d51c914ba7b0e29a1b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/es-ES/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/es-ES/firefox-123.0b9.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "4195ebc7f41753c02abffcf12847969853bf169c4f1925cc6d16db88341a8dc9";
+      sha256 = "4cf6edd56012bfca2a16e03b910d677904a7c066ded36a784a49eb7e9604585a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/es-MX/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/es-MX/firefox-123.0b9.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "4248baccf81d3376913a415b9154d52171158136af2a7c72e8891f0fc441501e";
+      sha256 = "787a75e1dce4e7041259336d5c25ac830856676cfd1e9c79cf9336f67eccc11a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/et/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/et/firefox-123.0b9.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "b6387c5743a550635e9526cf055a7562f259d0117970809b9b11c3ae88a1c08e";
+      sha256 = "a60e49fff341b8385b2d0204384cfcb2195bed3032f804394b46ac9f7acb4d7d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/eu/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/eu/firefox-123.0b9.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "46a649181d6c97d938ded928be22447d9810a792ce218ff7dddd683a0f5b4eeb";
+      sha256 = "9b32025552bc021ef73d1ad974741781365524d33087b7d5cabcacf9fb04c33e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fa/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/fa/firefox-123.0b9.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "a789b8b2c68d2f3fe41c1257ac741d2d3ff55d68011e01eed7b19dce80989d41";
+      sha256 = "6e2544bda0f1ead702ba792dc0ce6b800f2b8293708b323fb6691e4c396230f2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ff/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ff/firefox-123.0b9.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "7625b0cda8b5d2c5ca673a477d9f69fb90c5a7c15949cb048cdf11a2922e68c4";
+      sha256 = "8678f110b197f29feb710b084231afd3296fe0a2c453e85261876a808fa4ed54";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fi/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/fi/firefox-123.0b9.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "a871ad53724e11e40eb3d66b21483fd744b2404615f9bcc655c0e7dc8e9883a9";
+      sha256 = "1d610e8f74571cc589217c10cc6bc4f8f6b6662c3b68c6a553de93e059434097";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/fr/firefox-123.0b9.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "cda3709cc13eaf59ff4657ac5c8f66145092bf59c4daa09392ddd5d9d596584f";
+      sha256 = "800f8fe946f6acb719023db2a01a48dcd3f5ea8e922ccc295e42607e0aee6fbb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fur/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/fur/firefox-123.0b9.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "9acabfb02291d58f7e99d4e34ed744102b191f3f22dac1a1e3363eb68052ef95";
+      sha256 = "34bd3de17e35ea1ff26702882c92e07a5a5638dcf94c3fcb72eccdcda006c6df";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fy-NL/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/fy-NL/firefox-123.0b9.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "a30c0b8888b5feafcadc2ced7e12cbe924f1d1af61c00005b990d46b13da583b";
+      sha256 = "7c7b54aae85484dcffa320d85fec0efd9df99085470140cf8972619dc5a495db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ga-IE/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ga-IE/firefox-123.0b9.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "002f16c18ed429aa6c09d6ff3767caa6b500a398706a3ba6f4c384416c050643";
+      sha256 = "1698aeeec9df7409febfa1e778f3f939401128cc4eec0001abf22e35252b1004";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/gd/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/gd/firefox-123.0b9.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "6193316d09dbb8e510b8641499f3f3723a25cc57cdcb009661180663ec19de0e";
+      sha256 = "77b6eb8bd315afc565630097861f172f0eaf4272c50415f8ba24719ecd8e37a3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/gl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/gl/firefox-123.0b9.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "ab142c65d545338e1db668f9e5313bc19fe8260a4010458ac024c4a654c262f6";
+      sha256 = "3ed7eaa928039d5d847f2fcbd1c0207b21ae0bfaf13efe4df4fb1607db0b6d2b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/gn/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/gn/firefox-123.0b9.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "9a9bd45fd1612fadc467adfc4391adb559f0886dc5e5c58e1c9489b756621409";
+      sha256 = "94d445c98cfcd4373d2d7316076f42a7e3af2d7e831a835b931c5f7a70c53d8c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/gu-IN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/gu-IN/firefox-123.0b9.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "36e72934f547e0b585d7ecf651173d55244bc1549e2539f2133be75c55b28677";
+      sha256 = "d4fd0881e378b255d8399a14ca8b1b22025abe8339af81c53e932063a29fa952";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/he/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/he/firefox-123.0b9.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "16d25845f30fb410d966b4a6f0100d49033a6c7f7fac17bfaee4c59681973011";
+      sha256 = "293c0b07dd041e11a42c3b7a1cd67f67600fa6c2c331bb3506a6c287477e15cb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hi-IN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/hi-IN/firefox-123.0b9.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "baa04788253d2e1bc833295edd0468c73f3628f76f0642c48a5486945c41c743";
+      sha256 = "03124df15ba38dd7d7382e1c0c42fceb2cbf286f2668a8592f55a505ed506b78";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/hr/firefox-123.0b9.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "13e68c8f205f924a6ebba66ff16d79fdfa9cd8914386d7184f5a389af3753c9f";
+      sha256 = "9efdcf04f67569657b12c988cfa85f5a628c3393fb3696fa3f2a573764d43711";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hsb/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/hsb/firefox-123.0b9.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "bd7c988e1aa6458f73f28eb46136600a5df5a382f3d5451c784c0f6e42a3b5a4";
+      sha256 = "93e4f1b8373e9e5b995d4c374f82eeed446ee852ee192d5ef5ddf3f32e73e007";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hu/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/hu/firefox-123.0b9.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "0dae4dd735e4b5eb1600515a40c836aef05730a8993f8060d7f8f40f23903ebe";
+      sha256 = "fee6e59a250927cf4a3a8958a3c615231518dfb49a3a88e856795fd7cbac4ba8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hy-AM/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/hy-AM/firefox-123.0b9.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "cbde4751c8c42126f7af27ac45037245ddef38f835496d66675ca1aa0c7c25ce";
+      sha256 = "eceb5353393af86334d0af3545dd3b255e403d61e74f598180a155190d8951cc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ia/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ia/firefox-123.0b9.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "e5484ffe781d2e71b9ce44830f1318dbccc32f8165f432d501100fb9f78d9334";
+      sha256 = "804a2e4382b6d70f36dd200b662e267e2d470122fad40eebede0575157d6bf7b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/id/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/id/firefox-123.0b9.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "35d1130859de3a82b88a77686f7caa5e8362ac574e6662377f28ff296947008b";
+      sha256 = "76e42ab6e734f5e136a9cbf51cb6e5c328a5760ca4496317d96fc5c56066fb56";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/is/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/is/firefox-123.0b9.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "eaddbbf9cbbb1d9b006aa7b24ab5ed735e5a0939ebd268423a47ef9f9fdecc37";
+      sha256 = "bc5d42ea1de532adfe7bfbbedbdb2f843a2169512d963e380ba19b5d7ceef333";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/it/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/it/firefox-123.0b9.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "c2fd4eadc15dea50fce40bfecaacffe930b8292f04ebec2fda8fe6cd094afa9e";
+      sha256 = "a5e82b61a6c333ef2ed284a21b3f61a21acb4b1472cc26ffd62b22ceb7c7a9a4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ja/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ja/firefox-123.0b9.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "6755b5e46dbf3b2069d01dc17b9c5ad20ed445a84785d020771f5871198faaf8";
+      sha256 = "ecd354b67166e703eb01c4a81807e5d704677ef9f488853a13d2fc64670386a0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ka/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ka/firefox-123.0b9.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "cc6080cfc1b8d4865dfc5222ad8d2a7dbd3745563b82fbf6edf14647ff832754";
+      sha256 = "1b44bba15d10dcf8a40aed5d9db3a6806abf3696ad87ef5b7817a472ccef3e3f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/kab/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/kab/firefox-123.0b9.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "82e6383d1ae3708077525d6af18b54d653be90c08e1d8b43801d83696e086c65";
+      sha256 = "447c32af1f76239fc2930054ab12a3042f2b0dd12700af189e63f3e3839edafc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/kk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/kk/firefox-123.0b9.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "8afbc941c1afd7bf46ef07cbd5590ce75f95634febfde46f739326c7c344976e";
+      sha256 = "715aa52a8b9325e362ebfe418e3b813d2926e0bd23787d5ff2ce864f6189aaad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/km/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/km/firefox-123.0b9.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "ea40ac277a502b7d2ffe6f0c95ebca551b360c78377ecf78e7dde8e30d5d3771";
+      sha256 = "b9e777620585e6cab276acf2dbd4987b4dc138ae76cef670b578125763e56c33";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/kn/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/kn/firefox-123.0b9.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "3ebe329a34c386f5abacc1a71c6d4d857bc29c8afd4d6738278441b3fb176b52";
+      sha256 = "053b96cb623dba8615aecb03b93207d9417b5038cdaad102eff3f5973f69e54a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ko/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ko/firefox-123.0b9.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "fd4fc4cb9576e4f27c5baa59b5a8e650e9a09dd581191eda2b2fa43cdeb59d4c";
+      sha256 = "ab7ee90b96c9b86795e7d3341b3b3097370c389df3d94af615660c2c83ba03f7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/lij/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/lij/firefox-123.0b9.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "bc0a41f902ef8d45475a0ea4a9612e00ce28c1e3af1e4ac6d279be2e1e0f546a";
+      sha256 = "a2e473f93e947e025cdec6c397d3bb887a8756d053c84914294d66d1dd61522e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/lt/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/lt/firefox-123.0b9.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "77a14c250a4d48e63a1131c59a966f815468644966b74bf9dfdb9b0a800acac4";
+      sha256 = "dd51ffd895fbdade9cbadab6eb80c2fd3a2c05f40f85e07c0f6fef72d76a8ac3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/lv/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/lv/firefox-123.0b9.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "7739bb320f0378ffce06823ea99b2b059138ab74396dacb3f9a8146e5a679d28";
+      sha256 = "23cd387c72f41145b5952396fadec84503c5e867fa670bd44cda28cbaf5d1074";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/mk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/mk/firefox-123.0b9.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "31c6da50ec3c216e47ff4560854300d7c5f49f187fd00af4f5b95a560b4644da";
+      sha256 = "1f647019accd7dcef1a91ec7485c9a53a74b8db99b9c58186b095c474d005526";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/mr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/mr/firefox-123.0b9.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "ae6b36ba25e4926ca5308eb9e49349220cbfe67f628a2ff97299cc1c07508eed";
+      sha256 = "1aff1a29d3549ed82e56e94a5dc3e8523bd8499aecdaea343492e21db6e2c25b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ms/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ms/firefox-123.0b9.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "1b461db57a22f2af0f4d2371f2749f63b49ab8bcde5eb03bd01000bc1922963f";
+      sha256 = "52893904bf15965e7ffe737317b3e161fe74d230a8a9239180ba66582cce799e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/my/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/my/firefox-123.0b9.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "cb896c973fced6499d0b5d0a88ab359de0be926d6b3e675d552a9401fc514a0f";
+      sha256 = "4db5003afda4910fcbe7b26967bf228aa84c36dc5f6a23df3c260fca8326cf76";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/nb-NO/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/nb-NO/firefox-123.0b9.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "cc9e3f2dfc121d6bbc5ec8eb7978ba0e0e6804dcef632919229c122f0f4898f5";
+      sha256 = "13a7870ad4be2b7cea630c198fcf5807cd9e831a38f0bacb48da49b6854101ed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ne-NP/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ne-NP/firefox-123.0b9.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "db1ae6bbf74c07945b0550b4e857f46c50a450c649d95fc638ee79c6f4b9d5fe";
+      sha256 = "b0e9636d8255e26b4bd212df3fe983492da86e771e3791f5add56c7a91260959";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/nl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/nl/firefox-123.0b9.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "ff66018baa06511ab0b4542ee7daf02b92a3226b384826c93c7faf3547400f00";
+      sha256 = "f8773f49efaa3295161af922cf25cfe2468f1200b36eab308f39f5668303dcbd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/nn-NO/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/nn-NO/firefox-123.0b9.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "998be79bccce541901e08e1ffde2589690f35611874d4a3381e30eade8b0df96";
+      sha256 = "a68c64f514e1b179c32bd952ed78346cc69c978187bc82bd7d9b7d3f707a4b85";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/oc/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/oc/firefox-123.0b9.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "bb1affd0f6033be6f2b948cbe45d6f0a0c72a0c7d2830d559049cd42a8556891";
+      sha256 = "20bda4c5abecbe7afc74c235d67bd352688381b6e8ff850a53a174d06c84aec3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/pa-IN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/pa-IN/firefox-123.0b9.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "b6188b8e74b61bf41ce13c11c6e6edb256ed3b580bc81a5503759c39ae8e2975";
+      sha256 = "91a954f2721cd778419bf0a793f8c16f72ff891a582393ddf91eebdb4b0faa5b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/pl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/pl/firefox-123.0b9.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "42640c440031befd0f108c94a47fea434915b2737a90fec11bc37b9352d9d150";
+      sha256 = "42611bfc1893a348ef09b66032796ce59d96fdd20d7a61bbbfa6e65b3aa8ec7d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/pt-BR/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/pt-BR/firefox-123.0b9.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "6c99453ea5f33f548f07612a4e1dcfe660317d7a31889fbad58b36450bb50adb";
+      sha256 = "4354b4843696e66b49d27e947e78410ceb2a7b4acda6e1297c677cf8c583550a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/pt-PT/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/pt-PT/firefox-123.0b9.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "4f0305d3da737fafc9a424df8db0aa25a1e99135aaef8fc340743324b36de894";
+      sha256 = "813fb8c76131eb078ce9870ba6a94429cf7195d52c60214d3ab2c9cf69a48b9a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/rm/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/rm/firefox-123.0b9.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "a13c0cad16dfb0181d5804e42e9f5a9b9aa65f31f125b71461bca8000cc6f2e7";
+      sha256 = "5b27601d1f9d9485835fe0404e6a07c99d9e0713fc51fd65917d35254a8e6770";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ro/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ro/firefox-123.0b9.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "6927bac6ef5d53d606e1cf14d0bace2e084b917e58ec6ea146ac038890076418";
+      sha256 = "7a3ea4ba779c3b09cb27a194585b50f628359646aa554851b11c2cf86593d97b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ru/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ru/firefox-123.0b9.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "8d707f8fa2cc6fee8ead1cbb9d7585c3d0c33bb1add1b286f0a4955949b2dfb9";
+      sha256 = "23b5e522650071cbb270ae68dab939b6e4a69b8f2c89abb8247d029f9f392d53";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sat/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sat/firefox-123.0b9.tar.bz2";
       locale = "sat";
       arch = "linux-x86_64";
-      sha256 = "d61dc0c76152c83437096365ae8f162ae62c0304f8e277ca1629d87521153ebb";
+      sha256 = "9d26fc2bf1c50226e105c79c8b2a8ac683091b0bcab6806c1e19cd4345e15613";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sc/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sc/firefox-123.0b9.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "605072564b0b751f9c586df8cf21814002ca378d20b0b2bcfcc6747685e61f36";
+      sha256 = "287dade2a53172616e900fc272b742dcd1d23b6530ccd0b515d3ed0ae9554297";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sco/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sco/firefox-123.0b9.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "28c4b87d30bc853a3fc210424cfb1527ffbbf75fbca7c374cfd3e006d46ef7ef";
+      sha256 = "6cab125393de59ae745eee77d1617f2daf27b3c3d8a9c0cd43f212ec717b74b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/si/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/si/firefox-123.0b9.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "dc5a9baed40c9321dda7aa20b7147ac655760059cc0ca2ea1549c4a29e6035ff";
+      sha256 = "75dc69971773963265198a1803d5f979deb62517ac360b4fed1ed5d2675ccc03";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sk/firefox-123.0b9.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "3375a7450b16f27d20a5a4624b6dabb467e3b69689e31289317cae1be3690874";
+      sha256 = "65221cce433915fc98f5a3578a7896d869a7a82e6bb94f5780d71e18d2ae5d68";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sl/firefox-123.0b9.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "61969bfda32ae873583920b4c3b3a973eb09ccbb561971eb6e6a3a91c6d63dad";
+      sha256 = "9d159e814415c4df709ed2535c9047e9e33b390008b70892511811810cb20925";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/son/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/son/firefox-123.0b9.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "5dee7311285b3c7bdaccceb2bd6b82d638621b821f3de5221a25f16a2edb03f4";
+      sha256 = "da14a37f5169fe10dd03ec6fec12e4a772c0830f3dbf970d512ef68bf75188d0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sq/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sq/firefox-123.0b9.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "4d48d48f0748057df5ad991a39cbf48688425537655668fc21846db706b3467a";
+      sha256 = "67a8da48427b7e8dd3a76348d5151c91c89f092a7305a648d45328e4593385a8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sr/firefox-123.0b9.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "f7cf2b3e22a209e0e929b4faefd1838851d0defa08ebf805b1ec0b44aa7d271e";
+      sha256 = "8bff3f3e99fc47a9c4fcea492397d434be60db0f7b868b318da07e17b8b31808";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sv-SE/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sv-SE/firefox-123.0b9.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "96cabf15eb5d2a2895c1246feb4fc47b95c1322fb8082181679a2cdc6b405678";
+      sha256 = "0351bab4059a95c2081b78b59301ed3a58cef115437e90f28485378605372f08";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/szl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/szl/firefox-123.0b9.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "09619a0c74615be4dc0cf190758c82051611c4c875da7419c7057cfcb9308a9c";
+      sha256 = "9d595190c57717611a730c47c03d05d84ba98ce655d929e3bcfa446ae2e3d7f4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ta/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ta/firefox-123.0b9.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "ecbfc6e2f24c250884a959df8b59981a249835b6c1d23b249a6f882f9d916b17";
+      sha256 = "97852a4e2eb1d857e42bfc793892fa67d8e9ca074e8d28846f5446d82744050f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/te/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/te/firefox-123.0b9.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "5f61c2897105ee45ccbdec665edd3d67a73825333a77002a14984c208087af65";
+      sha256 = "9c10ac5360ab9b5c1b5aab8cce2197732a510fa916489ecac10a20e9d5fd5c82";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/tg/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/tg/firefox-123.0b9.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "b9572b7bd246d2b427da497cc8c3c8bf8a6f3639c71d7720a8a0853861ba9219";
+      sha256 = "60d479dc80e107a3471f51afca4fd13da3203d2f677c4dee5def6a930ff7a6b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/th/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/th/firefox-123.0b9.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "142df8ad9962021fc75c140b0ece4228807c908f282711860a2b2329c08ab37b";
+      sha256 = "015aed6194df026d32b7d0d509f609ba2bc93392ea9b178192bf949a94bc415f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/tl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/tl/firefox-123.0b9.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "c3fea25ce49b162ea49a4af6c1039a106eb9342b5d6b7fd4278b836cd37e179e";
+      sha256 = "74795a9ead908aefe734c9ddc88fb3e22d111d023b3256636a219cfc7ab2a870";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/tr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/tr/firefox-123.0b9.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "1563cf5874154e2ef1e2d68e175fb2dc88621a2cad394a1e9461d783d8055e1c";
+      sha256 = "4d848cf8bb01b1c825204a553075e7db52f95b17f5455a25551d4031aefc37db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/trs/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/trs/firefox-123.0b9.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "cb41d625ea87c8a32c10677c912acdf7ea124b68e8ed2f24ad0651be905f17dc";
+      sha256 = "bc2909535740f276b9883d96a1e16f23bdeb221ed3928763b0d8aa569a9701fa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/uk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/uk/firefox-123.0b9.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "3a35aaf5fd21a472d930670056df4723401242a62ad0281b09fb5b6ba4c57423";
+      sha256 = "36e510b06b065248e384ab523a9e5c0edb56073a0d88d2b15e2b1f5965fc9e6d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ur/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ur/firefox-123.0b9.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "68b55314db43e666fdfe5c99b03f4a4952367f545dda03f6566e5d11c28a8014";
+      sha256 = "6496e7d8193b14c09976f8292fbe3f1c115b49edd07faa9e0aa9c115d37b174b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/uz/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/uz/firefox-123.0b9.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "67d721242d4e3c0950786847d22b6caa91d4c91eddd865c1d3f4cce542efd282";
+      sha256 = "7940b11f10c2529c5fbe7974299e9d4fb7acb99302a27a041868b353e92928b8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/vi/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/vi/firefox-123.0b9.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "d7c5097c32527a55627639945c5565ba368d3d2e00ae2df0c9aa291987985861";
+      sha256 = "e2f6977cbbec6b3d690e050f7fbd2cf6ac0c8b36f781563236a104efeb0c1d1d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/xh/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/xh/firefox-123.0b9.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "66059db2521b7a2a293d45db180bc165b38f35ebfc99be836f3cccf21991bfc9";
+      sha256 = "88b26c0c1ee1b204aea841fd0f28a91617e05759cbb17cb35a9c0a2411354102";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/zh-CN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/zh-CN/firefox-123.0b9.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "c0f37c0a3c71be9124c98d423b24300f879c42840fcbd0869fc6ef2634ddd018";
+      sha256 = "048701d2130d653eb60d03f5abc4db6895292f3dd1e5202fbda697ed3ef6669a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/zh-TW/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/zh-TW/firefox-123.0b9.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "4c79f290b4f371e1b9fe0943d70af2dad0f0eea44c09ebe8233ceeec63cbd300";
+      sha256 = "8f77311a9f2d30acd1923a491fb249f0f2661c58e99d7a48218a6c21217f4815";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ach/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ach/firefox-123.0b9.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "fc312d3449ca702e20f8068b7c03aa4c99002937c7b9fddaa4ffae84a4f85f0e";
+      sha256 = "f203a6b86ed7e12b1c6f2dc1bfcb8003898b7f96dac7015e66b53d0e2d89e083";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/af/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/af/firefox-123.0b9.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "4709fd5b03033d9f446bcded2881480e3422457c2172177ed93d28d21dee371b";
+      sha256 = "60947c0215f4ab476485826d840dba757efdc44b75125e12c02be901596b9bf7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/an/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/an/firefox-123.0b9.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "ba53b4c50323205533cee64fef138588f95fcc11e109cd69468669ebbdff2c1f";
+      sha256 = "10ea9658d54cba186d983ff832b6886850ba73ec8635c7330d0bee9c927cc468";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ar/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ar/firefox-123.0b9.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "8380c9717d94d46d174ebc4dbc0e2bf2e3f3aa87f5f6801fe8c6364fb526e1ae";
+      sha256 = "41113cb49f6e6f93bacf02e5a5765d9c5192d03c7b716fdbe3d4c5803d775271";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ast/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ast/firefox-123.0b9.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "1d7ad1f5b3f39324e7ff7d68bfccb45ae01659543c91ed8c4370ce08a68987e1";
+      sha256 = "038af12a3fda161841aa5f301588efb7222eb13f0e1ecbe240fca7d5f84bfdcb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/az/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/az/firefox-123.0b9.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "3654b54007b638232aeda8f82e308e83902c9bacb5c4400a252628369c914dbe";
+      sha256 = "4d3b20f4085e4b46884f3322c03b441d3bf05f0fac2b5ebd34fa5d22930ebaff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/be/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/be/firefox-123.0b9.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "6f35eecf5df49a9d9074b064a0ddcf58661671e539a4824facad7b53682e9f0d";
+      sha256 = "7374d53894aaf2aaeb5c60ee9cdbca73c352d95239602a9cc18119ccc883eaf9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/bg/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/bg/firefox-123.0b9.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "a6ede53f86474c53ae3297b7e9b7ab7c962337b58af577b78fc2ea3bd4e5d3a0";
+      sha256 = "1bff17d9c4fa1b8e17e2ed22d0e1d8b8d1518ee5c02443f81648cc64409f9dc5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/bn/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/bn/firefox-123.0b9.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "9a3df0e4c2dbda0d50c1a8334158d477ff526cb3c144ecbe977434e238c6eab0";
+      sha256 = "5f2c0832c9f8eb05478a8f50392680c2104153bb8eb92df941430f04925f07eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/br/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/br/firefox-123.0b9.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "103e32e095b38604fd807cd2707ae99190d8a1249bb0cc4da9c15e9426626321";
+      sha256 = "627f43d651bf98e7ce563fc5bbbecc4e5c0dcbcdecdac3f6a05b648293f5ed1d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/bs/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/bs/firefox-123.0b9.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "e630bfbd71002f1fd1ebb8f7565c0ba0dc766b0833fe2bec37e7c30cf75be9a1";
+      sha256 = "2164b2d674c8fce7612fd142e9a4e17c9fc156c3bb79ef5982cc7ca2441b18af";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ca-valencia/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ca-valencia/firefox-123.0b9.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "f9ff06feb765a9c2d61618e26fc3e8f390db5af179505ccbe09f521152e782a7";
+      sha256 = "f058d831cb9cd00403794493d21f210db70a072d59dbdfca1c5e1c4d91e3b213";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ca/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ca/firefox-123.0b9.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "c8dc0cc2dcfd7e8756d3815f293edb7da61f899197ce13d29f0891f96df68e02";
+      sha256 = "a539cef7c869ee7710382d75644182eecf179c859dea6bb339de1415b8fd33ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/cak/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/cak/firefox-123.0b9.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "d35ed2653628c7ae54a04f2bc441bb5ebac4710efc05d64f3781922b6446a60a";
+      sha256 = "7ab1aba2de4a58736375efbb443994062b77e1ea0321038b51d9eb3bd01ddc7b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/cs/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/cs/firefox-123.0b9.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "b8d33dfc6b96297ddd846ff99bd30efee0fa781e3d4e8a0487057a6a3790c3d0";
+      sha256 = "83744e610558c2511e436e5cc3646bf848368bb7dff7e271c1a9f078b7ec1435";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/cy/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/cy/firefox-123.0b9.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "8fdde9c4a36b23354e5f3393f70d10f2b921b363ca499da454d52999d4b410a0";
+      sha256 = "ebe6e6a8cc759b94c1cbd986574454d940f5a388184136e3e8e7d845677d02f3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/da/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/da/firefox-123.0b9.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "c5762e737ad82839721870b46e7626c15f9f99c1bb8f3c7a4766a508a097265f";
+      sha256 = "bf350ad35e3431bfd94bd13066c06e2beefd09dfef12fba11d34c4435fc10f44";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/de/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/de/firefox-123.0b9.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "cd3d776b5c44d0873f4b8c90bf62c74a9273cf5b03d5ded36547f1d2077b3c3c";
+      sha256 = "334b943e94c0f1d44c96fdd63f788c4cfe732bef367f7db2dc794757015baf5d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/dsb/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/dsb/firefox-123.0b9.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "e3e8f5083b0c83d9365605a36d17f10886c64c0f21c19576a3d24a62d2a05c13";
+      sha256 = "8f7a1df51a358054b30cdd03e9480ea26eb2d53551d6789a0ae8efa4f1ab3737";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/el/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/el/firefox-123.0b9.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "08807f2915375b628775a4c0987ac934c00d26b1105a8caf3a52ebc026c42a90";
+      sha256 = "f6d311361f7dcd6fccb77104607bd49ae5b6579610d7ee8166885cbc0e072216";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/en-CA/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/en-CA/firefox-123.0b9.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "68797c810dd86008a1e8aec39445264cd69e852bc28c758d94654a276976f2c2";
+      sha256 = "99b197bf3855936bd31a9909bdaffcee9f3c517b0606669c23093bdeb1ab53c9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/en-GB/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/en-GB/firefox-123.0b9.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "a1e6c1344bd9bef9a393a023cbb0d6f56283e483203ea03692ea71a9e043caf5";
+      sha256 = "cda8e41941936bf093c23f3ba0ede6fd79e46e7544a696c969f5a71c500281f3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/en-US/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/en-US/firefox-123.0b9.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "5eaeace6e8d741b8cdae8c8a98f118caa98f957bafe8d54d536d98cb260fae92";
+      sha256 = "93223e05b64fd180a3833a1626e8dca5ebde4edcaafbb4297571571e9b4f325f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/eo/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/eo/firefox-123.0b9.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "21cca62f1324c5c6fb8b03bc670a86ea6f86cd6e91c11c81eb202571d2fcd687";
+      sha256 = "9d6a0fec68087e1814b94fd62679953c20563375448a6e327e3dc6cea27de083";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/es-AR/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/es-AR/firefox-123.0b9.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "955493247481e364722e3bd57333ac8f6754c8bc135b9e0caff78d554a91e441";
+      sha256 = "2857c68529a153a3408dc83e54c6fe80cf8c45b0aeedbf1d69876780f67ce8d2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/es-CL/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/es-CL/firefox-123.0b9.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "16d05701b991a91bde3d7542737d64b63a1d184046090158adc5ca683cd34739";
+      sha256 = "3422a929a8ab1ea0521ada88f421bb509e66c1a71fc60febbda780c32dffaf93";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/es-ES/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/es-ES/firefox-123.0b9.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "b300130904d449c31adde941dbf514fde7f579cfe571744ea3a929915277aaad";
+      sha256 = "0954acc476f295c9f69ce38eee56bb9caf5dbda8b2ad5b57b5bd590435c2e987";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/es-MX/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/es-MX/firefox-123.0b9.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "44bc3c0cbee194c8235308b5836104a2c5016ac6537bc9dfb741ccb2aef2d854";
+      sha256 = "a67f82e5957c19c51c41da8942d484d5ea175bba79909d77665b9c8c89eb16a8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/et/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/et/firefox-123.0b9.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "536c1c8f97ae1f4f50584e5b7123d04e682196c71ebd4d873e19ab90bc5c8442";
+      sha256 = "212077bfcfb50c63f4f7c2a70459a0f56331566cad923e76aa46b9f8e6f04e5e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/eu/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/eu/firefox-123.0b9.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "d25fb29a7e62691fa070084b93d294587c0cd0a006aeb13d90de29dc7960264f";
+      sha256 = "32ea1dbd8eb60d1091d4bcc4af45d0caf39f3841996c3ec40eef43e80127dfe6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fa/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/fa/firefox-123.0b9.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "8bb9b11ede4518f35df9820040607942581e3793dbccabea0962a1455ed879ce";
+      sha256 = "fc6aaa632b2c3afe898e10cb37cdaf68775b1e1121551e430bb64a90136af664";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ff/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ff/firefox-123.0b9.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "e4e840fa0c9fb6e09b9d450c9daa03f988529bf833b11ae95af63ae863e2939e";
+      sha256 = "44066456ac20d690b65963910a30f1d54a695d90fdb2c3476b0e41e4fd69b9a5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fi/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/fi/firefox-123.0b9.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "70169b2198ee988736aab5c179fa45e8f517840db179af532810f2bfe20eb162";
+      sha256 = "8846d1475d100e9279854036931eac068fe9f21e3155b1e7b5c77631214899de";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/fr/firefox-123.0b9.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "201a04c38bad6855ec1e9dca17e7def948d577d48b00f4aa4fa53d97dd5535a9";
+      sha256 = "03c293eeb132575683120b1372e4096ed45b7d3c73a4c16cacf5985083e50b8e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fur/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/fur/firefox-123.0b9.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "b88b280d2e5247668920a20f0801c24b469e8dad40c911ee6a579b15c0a3c887";
+      sha256 = "db7423bc064b9841517b007c6fac674eac7cb025ac254e756cdc94b42d0f1862";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fy-NL/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/fy-NL/firefox-123.0b9.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "270fa1ffaefb27f6ccf18205bf4854d8e71c6987edc435275096d4cd63474d84";
+      sha256 = "7baae86393f06ce2f89826195dd14ec3b0674e865a5ae6de7ba15102f7bc874e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ga-IE/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ga-IE/firefox-123.0b9.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "e691dc694afe2bd2330b54e61ec78d4d9231e42eabfc276019d6bd622b5ad4b7";
+      sha256 = "73ede7ea6009403ab3651d9a4975e55291e7f8d4185683918d8a73706223e3b6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/gd/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/gd/firefox-123.0b9.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "922ebba58136ad845f17e347c9fa7dcca6860f721a513502aceed6d33c5c6457";
+      sha256 = "b529eefdf02d0bb2447d345b3038f7bca62a58232ed9edd475d47d3467b3e076";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/gl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/gl/firefox-123.0b9.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "166f955a682ca4e0b6b6e438c23e4f9cd7b02053811c16d0d98668b35690bfec";
+      sha256 = "81fa9600bfd2e89356c97a7fd7f4eeaf07661c152e0cee8e3dea391656c9d287";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/gn/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/gn/firefox-123.0b9.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "909af1ace3ba8275a9d2cbe9e5097595b3809361a50f2c3e2e4040dc2fff71ac";
+      sha256 = "3d7e50a6004b5dc4c88ab971c0c72b9840c60f5a29fff32fe0c8319b135e9f6e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/gu-IN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/gu-IN/firefox-123.0b9.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "12680aed2230f9225b15d78859649d9eaf1b671e5e3fa8ed8f88e7273776bb22";
+      sha256 = "fa3f15bfda88ba6f274efe858c1654a05db7bde5e5514f3aad6f3d03203fb322";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/he/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/he/firefox-123.0b9.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "57048b16d6f5db639d23b2937de0c891b06581ef90413c71bc09eadf9ac323b6";
+      sha256 = "f9c9219eeac9c4ea9683f5f2f639cb508cf352804bf9114388e7ae8892bbf6ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hi-IN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/hi-IN/firefox-123.0b9.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "29b9e04a34acf231de4068c24537e23923a38656d1527c3819a90acbca63a3aa";
+      sha256 = "9eb337e4712a18b427a98a90d6daf8c652b88d1d5d695edb91515b945db7cb80";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/hr/firefox-123.0b9.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "71a1b2425ce2a41bf1d3a64e8bc977509a5c12b0890556604cc3b59dae890099";
+      sha256 = "7062419a5ba83f1b9a985b046a4c40ae4d967bbd0eed742ab156ead981904f1c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hsb/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/hsb/firefox-123.0b9.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "84a5038ea816f176541caf286a6d3f4d8ceccad6eca2d6efa332ad53748fc6ee";
+      sha256 = "b53c939e6e6343638f07b58cfc876707ad4d5e61061dc149866bd9dce8073e11";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hu/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/hu/firefox-123.0b9.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "ab3897471971047d71dfc973b38e082a7d436862a1fb7ce9ca309c8778a6ff43";
+      sha256 = "667ddf22ef8fe3328a97acc6513251592663ca0f4e80faeeff87ca9c73030059";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hy-AM/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/hy-AM/firefox-123.0b9.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "1cddc519b812a7c969b655d28283fad466397406f2bb2b474bc7215d4e3d9f10";
+      sha256 = "a97f1036e5c809772947857414605ce9f63cb917aba32c650c191ac92cca2c24";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ia/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ia/firefox-123.0b9.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "1903a412d67ca3d9e67e6f00e560eba5e9d7e0a823360b2ce7488e17e2a874ac";
+      sha256 = "9dff5c86871877ee2a37628f361dcbfda57d2e5aeede3dbc94ee019c56bcbb17";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/id/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/id/firefox-123.0b9.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "245549351a02c7a7de3ac777bc4d1bfacf3d2a49a6b9f7a731b91c57a23df5ff";
+      sha256 = "edaff1bc86561829e00c2d0bf8286f2d6ba758e426d243b19cfdb1df6f749bcb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/is/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/is/firefox-123.0b9.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "23127f8ebafeef2997f53a7d000754a355b7b425cc45c84903c5d041ad6d59ad";
+      sha256 = "f3688cb4bf7ef9dfcc4937716eaac161f1472fc0280f4351c2eaeaa49a58d12c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/it/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/it/firefox-123.0b9.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "197ac9ea0daf18f2b3370c400e89dac8e38a3cbe65c53a1052ded7e4299ca618";
+      sha256 = "c5b056340ac002993119c43bfdcb8cb8c3afa2ac5d7938c42141f45c255bbffd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ja/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ja/firefox-123.0b9.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "e1ec0637713fd35e2240f76b5d07731d24e2e4dba7c6aadb356ba0e0abcde05d";
+      sha256 = "c34da21de2fa5c06bd0aaaf60184d25366b15e15580c7704144ef59318fe6b12";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ka/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ka/firefox-123.0b9.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "2a32fccbcee9100aee27a1fdba8a841ac089664c7b9b3f079c0fa03ae6209328";
+      sha256 = "ebca75d4e7644faf4a78d71538cd86da14903e35554dfc8495fd26e43ce723bf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/kab/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/kab/firefox-123.0b9.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "1f3ea0a86f57ce915c54f161cbc38f58d703a7883c6a12d121a37e3ac19f6d5f";
+      sha256 = "53e0034381182486fd61609c7f11abffeeb360104c707da328bc17aa76317c8e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/kk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/kk/firefox-123.0b9.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "53a9b09dee48b819d7f215fdb0c589f99b3681a0f50d6a1cac75a5c1b6c54d57";
+      sha256 = "ad21972851b3a909541f588f1cb1f4676d7b85a9023bbb09a4884ac8f7294d6c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/km/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/km/firefox-123.0b9.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "2d2dac4518d81308a9876f2687feb700a301f3caaefa39faefc930a104af7742";
+      sha256 = "5a750fb8b4a758671c51ac6ecf861577c727343a1696c04e35fc9dbb92ed7fe8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/kn/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/kn/firefox-123.0b9.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "3b846d085583226674f92ebf10431959d1b0cc26a1f625a7735619ba2082c763";
+      sha256 = "871ab12151b678f9eeb3ffe537b91ac45b1b32153a4f320b94776611906f8f17";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ko/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ko/firefox-123.0b9.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "62f1a527a86a4d43bccfa5fe683d66d9317369bea2ce6942cad83ebe4c8c878a";
+      sha256 = "054714bd9cd9ec39d83c391adbfe853f289b614a6224b2bd0170ac19a44f22b6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/lij/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/lij/firefox-123.0b9.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "3cdea51693644417f6d22e887daf21e3bcea623c8a18efac0a38123a43f5b8fb";
+      sha256 = "6d49eb8f56ff156ec1d9782ba5f219e5097ab8c0ec145eafe851bf3984d98c0e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/lt/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/lt/firefox-123.0b9.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "0c03f35039bc822cd8a6c756a31628dfe08b8a713c4ddb322d51146c8fc44d2b";
+      sha256 = "c0e6a7bd4930ee62e92a78dc57254a767e354c7f5ab92cd1028fcc39ed84e420";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/lv/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/lv/firefox-123.0b9.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "aba840eaaa35a712313204274e34d6e8cf7b7d643649b2a0e2dac81fb78de2c6";
+      sha256 = "b29ec74e526a3f05396648fd985c5852004c20d79a0b985ebeb7c12796e6315d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/mk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/mk/firefox-123.0b9.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "a386ce049ba686c54b4df38debe5c344d114f3c2aa36d8e9220cc77d38b5cbf2";
+      sha256 = "64690fd17ac72cd229be161646dcf7dec2b5108e325c5a9c0b56722981abf1e2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/mr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/mr/firefox-123.0b9.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "6439998155e506bcbb80258273e3597480ccb1fa1e520704834d41199d4514d1";
+      sha256 = "45595dd34de1657725f70512a894c02481ff6a94a1905530f3567bf06148f510";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ms/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ms/firefox-123.0b9.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "7aba8da30c9f57fb7e8ba0ced67ebf60ef1109edc38677c04a20ead32476f0e4";
+      sha256 = "eff9ca7094e539bf8ad86a1d50ec2b7c6e5b45c3988d1c6266fece27c8dc2fc1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/my/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/my/firefox-123.0b9.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "eea6b322199d5f976037c8e60b2184a3569b64280460394115766c4378f53adc";
+      sha256 = "06bdc5189a772655c75fb3b16a34d92a136ebf71dccd47d26af05ea3ebca0c00";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/nb-NO/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/nb-NO/firefox-123.0b9.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "837b7330e1b697d71a8714e2da77e8b4e2ea9338abb4c5ed1147f080ef332410";
+      sha256 = "5fcdb1f44ce82c5ba2ead2721500745ded7956d27155f28e82f856edd9206a94";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ne-NP/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ne-NP/firefox-123.0b9.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "4b940aaf89f45ccfedb3a5bbd78001dc5d96a4a1991b1da76d88b8fabe2209c2";
+      sha256 = "10549b89d685d458f3563ba44659e5b75560068dfd8c9a2b522d6e1b58bb21e9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/nl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/nl/firefox-123.0b9.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "d962d996c3ad87ec4eafee5f17a80b3fea2f131bf3d5e0d3b5362b0520f4f04b";
+      sha256 = "ecb9c7c8e7c5c03b1ecbd9bc8da6389ac6085901a0b569caf708e22f0efa51b0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/nn-NO/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/nn-NO/firefox-123.0b9.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "d08c8b71451bd46ea6ea49379a746f25bcf1fc2e293e3219f9587d8b7f1f76fc";
+      sha256 = "c3a8f1dce3495c37b5f019696f05ce15cd847abe21b2191a54dec6c4da382795";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/oc/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/oc/firefox-123.0b9.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "d8feaa3cd6a9afacf360df9a93d9e118dc72231b661d5fe0b909d8013b68a946";
+      sha256 = "e318bb6798cb4baae97c57e2c449257bbdae8a1a72f5f3d1b2c05e7cf69538b0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/pa-IN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/pa-IN/firefox-123.0b9.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "fa4d570b5869afbb4e6201c03828efe19f12e6ca53a95fd120decc8c927eb5bb";
+      sha256 = "b82ee03d6a7f439e5f107b948cbe4235e828cfa9343889136e6bb4f8cef98a82";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/pl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/pl/firefox-123.0b9.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "0537012fcdae800a394f1797325b7e5429d1fc69d9bf79d50f0e42b381f8180b";
+      sha256 = "bf45398d30f5cefd721770bbc43129f08a3498c98e5682df7fca7393552d3291";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/pt-BR/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/pt-BR/firefox-123.0b9.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "dc2e7e220e18dce1b818e29f7cca953331bbfabf6dd6a7e97ceba142eb305c66";
+      sha256 = "c8970f18b247a3bd3d5db8450d771e83a10f114dae967360d2d846e6edc25b80";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/pt-PT/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/pt-PT/firefox-123.0b9.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "20096e9c5a2077dbbc5b052674d66ff939e93d8199021e96c938b3f73801472e";
+      sha256 = "77e5fa66e9bf6f2bfc1d7f3b3329a8b9d4b495e4b877a6c31ae3ea6914be853d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/rm/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/rm/firefox-123.0b9.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "48b6d128c360f00a3d154787f627e9c4a96266d6d08c0124ddbd151eecdd2912";
+      sha256 = "08c65fcf8a2ff22387169781c9055a92a561e4c0e88adc26b518969c2e4ed896";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ro/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ro/firefox-123.0b9.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "afd4032aae64239ff0193db56ed29f2aa3c380f6bd1c685d844cf87f8ac5316c";
+      sha256 = "ef832bda479bac68af9ad3671d1f8a5713216f1f4532ba4c913a4fcbde93943e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ru/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ru/firefox-123.0b9.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "a6d9849dbe33cf1844243be4008d7db49fd238e4b8e1355eaf212ba5d0c210ae";
+      sha256 = "9aa924c13708f57d4c66e1f749cb9924c6c927d269a7554dc01126a93bf8ae81";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sat/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sat/firefox-123.0b9.tar.bz2";
       locale = "sat";
       arch = "linux-i686";
-      sha256 = "78e73098d936fa2cd0d0239b31c12666a0a00bbb484561807c4f7533a3d37f3c";
+      sha256 = "0d0abd10e0f9aefacabe1f8178c241504aed499657459768bac5ff933db1b8da";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sc/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sc/firefox-123.0b9.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "6133c94129820c7a7753de9565ea7855efac8702a1638173364d27ea655c162b";
+      sha256 = "d7c59ee4a248e7d358c97743fce54df055528279f7857ba379123915235ab74e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sco/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sco/firefox-123.0b9.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "509d0894a6629ea6aeb2af56f96b5dd0a4fef5457dfbed1301580cb0c7dc2dfc";
+      sha256 = "a19110c0b3e188138773c5c66cab6e0b25f811ad203c1ea7fe5008f24b44797b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/si/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/si/firefox-123.0b9.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "6d0b0a6df565b0170b6356307b9300c71aa298e34b3057bd4ebdb2a49f9e716f";
+      sha256 = "eb5fdb7fe063e8dcc716add55c2a8c430dc365af0ef536c0595d4e9dde736e9c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sk/firefox-123.0b9.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "368d7425c03cea42cb630e4dd3e08e57dda51c6d09a14d02fa7a51817282fe5c";
+      sha256 = "16a4b513f29af594326818a1c70667d931b0b8d9303580ccfb30cee093c4b06f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sl/firefox-123.0b9.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "4d663f89fde091267522c37ccc3e69e0246367c865a756e9078fae01a52c0f4a";
+      sha256 = "63ecdcd8c67f96386ef0bc1d1e577920af5cd18d09d8eea12bccfcec4ed5af50";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/son/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/son/firefox-123.0b9.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "578a4c59edbfb30f0f070026d76bd741ef1af60e4ba09d799a604a8bb770554d";
+      sha256 = "455da4d68b395a488f6e6f557ec7d57e0bb9083c77fe09423b82bc4b09ee0307";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sq/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sq/firefox-123.0b9.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "6640bc3563f04badbaf6102fa34b6f92caf8a82c3a6a0261e8dcc10212dd6198";
+      sha256 = "4a2831cc20415901d09a09a6e8fae54adaf45e162757356fb30a4306f0f430ab";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sr/firefox-123.0b9.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "9aa22e50e4c7f49512572271252b4a9fb0631c0dcf4ebd86eeadd1c3c768e0b7";
+      sha256 = "ee41bbdac9fe2ca1b23a866d0f1b62febdad0b86d378812908aed27201320ea7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sv-SE/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sv-SE/firefox-123.0b9.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "9aafb4a1665481eb4da39857b002e92d98501e0020c592d0870ea6d2b913832f";
+      sha256 = "65ad886340f662d291db80a147b3dd033f491200f94160e5fbd0380a2962a796";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/szl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/szl/firefox-123.0b9.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "c4667804c8e5f3f803f1c06618aa25e1cb0ffacb0662eba71f163505aa5d921e";
+      sha256 = "6d5cf0b06ffede92fa9d4c517e27e64002536bbdca4579441b0457cd9d3ea395";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ta/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ta/firefox-123.0b9.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "ed4744875be84e379a3300789ee1b3f3e0cbfc0dfc4149e0b122a0c96e932e17";
+      sha256 = "cbcff976411df6fb2852a70c9095e364a480788e029adb32ce279c4b62c141b5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/te/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/te/firefox-123.0b9.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "3eb90abe5fc026f43a2d262c2396d11c40d64cb2688c8ad311c7e2c8a576254d";
+      sha256 = "6e4f8f9eacb42ae256ac5c20b3d730cd35868a0d2944db6e6175d1d5b9e51ee2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/tg/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/tg/firefox-123.0b9.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "07b616e1debafbe9962dd54442da33ee5ec95739568db7dc529fd5ec7aa94c78";
+      sha256 = "1c83fe29d9b96ab31af1f204c430b3e68a79cf3cfcaf999bbf4913558180607f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/th/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/th/firefox-123.0b9.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "1fc3d9d2eadf9613c275dec758f601df716fe84faad79b7d1a3217c4fabce1d4";
+      sha256 = "a084911c21136e589638d0fb343dedc16ea51ed7a58e5f6ba77ba13c96f6a3e9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/tl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/tl/firefox-123.0b9.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "357092ab4ce7d275d158fdbc9fb5695b1570cccd5f6a8d39e6cf188fe30fb645";
+      sha256 = "b24df7b6a7e3afec0aac45d987798cb68fa1c8e4643f6093a7946d80371d56cb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/tr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/tr/firefox-123.0b9.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "10e6f7a5543dce902b570a6fe5b9411d8e1755aed3990dc8dee382348532422b";
+      sha256 = "219b31638fc161e814aeacbec96574d108aaa801c24f7f4f392487aa3afe0746";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/trs/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/trs/firefox-123.0b9.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "fca774899d7abbd453ab32193626ae6f4143c26bf031e506b9a90413ede1f062";
+      sha256 = "59bcc6301f8c721027a1678f65892cdfd3aedcb28887414cb0a42ce271a0fe19";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/uk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/uk/firefox-123.0b9.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "c5144d3a09aa4e281ac0a0ef1ba4e35375e48aa77a6aa8db3fe25b6fbefb7cf5";
+      sha256 = "9305beb80df018e9a7cd53697d7c0e347f32d805a83c52f3d48683afb81c14c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ur/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ur/firefox-123.0b9.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "687b8cb4ed66699a590be38ceaeb8a2c5b802cfad8430ae3db98ab0ddbdb7957";
+      sha256 = "bc195e330f8afccab583ed01237e214092193cf4d8524461e6ffd71a1aa1325e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/uz/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/uz/firefox-123.0b9.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "563674323dfd4b333ba695def45413a1d322fe6c3425029e73999380ef8987ae";
+      sha256 = "c83c652e8690014661ec6a2286f132b402c7acf471792e22f79353b0035e1814";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/vi/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/vi/firefox-123.0b9.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "4c76121ee4245094f417a70d09add493bfbc8a3020401f26d69638627868d473";
+      sha256 = "3b9bdf340582f4fa655808fcd78db1ffe72816decfdfab852b9aaa59f3303a26";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/xh/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/xh/firefox-123.0b9.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "8f7ea99e9587dd8801abf22892fdfd38f4446a8339460b8bb4103d2854c8b00d";
+      sha256 = "af796b19987bcb6c543dfdc96ee6bc5ff6a6151a3287200fc1e1881c832c2031";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/zh-CN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/zh-CN/firefox-123.0b9.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "03bef56655f52b9c40d3ed29052dca62ae83f2668ef860aa745abe3f7d1a4c7c";
+      sha256 = "c52d53bd9e42e7383dd7a5e98298d1576f592b08e0fee2d45da0a43d15008469";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/zh-TW/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/zh-TW/firefox-123.0b9.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "456d5311fe2a21bbac3bd20f3105635bf468aea86c014bf4fc33508b9faa8298";
+      sha256 = "5df1783bee8c5fa3a8707aa9a01d6711d95eecd2d85ad30d34e6ac79b95eb27d";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 56d21187ebb2..44b63cab7dbb 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -108,7 +108,7 @@ stdenv.mkDerivation {
     updateScript = import ./update.nix {
       inherit pname channel lib writeScript xidel coreutils gnused gnugrep gnupg curl runtimeShell;
       baseUrl =
-        if channel == "devedition"
+        if channel == "developer-edition"
           then "https://archive.mozilla.org/pub/devedition/releases/"
           else "https://archive.mozilla.org/pub/firefox/releases/";
     };
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
deleted file mode 100644
index bc59c44618ac..000000000000
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ /dev/null
@@ -1,1015 +0,0 @@
-{
-  version = "118.0b9";
-  sources = [
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ach/firefox-118.0b9.tar.bz2";
-      locale = "ach";
-      arch = "linux-x86_64";
-      sha256 = "5acd7d6ddf79c3d6399c9e59a9dbe47e9aa23d6071528ea2ca9bfa3b836518a0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/af/firefox-118.0b9.tar.bz2";
-      locale = "af";
-      arch = "linux-x86_64";
-      sha256 = "dfb8567a0b2376d25c84f640fe2d54afccb35c681f4b03b9b2c265a1b3726247";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/an/firefox-118.0b9.tar.bz2";
-      locale = "an";
-      arch = "linux-x86_64";
-      sha256 = "ca3a0f0ef0920f911d71a8c91897b59d6056ad3979d1674e01f8d7efe078a54d";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ar/firefox-118.0b9.tar.bz2";
-      locale = "ar";
-      arch = "linux-x86_64";
-      sha256 = "d42b9d642e9f62fac2c5c608851ee012260770d3a120b73501c76f5a8ae8e879";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ast/firefox-118.0b9.tar.bz2";
-      locale = "ast";
-      arch = "linux-x86_64";
-      sha256 = "cbde843e9fa68df97d67d8f2fa30a32b1acfd1cf2d721ef9279a094aa4d67fb2";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/az/firefox-118.0b9.tar.bz2";
-      locale = "az";
-      arch = "linux-x86_64";
-      sha256 = "0f4a8343202eaf372d053453654afd399b85fe670935bc700fa344ccfebeaee4";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/be/firefox-118.0b9.tar.bz2";
-      locale = "be";
-      arch = "linux-x86_64";
-      sha256 = "ae6a0e66076aebdfddcfc3d2c4defcc2d681fbd69b54c024d5677ecf5e24b6a0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/bg/firefox-118.0b9.tar.bz2";
-      locale = "bg";
-      arch = "linux-x86_64";
-      sha256 = "10fad3cb1a614deaf6169d6ea1574010172e73037c36e5caa19ccad41d347164";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/bn/firefox-118.0b9.tar.bz2";
-      locale = "bn";
-      arch = "linux-x86_64";
-      sha256 = "313ca09b833065db9bcfa270fae044af1961fb8c777d54a0f6fc0d5908c4703a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/br/firefox-118.0b9.tar.bz2";
-      locale = "br";
-      arch = "linux-x86_64";
-      sha256 = "98be142d1b61a37cfc6d2d47fc8ecadb128b7b464c3c62a4a76b372260c7aec6";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/bs/firefox-118.0b9.tar.bz2";
-      locale = "bs";
-      arch = "linux-x86_64";
-      sha256 = "622ed1af0985ef2ebc4c9cf897a0157b9c933e55f46313b44ca976b156479a6f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ca-valencia/firefox-118.0b9.tar.bz2";
-      locale = "ca-valencia";
-      arch = "linux-x86_64";
-      sha256 = "f07b40f3ed624eecdeb45b79e9a52dc4204d5fec713001a4b33259ba77b61908";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ca/firefox-118.0b9.tar.bz2";
-      locale = "ca";
-      arch = "linux-x86_64";
-      sha256 = "90d11280471491175188b4244634d3a604057c6bddbf047917b3a374c97c4053";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/cak/firefox-118.0b9.tar.bz2";
-      locale = "cak";
-      arch = "linux-x86_64";
-      sha256 = "94e9141892331ac3f9fcec1264be65661ceae6234635aa9bb44b4b97be8efb3e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/cs/firefox-118.0b9.tar.bz2";
-      locale = "cs";
-      arch = "linux-x86_64";
-      sha256 = "b1a976da8655601bc98f1bf33fb8731cf7ae1db6ab068beadaa741e896b3e0b3";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/cy/firefox-118.0b9.tar.bz2";
-      locale = "cy";
-      arch = "linux-x86_64";
-      sha256 = "3dec7296441f4154db622bf3cf3c3af45b6cef1aa4db454c18b76474d4c46475";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/da/firefox-118.0b9.tar.bz2";
-      locale = "da";
-      arch = "linux-x86_64";
-      sha256 = "1b9d4d7f38e7edbbbf165d5f07c826793834c57b098980bae018614503a4d10f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/de/firefox-118.0b9.tar.bz2";
-      locale = "de";
-      arch = "linux-x86_64";
-      sha256 = "23790fde6591ed8da815d343cdaa2d220d7b764d53de29cf64ca379d3569668a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/dsb/firefox-118.0b9.tar.bz2";
-      locale = "dsb";
-      arch = "linux-x86_64";
-      sha256 = "7d2b8f361397d64d6daf41e8e62d9527fa8fcfe089a3d67d0c2cb8f20aab2d0b";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/el/firefox-118.0b9.tar.bz2";
-      locale = "el";
-      arch = "linux-x86_64";
-      sha256 = "7abb4568eb97c2a18e1dbee9854494bf77d2ca8c3d657803304a36da50b1b533";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/en-CA/firefox-118.0b9.tar.bz2";
-      locale = "en-CA";
-      arch = "linux-x86_64";
-      sha256 = "3fdee20918067d944825c465744fdf2138770a2fb8943c13c3ced16b1f682adc";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/en-GB/firefox-118.0b9.tar.bz2";
-      locale = "en-GB";
-      arch = "linux-x86_64";
-      sha256 = "12001f0d7bb53972b731bf1915bb5c0adcfd173fdddfb3d1a95024bc083f8f25";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/en-US/firefox-118.0b9.tar.bz2";
-      locale = "en-US";
-      arch = "linux-x86_64";
-      sha256 = "efab41ad6173533258aebc346f8c08e380603c2e9be139ccf3ac0c9e36c64f18";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/eo/firefox-118.0b9.tar.bz2";
-      locale = "eo";
-      arch = "linux-x86_64";
-      sha256 = "9440354ab7ff9c8f6d597667f9826a6ebf14e2ee05fc442844692727e343d6c3";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/es-AR/firefox-118.0b9.tar.bz2";
-      locale = "es-AR";
-      arch = "linux-x86_64";
-      sha256 = "2e879fe58cf49cb2705f7fe422fb1d220afd485dd2a71a4ea5a142f0190abeec";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/es-CL/firefox-118.0b9.tar.bz2";
-      locale = "es-CL";
-      arch = "linux-x86_64";
-      sha256 = "6b6d5f82c141828eddf1cef087efd08945adbcf43be9ce5bfff6fc9c309b4b7f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/es-ES/firefox-118.0b9.tar.bz2";
-      locale = "es-ES";
-      arch = "linux-x86_64";
-      sha256 = "a7105ef1a00786ba489707481c59dea1e7f6f4b9692de03e9d04298e5d189a0e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/es-MX/firefox-118.0b9.tar.bz2";
-      locale = "es-MX";
-      arch = "linux-x86_64";
-      sha256 = "d5087e0339ef052e81b13835c4fd2a151f9ff45ba917083f137b5ca62c356a3c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/et/firefox-118.0b9.tar.bz2";
-      locale = "et";
-      arch = "linux-x86_64";
-      sha256 = "3b364c886030729b2c52befc0377abcdd0069825d3c26a73d16ac0672ca5e0cf";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/eu/firefox-118.0b9.tar.bz2";
-      locale = "eu";
-      arch = "linux-x86_64";
-      sha256 = "28a7c3f7211c260c76e8b4c473c9a9eaafa2beaa480d26cb1e31e6a888a3d092";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/fa/firefox-118.0b9.tar.bz2";
-      locale = "fa";
-      arch = "linux-x86_64";
-      sha256 = "0b2fdea90167e8a44659a6f9a69ab467e4256c203b2ddb7fc736c3d62ccb544a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ff/firefox-118.0b9.tar.bz2";
-      locale = "ff";
-      arch = "linux-x86_64";
-      sha256 = "0e9b071e8d0ba7a741f9d7b2b3e1bb9c805f305eb29524a67f840c12835baacb";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/fi/firefox-118.0b9.tar.bz2";
-      locale = "fi";
-      arch = "linux-x86_64";
-      sha256 = "e5fe1ef5c106d12624b2998c64144449cd49cd81c32b6a63d8941723f9245f97";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/fr/firefox-118.0b9.tar.bz2";
-      locale = "fr";
-      arch = "linux-x86_64";
-      sha256 = "ea89e51f4fe8feb7cc8a3ad64a8690af93621798463c4c019c689daf45d36789";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/fur/firefox-118.0b9.tar.bz2";
-      locale = "fur";
-      arch = "linux-x86_64";
-      sha256 = "e5f3f105bafd410c2d2153012c593f6150518927e960e680b6991af92bfb548c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/fy-NL/firefox-118.0b9.tar.bz2";
-      locale = "fy-NL";
-      arch = "linux-x86_64";
-      sha256 = "38e335c7fdfa89768ba321edda2bd154811f292e8e95d9138618de6f166e751a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ga-IE/firefox-118.0b9.tar.bz2";
-      locale = "ga-IE";
-      arch = "linux-x86_64";
-      sha256 = "0d3c32a94982bdb7989005a3245ca7afa7a5f96336474b5dd4af707ca11382f9";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/gd/firefox-118.0b9.tar.bz2";
-      locale = "gd";
-      arch = "linux-x86_64";
-      sha256 = "1e702f7f0feb04443ed2ee5b4b17c406546e1592ba51fa632a2ddc7171cb8306";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/gl/firefox-118.0b9.tar.bz2";
-      locale = "gl";
-      arch = "linux-x86_64";
-      sha256 = "2b37d2e8106072c709030c12652a0293dc26d058e4c761644dceeab9100ab37a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/gn/firefox-118.0b9.tar.bz2";
-      locale = "gn";
-      arch = "linux-x86_64";
-      sha256 = "e8d83f36e7a5ad7aa452078bb8b289ece91057567ed90ae70de27f0cd8bebc68";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/gu-IN/firefox-118.0b9.tar.bz2";
-      locale = "gu-IN";
-      arch = "linux-x86_64";
-      sha256 = "c515ab07a28ea34ba177b2c71f1890db8116c6ffbda2a08a9ddcd7b3c6a93871";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/he/firefox-118.0b9.tar.bz2";
-      locale = "he";
-      arch = "linux-x86_64";
-      sha256 = "ed38173b1d7493de3810972349f1e576f80495d91a552d94febe6febdbb6945c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/hi-IN/firefox-118.0b9.tar.bz2";
-      locale = "hi-IN";
-      arch = "linux-x86_64";
-      sha256 = "f7f3c1fc855276817673771c30df8f1f175be7f18c1de0c51158b87dd9620734";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/hr/firefox-118.0b9.tar.bz2";
-      locale = "hr";
-      arch = "linux-x86_64";
-      sha256 = "3aeb4da195c933afd2f0ea0f60050d8f4f84f4f50261ac894e4e8eb7eaae93d8";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/hsb/firefox-118.0b9.tar.bz2";
-      locale = "hsb";
-      arch = "linux-x86_64";
-      sha256 = "ae0be38cf74813b6d1d5339712e05582441956934fafcca452a0016920f43a38";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/hu/firefox-118.0b9.tar.bz2";
-      locale = "hu";
-      arch = "linux-x86_64";
-      sha256 = "5b9223dbc3490ac458898d3305a0064ff5aa9015c7fa828596a4a81b7ca67fe3";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/hy-AM/firefox-118.0b9.tar.bz2";
-      locale = "hy-AM";
-      arch = "linux-x86_64";
-      sha256 = "a20abd777fee3aa4b5866d9246dea27015dca40f56e7722c833275eab61971d1";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ia/firefox-118.0b9.tar.bz2";
-      locale = "ia";
-      arch = "linux-x86_64";
-      sha256 = "8f001a2f83b93850af4f05ce5b5aef4561ab0e9c64a2e1b4f767a898ad514279";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/id/firefox-118.0b9.tar.bz2";
-      locale = "id";
-      arch = "linux-x86_64";
-      sha256 = "5373f02b1bdb82d2adb70bf8ae83dbd847446b381d79f2398d4997b2871cf2bf";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/is/firefox-118.0b9.tar.bz2";
-      locale = "is";
-      arch = "linux-x86_64";
-      sha256 = "abf81429df6142b154d43ec5738cce2e37e6d2d7c5400abd608035ca79730220";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/it/firefox-118.0b9.tar.bz2";
-      locale = "it";
-      arch = "linux-x86_64";
-      sha256 = "15073bf85562036f526ad6c1aa63ce113b9f2de27745020f255fb825706aeb0b";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ja/firefox-118.0b9.tar.bz2";
-      locale = "ja";
-      arch = "linux-x86_64";
-      sha256 = "7a556d1d55c06a91fdaeee5af51e8907edf891020c66c5d31484a8e450cbed5c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ka/firefox-118.0b9.tar.bz2";
-      locale = "ka";
-      arch = "linux-x86_64";
-      sha256 = "0f5528182492b1f256a39bb2aea38502e37c61c25719534499d8b81143287356";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/kab/firefox-118.0b9.tar.bz2";
-      locale = "kab";
-      arch = "linux-x86_64";
-      sha256 = "6b51e8cf3a5781802bac7c66d9091b84c538de040e5a658ffe0f2b8bb1e9659a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/kk/firefox-118.0b9.tar.bz2";
-      locale = "kk";
-      arch = "linux-x86_64";
-      sha256 = "f9d8d2906874947df31a9b568babc0f0f4470d442f3296ca744c45c0d7c214e5";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/km/firefox-118.0b9.tar.bz2";
-      locale = "km";
-      arch = "linux-x86_64";
-      sha256 = "afd9c675a86d6d043534c070344d6614831e4abcafd24a98e8d6664da3b853d0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/kn/firefox-118.0b9.tar.bz2";
-      locale = "kn";
-      arch = "linux-x86_64";
-      sha256 = "fe93e6dcca7fcb014c53ebc94a9e3d81f5104cf3af22aad1e59c90b75fc3b838";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ko/firefox-118.0b9.tar.bz2";
-      locale = "ko";
-      arch = "linux-x86_64";
-      sha256 = "0ad8b6273fc217d1e1d9975c1b496f9f1416346417bfe5ea2d2a98f60f8f1186";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/lij/firefox-118.0b9.tar.bz2";
-      locale = "lij";
-      arch = "linux-x86_64";
-      sha256 = "cb7981d47db571e7490dcfbffa337987dfe51ed243744d95c957be665c505804";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/lt/firefox-118.0b9.tar.bz2";
-      locale = "lt";
-      arch = "linux-x86_64";
-      sha256 = "a5249de84d87e71c729cbf986bb064f61a88839021740bd799e159bb550b1175";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/lv/firefox-118.0b9.tar.bz2";
-      locale = "lv";
-      arch = "linux-x86_64";
-      sha256 = "c835237ad71ed561ff882afcc7f4350bc942a44ec65c3eaadc5716a0664a6b93";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/mk/firefox-118.0b9.tar.bz2";
-      locale = "mk";
-      arch = "linux-x86_64";
-      sha256 = "178dd017f2770e7770639a2a128411d5ac8dd7d1a46172453598285f714a8132";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/mr/firefox-118.0b9.tar.bz2";
-      locale = "mr";
-      arch = "linux-x86_64";
-      sha256 = "876fb7dfbbfbdd991b42059b95a562f2b3d2e713cdfd30a195bd3606ad79c4e5";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ms/firefox-118.0b9.tar.bz2";
-      locale = "ms";
-      arch = "linux-x86_64";
-      sha256 = "2bdeb6b26779eee615ef2ee3fcdf79c50d3098dfb5a0a6e71721c21964b18ec0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/my/firefox-118.0b9.tar.bz2";
-      locale = "my";
-      arch = "linux-x86_64";
-      sha256 = "50dfce52b2ed41dd399369efb944c2890f1987ddf07e7c7136ee745b9a6cd7cc";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/nb-NO/firefox-118.0b9.tar.bz2";
-      locale = "nb-NO";
-      arch = "linux-x86_64";
-      sha256 = "6f69c9df74f3e13009469ebeb6d9b4e9a26065cb9cf92b9d9ce71c8243de864c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ne-NP/firefox-118.0b9.tar.bz2";
-      locale = "ne-NP";
-      arch = "linux-x86_64";
-      sha256 = "6170a932880dc5cc86a5e7f78048e7e3248ff3bd11368c0e6d1c49fcdd7deb6e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/nl/firefox-118.0b9.tar.bz2";
-      locale = "nl";
-      arch = "linux-x86_64";
-      sha256 = "c47de0754f87bf698c0848f7f9207795cfdfc74a0187dcdcc829a38013bf3fcc";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/nn-NO/firefox-118.0b9.tar.bz2";
-      locale = "nn-NO";
-      arch = "linux-x86_64";
-      sha256 = "953ffba4bdf5148162ffb1e3cf3766168c82d73948bd528c88f045b315f051c2";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/oc/firefox-118.0b9.tar.bz2";
-      locale = "oc";
-      arch = "linux-x86_64";
-      sha256 = "a094a3823ae328761228e1e91b9da5fad4cec83b7e50c2b9cf5c9418fda73c12";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/pa-IN/firefox-118.0b9.tar.bz2";
-      locale = "pa-IN";
-      arch = "linux-x86_64";
-      sha256 = "03185fbdd8df2d3d931801be0fc45b151684cb6816866a7551b22af1a646f722";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/pl/firefox-118.0b9.tar.bz2";
-      locale = "pl";
-      arch = "linux-x86_64";
-      sha256 = "ee4f3e2d56e84bd30e6bf1f28fa98a8a70ac9b2ced98a76e0bddcc151b2683c2";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/pt-BR/firefox-118.0b9.tar.bz2";
-      locale = "pt-BR";
-      arch = "linux-x86_64";
-      sha256 = "8df58218e900df226188582aef2c278dcfd30c3f36552bb041fff712681b8df1";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/pt-PT/firefox-118.0b9.tar.bz2";
-      locale = "pt-PT";
-      arch = "linux-x86_64";
-      sha256 = "6bcebcfda5ac9f1bbed03566caf548218dca309829481e4ee37075ec1a617de0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/rm/firefox-118.0b9.tar.bz2";
-      locale = "rm";
-      arch = "linux-x86_64";
-      sha256 = "506ff87af0f0c8c933182b03a29560dc68e623cfd136b683b8469e6d11e34275";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ro/firefox-118.0b9.tar.bz2";
-      locale = "ro";
-      arch = "linux-x86_64";
-      sha256 = "11e0d4010e80366863f3897476c26511bac41e4c68e85bcc20044d6a958414ff";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ru/firefox-118.0b9.tar.bz2";
-      locale = "ru";
-      arch = "linux-x86_64";
-      sha256 = "e9f56d75d908f26fed24edf78000912dc897960e2d25aab9df1d7547ce4c8d8c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sc/firefox-118.0b9.tar.bz2";
-      locale = "sc";
-      arch = "linux-x86_64";
-      sha256 = "48adfd528e80ebcc01632c3d3313e5418510d3d72d99a945844e00d247cb60fc";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sco/firefox-118.0b9.tar.bz2";
-      locale = "sco";
-      arch = "linux-x86_64";
-      sha256 = "1ed5371e3a04eb40cc6b75097135985586ab26000a1600c28939d424df5f2450";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/si/firefox-118.0b9.tar.bz2";
-      locale = "si";
-      arch = "linux-x86_64";
-      sha256 = "aab2fdeda2ccf3605d51857ecd7005da043b471ef3de91211111c6c04f0a81ed";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sk/firefox-118.0b9.tar.bz2";
-      locale = "sk";
-      arch = "linux-x86_64";
-      sha256 = "b3251ba76819d35b26da24080c049f005d43e63ceb863254a61f4f5feefdaf88";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sl/firefox-118.0b9.tar.bz2";
-      locale = "sl";
-      arch = "linux-x86_64";
-      sha256 = "b40d690aeece4a09d994597879a5625568a8dce44f8c87835256c555acfc40b5";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/son/firefox-118.0b9.tar.bz2";
-      locale = "son";
-      arch = "linux-x86_64";
-      sha256 = "06272721d3e81d27ab3cca0845786ac22dfdd70cf695730ff56c3749b7f94431";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sq/firefox-118.0b9.tar.bz2";
-      locale = "sq";
-      arch = "linux-x86_64";
-      sha256 = "29da477b4af2a4e22129331ee8a231bf6104085ecc0918d0fc7870dab0d4a56d";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sr/firefox-118.0b9.tar.bz2";
-      locale = "sr";
-      arch = "linux-x86_64";
-      sha256 = "ab7d20c85ed8b79d86042839d0929098882a075db3aef476fab155f2e00723f3";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sv-SE/firefox-118.0b9.tar.bz2";
-      locale = "sv-SE";
-      arch = "linux-x86_64";
-      sha256 = "7ad161e52d3902f6991946457b373c576bef6c8e57576a3858f22da6b4d9d961";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/szl/firefox-118.0b9.tar.bz2";
-      locale = "szl";
-      arch = "linux-x86_64";
-      sha256 = "6ddd10980890a1d718fc11dc884080573f7e0bd177dc2434c0d62bc653568315";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ta/firefox-118.0b9.tar.bz2";
-      locale = "ta";
-      arch = "linux-x86_64";
-      sha256 = "9bff70db3a4e82d1c88ac484269db863db91bdc9acbbc623d421f578df78a173";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/te/firefox-118.0b9.tar.bz2";
-      locale = "te";
-      arch = "linux-x86_64";
-      sha256 = "fb56f9d843379c08a7093c83ffff1d203f6c4893280fe3a61c392ac498a717b4";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/tg/firefox-118.0b9.tar.bz2";
-      locale = "tg";
-      arch = "linux-x86_64";
-      sha256 = "5feec8a1ba01e1201301d51a1b55b5a4e77d79511d9a701674fda4e733eb8db9";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/th/firefox-118.0b9.tar.bz2";
-      locale = "th";
-      arch = "linux-x86_64";
-      sha256 = "5dcac416794969756ea403f6ef76ba8414a43a2f3b8601c5171b12c27597585b";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/tl/firefox-118.0b9.tar.bz2";
-      locale = "tl";
-      arch = "linux-x86_64";
-      sha256 = "9a734be40c279c8327df76c91cb1e5c81558c06de63962d8604c4091439440cb";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/tr/firefox-118.0b9.tar.bz2";
-      locale = "tr";
-      arch = "linux-x86_64";
-      sha256 = "6679603f9baffaab9b5ed34f20d41f9094a764e879d9a6c76bd45857798b4ee4";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/trs/firefox-118.0b9.tar.bz2";
-      locale = "trs";
-      arch = "linux-x86_64";
-      sha256 = "2c61bc81bee412abcd4de08287f36e3326c196513e97cce9be9cf75ec7fb5189";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/uk/firefox-118.0b9.tar.bz2";
-      locale = "uk";
-      arch = "linux-x86_64";
-      sha256 = "3ced0aa2e9a142ee441d798a47ec9a08e3fa741cbfe9d3f124088ccd05a3d64b";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ur/firefox-118.0b9.tar.bz2";
-      locale = "ur";
-      arch = "linux-x86_64";
-      sha256 = "e48e0fb6d5fd25fe3cfbeec26ad1196465c77e699977adaf4d71e19fbe83ff0a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/uz/firefox-118.0b9.tar.bz2";
-      locale = "uz";
-      arch = "linux-x86_64";
-      sha256 = "ea0458ae76e50dddd4bb5966846e5cfcabfb2d4cc8884c9a00d234ecda6aef6a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/vi/firefox-118.0b9.tar.bz2";
-      locale = "vi";
-      arch = "linux-x86_64";
-      sha256 = "7f67f1a6fd898710900a1b9e1bcd04aa8730249257472265766c5424a1865607";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/xh/firefox-118.0b9.tar.bz2";
-      locale = "xh";
-      arch = "linux-x86_64";
-      sha256 = "5db4ee24e2c2646b7b61e8a453953558e84ff59c51cd70d5937ae3e114d3d8d2";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/zh-CN/firefox-118.0b9.tar.bz2";
-      locale = "zh-CN";
-      arch = "linux-x86_64";
-      sha256 = "632595f56ec4cfc803ae94e98f7961823f496553038261800d9d89a344039788";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/zh-TW/firefox-118.0b9.tar.bz2";
-      locale = "zh-TW";
-      arch = "linux-x86_64";
-      sha256 = "f3ba20b6488df608275882b037de062efe5a69290e1ecd96536caaea0477c871";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ach/firefox-118.0b9.tar.bz2";
-      locale = "ach";
-      arch = "linux-i686";
-      sha256 = "e53aca0cdb3d26a83047e5af4f3d522fa5b7dd3ac6352ac19a0de638d7ba0bd5";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/af/firefox-118.0b9.tar.bz2";
-      locale = "af";
-      arch = "linux-i686";
-      sha256 = "39f804678212819ff35bfa34ef6c06eebf10c033d72f2cbd272a95d7c05e74ba";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/an/firefox-118.0b9.tar.bz2";
-      locale = "an";
-      arch = "linux-i686";
-      sha256 = "ab1d0ff00c249ca13f2f2404f580604c00b1cddba1190d07c3daac2ca11e747e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ar/firefox-118.0b9.tar.bz2";
-      locale = "ar";
-      arch = "linux-i686";
-      sha256 = "a9e20580dad651b5f5516d6c62636a25a2d3b5d18152c6fa3e6a139cb68eb8e6";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ast/firefox-118.0b9.tar.bz2";
-      locale = "ast";
-      arch = "linux-i686";
-      sha256 = "234c6a23011440288f389287c048552df3e2757e38b3aa3b4a8eef2d65d13cd0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/az/firefox-118.0b9.tar.bz2";
-      locale = "az";
-      arch = "linux-i686";
-      sha256 = "c4e8561139014ea6d1a633858c2dc0c503c919634ec435895a87ec53794b9931";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/be/firefox-118.0b9.tar.bz2";
-      locale = "be";
-      arch = "linux-i686";
-      sha256 = "972ff1a80a47ff5e743d09b96a8baad7a12742a554d10503880b0f4cf887d033";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/bg/firefox-118.0b9.tar.bz2";
-      locale = "bg";
-      arch = "linux-i686";
-      sha256 = "782e776efead868840d137e524b66811db8942354cb690d062c5d2fac19fc20a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/bn/firefox-118.0b9.tar.bz2";
-      locale = "bn";
-      arch = "linux-i686";
-      sha256 = "d30f3ef788be926fb4e89ae167fda01351ca7643ab2b0870edce061ec731cec2";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/br/firefox-118.0b9.tar.bz2";
-      locale = "br";
-      arch = "linux-i686";
-      sha256 = "3c9ea3db020b08495449df487711b98601e39cd983a2f0e3f7661371654ce7fe";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/bs/firefox-118.0b9.tar.bz2";
-      locale = "bs";
-      arch = "linux-i686";
-      sha256 = "8ec9d497c5c1aa8032bfd6eb3b4619716935d67d4054363d1b14f5dac5da832c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ca-valencia/firefox-118.0b9.tar.bz2";
-      locale = "ca-valencia";
-      arch = "linux-i686";
-      sha256 = "ab80b0b8cd657917135b7d44b0033daab60827bec9e65661fb9e9a02d4e4225d";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ca/firefox-118.0b9.tar.bz2";
-      locale = "ca";
-      arch = "linux-i686";
-      sha256 = "0f5517aa454bf7307ebb2015375f96f56f59e9c24cf7f9735cb6c7619aade466";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/cak/firefox-118.0b9.tar.bz2";
-      locale = "cak";
-      arch = "linux-i686";
-      sha256 = "f18dc8b6977293f6a82246f34d455567b857edb937fae5109754e780c1991407";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/cs/firefox-118.0b9.tar.bz2";
-      locale = "cs";
-      arch = "linux-i686";
-      sha256 = "ff20177ebf601903556239f6a2b4414f9f209912f0f6bbf7320e63a09b8c31f6";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/cy/firefox-118.0b9.tar.bz2";
-      locale = "cy";
-      arch = "linux-i686";
-      sha256 = "6afb79342ddb53e568598e0dea754e67135ce3cc1eb3f7f4cc5c8f9269218933";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/da/firefox-118.0b9.tar.bz2";
-      locale = "da";
-      arch = "linux-i686";
-      sha256 = "2d56583c30fab008ff132164af35f43d9578bfc1b13e6fa17cd0954e1a480844";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/de/firefox-118.0b9.tar.bz2";
-      locale = "de";
-      arch = "linux-i686";
-      sha256 = "6f7f12168bfabe787d36a8ec4d7d5f05c5679543e2f909ae4f4fd0c311ef7c66";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/dsb/firefox-118.0b9.tar.bz2";
-      locale = "dsb";
-      arch = "linux-i686";
-      sha256 = "abcd8efd958fb4cd07d7b6f163851630fccff3abf2e0cbe40430e48ef9c3df2d";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/el/firefox-118.0b9.tar.bz2";
-      locale = "el";
-      arch = "linux-i686";
-      sha256 = "f5f2ff34cdfd9cabefd3f068d8086db804b045b242ebea4ad416510e031551e9";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/en-CA/firefox-118.0b9.tar.bz2";
-      locale = "en-CA";
-      arch = "linux-i686";
-      sha256 = "1645f59cc9db80ed34dbb45c5e1ff9b270160c38b50548b34b580c7e68f45497";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/en-GB/firefox-118.0b9.tar.bz2";
-      locale = "en-GB";
-      arch = "linux-i686";
-      sha256 = "5c5b1872e5965fb6c7c52e70af233d1cb39b6b9845129ed6bed19f5a716f69c9";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/en-US/firefox-118.0b9.tar.bz2";
-      locale = "en-US";
-      arch = "linux-i686";
-      sha256 = "a7b405ad4f8d60519efc6f5433318f2f4cac6a898300dd9e06ec9a38a00e7d9f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/eo/firefox-118.0b9.tar.bz2";
-      locale = "eo";
-      arch = "linux-i686";
-      sha256 = "f88898bf1efcdce421e7f8ab0389ee257d588b7a93362f685cebdf24f2e460b7";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/es-AR/firefox-118.0b9.tar.bz2";
-      locale = "es-AR";
-      arch = "linux-i686";
-      sha256 = "50dbdd2d36387e51bf7534a4e661c4b62381ceb2a727e35e2a88bda96679209f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/es-CL/firefox-118.0b9.tar.bz2";
-      locale = "es-CL";
-      arch = "linux-i686";
-      sha256 = "8796f21f065495a93f853133a208acd2aa91d58e2c9029fb1f8262ed1ee09014";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/es-ES/firefox-118.0b9.tar.bz2";
-      locale = "es-ES";
-      arch = "linux-i686";
-      sha256 = "a551586853ad5923ca09e7d77b69b220779dca77c36e37f5176a4393c65a0032";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/es-MX/firefox-118.0b9.tar.bz2";
-      locale = "es-MX";
-      arch = "linux-i686";
-      sha256 = "f7a442484fd8396d7480f2f1b719deac03bac92bd7bfa23692e6590dc6db7cf9";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/et/firefox-118.0b9.tar.bz2";
-      locale = "et";
-      arch = "linux-i686";
-      sha256 = "0eb1aad68e73481e6dd4948c3d691aba69d698a9819f4eba8e7e7dfbe9c436ae";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/eu/firefox-118.0b9.tar.bz2";
-      locale = "eu";
-      arch = "linux-i686";
-      sha256 = "b19858b2e0654bc88489cce8a10e6ed31f701ef8aa515390d8c5865315bd81f7";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/fa/firefox-118.0b9.tar.bz2";
-      locale = "fa";
-      arch = "linux-i686";
-      sha256 = "292424afc766be9006b594ce777cf5f710a445c38410350aabe3e7bb4ce7bca1";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ff/firefox-118.0b9.tar.bz2";
-      locale = "ff";
-      arch = "linux-i686";
-      sha256 = "e6e69e6d7f8bccb2f4b3d32c5b48c3b1a677a92e0792a31527543bd234169103";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/fi/firefox-118.0b9.tar.bz2";
-      locale = "fi";
-      arch = "linux-i686";
-      sha256 = "02f5d399cc2e14f08ca2e323b38915aadd686eaf7d5f33a23eaeeae40b864631";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/fr/firefox-118.0b9.tar.bz2";
-      locale = "fr";
-      arch = "linux-i686";
-      sha256 = "1b587b32e2d5095907fc8d392f82973075453d9b830de5b28266eba34694d305";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/fur/firefox-118.0b9.tar.bz2";
-      locale = "fur";
-      arch = "linux-i686";
-      sha256 = "e9104d5c05c2728a9027f81d7709401b14d0d3f681b9c917448c5d28fe19c1d8";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/fy-NL/firefox-118.0b9.tar.bz2";
-      locale = "fy-NL";
-      arch = "linux-i686";
-      sha256 = "0bffc1fc0b09c9b4c260e0195f1eb8ec8d0bc198598e1903262c9dbe955d91c0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ga-IE/firefox-118.0b9.tar.bz2";
-      locale = "ga-IE";
-      arch = "linux-i686";
-      sha256 = "019b3602f776f2e56f477be73e9f68297fdc63feea906c95c20ec64f008474df";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/gd/firefox-118.0b9.tar.bz2";
-      locale = "gd";
-      arch = "linux-i686";
-      sha256 = "cd96ce395bd3f288052bfa02f13e61c2ea26daee744b255d5ce1c7542244ef7b";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/gl/firefox-118.0b9.tar.bz2";
-      locale = "gl";
-      arch = "linux-i686";
-      sha256 = "1d16b36daee3ba95477edf934f44ea52ae4f02edc554a42d6614d1d0b919d695";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/gn/firefox-118.0b9.tar.bz2";
-      locale = "gn";
-      arch = "linux-i686";
-      sha256 = "0074d580db405791504448fc006848c7ff9530fc1895f8dd95dc69c0c06baae7";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/gu-IN/firefox-118.0b9.tar.bz2";
-      locale = "gu-IN";
-      arch = "linux-i686";
-      sha256 = "86f21ca517c89fab3e1a5703cf880a1a9b79fa0bef16e810f13746e9a59ac698";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/he/firefox-118.0b9.tar.bz2";
-      locale = "he";
-      arch = "linux-i686";
-      sha256 = "704c8c1b12ca2227e4dbd89f51c9fac7a2769f7f0d81ddc11b40e2a8fa869681";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/hi-IN/firefox-118.0b9.tar.bz2";
-      locale = "hi-IN";
-      arch = "linux-i686";
-      sha256 = "3a2fc246b14ee2d712e7c37e568024bf314ee1dfeef8cdb0f668acc1a9aa7ca9";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/hr/firefox-118.0b9.tar.bz2";
-      locale = "hr";
-      arch = "linux-i686";
-      sha256 = "bb4b8af71da2fb4ee21c9ae79cab7c76f06cb2a2aa63dde5412f905eeda02902";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/hsb/firefox-118.0b9.tar.bz2";
-      locale = "hsb";
-      arch = "linux-i686";
-      sha256 = "2cfc44287cadc041419c487a2dc4809676d54703fd7526b2478f1769cf7295bf";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/hu/firefox-118.0b9.tar.bz2";
-      locale = "hu";
-      arch = "linux-i686";
-      sha256 = "3ce46f795d287ec4a8dba73dc3f154fbdbf49e36458bf8f44b8fa889ee8e9f25";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/hy-AM/firefox-118.0b9.tar.bz2";
-      locale = "hy-AM";
-      arch = "linux-i686";
-      sha256 = "b5d4b2bf65501a2a062d6d33cb8ec79fa3b1ea96d3dee8276fcfe90466b75f9f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ia/firefox-118.0b9.tar.bz2";
-      locale = "ia";
-      arch = "linux-i686";
-      sha256 = "57a39b1ee524b64b3fc02bd6022b18b9ccb78c188b6a00c175a9591a9f34cb4c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/id/firefox-118.0b9.tar.bz2";
-      locale = "id";
-      arch = "linux-i686";
-      sha256 = "0e21bec921bca716fac98ac7372bbd0f4e08730038527dd1a3f8d2368649affb";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/is/firefox-118.0b9.tar.bz2";
-      locale = "is";
-      arch = "linux-i686";
-      sha256 = "cfec6f29a76b1fdbc24fb2b62878bf219bc62d4ba49b84ac74644d32d663ff40";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/it/firefox-118.0b9.tar.bz2";
-      locale = "it";
-      arch = "linux-i686";
-      sha256 = "8de32508ec96dfb9aeee42b3ddf165d39347af836328dd327fc085ab63ab629e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ja/firefox-118.0b9.tar.bz2";
-      locale = "ja";
-      arch = "linux-i686";
-      sha256 = "da471e323d0788b4f9469064231c1a30121e0c372109b4ceefb293f360837c1d";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ka/firefox-118.0b9.tar.bz2";
-      locale = "ka";
-      arch = "linux-i686";
-      sha256 = "48f04b5e1e955ba528e4d31e51dd407e115ccf83da381f22ab6f592232fb1ffd";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/kab/firefox-118.0b9.tar.bz2";
-      locale = "kab";
-      arch = "linux-i686";
-      sha256 = "23e6959f1f8c5de089ea4dcccbe366d383eff584dd1b5a76ff5c27e58626ea9f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/kk/firefox-118.0b9.tar.bz2";
-      locale = "kk";
-      arch = "linux-i686";
-      sha256 = "d999fa29de25472206bc07d6696e60c6c43d214427cd98bf8a1bb07a063fa550";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/km/firefox-118.0b9.tar.bz2";
-      locale = "km";
-      arch = "linux-i686";
-      sha256 = "f8d483c51e862cbc5b79672224fc534adad16875bca2ca2b3cbf56a43acc9114";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/kn/firefox-118.0b9.tar.bz2";
-      locale = "kn";
-      arch = "linux-i686";
-      sha256 = "23c8e223d4285020c2eedbff9a21259c3363b4e36491f628e83b182cf2d359d0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ko/firefox-118.0b9.tar.bz2";
-      locale = "ko";
-      arch = "linux-i686";
-      sha256 = "452de5fd6c913659f988ea8e8b8ca10fa3e8738bab9d26bb0452bdbcb56dd81e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/lij/firefox-118.0b9.tar.bz2";
-      locale = "lij";
-      arch = "linux-i686";
-      sha256 = "71007a608ebfb0f2937e149123ae1204ceef85d8a129b57d1b89f6cdaacdc7e7";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/lt/firefox-118.0b9.tar.bz2";
-      locale = "lt";
-      arch = "linux-i686";
-      sha256 = "5f82e611188581d38c8db1d03a253ab10c3e4805451276e4714635d0fd509fdc";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/lv/firefox-118.0b9.tar.bz2";
-      locale = "lv";
-      arch = "linux-i686";
-      sha256 = "f7df8dbad4c91aa2d5c402487bc8a266ccd3477b44fc58f860f509aac9e0d78b";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/mk/firefox-118.0b9.tar.bz2";
-      locale = "mk";
-      arch = "linux-i686";
-      sha256 = "ab8b6a5f9ef8bced0591968dc123c89bee4d9a7be29e0387255cb716a460c491";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/mr/firefox-118.0b9.tar.bz2";
-      locale = "mr";
-      arch = "linux-i686";
-      sha256 = "74d9e514e9f6086b30a843b11cd02e872c5d10bb9e991d2e00e67581bd2ca0c7";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ms/firefox-118.0b9.tar.bz2";
-      locale = "ms";
-      arch = "linux-i686";
-      sha256 = "515d770951d7b112be8980b5482b3cac9c1f6b085c6c67056d6310334313a17e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/my/firefox-118.0b9.tar.bz2";
-      locale = "my";
-      arch = "linux-i686";
-      sha256 = "70bc3a89af01cb7fe91a3c8d3e2b51ee8711f205399d829fba0c5f67bdb13259";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/nb-NO/firefox-118.0b9.tar.bz2";
-      locale = "nb-NO";
-      arch = "linux-i686";
-      sha256 = "0d7497ce372be43951963a7708e580476ad9606bd577cfd6b84613ac16ff1ad6";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ne-NP/firefox-118.0b9.tar.bz2";
-      locale = "ne-NP";
-      arch = "linux-i686";
-      sha256 = "c3ed492f8a4fdfa5c6765003c07654da9d9efeabaaca15f67c84518ba10d04fd";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/nl/firefox-118.0b9.tar.bz2";
-      locale = "nl";
-      arch = "linux-i686";
-      sha256 = "24077f05377cfbc11521c88f96d81f344b1d83a6dab4103fb2ef0acbe684f2eb";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/nn-NO/firefox-118.0b9.tar.bz2";
-      locale = "nn-NO";
-      arch = "linux-i686";
-      sha256 = "eabc24681261270677c622be6f4feb412e889fee7e7909e7b1c213f2b5d5f074";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/oc/firefox-118.0b9.tar.bz2";
-      locale = "oc";
-      arch = "linux-i686";
-      sha256 = "84249450442b0784f5c1d9ef80148733697fa76a7b7cbd6fff826b17cd587d34";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/pa-IN/firefox-118.0b9.tar.bz2";
-      locale = "pa-IN";
-      arch = "linux-i686";
-      sha256 = "a9a4d9d541a875fcbdf641520f78cbd6a7e195499b860c2b90a24151777af518";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/pl/firefox-118.0b9.tar.bz2";
-      locale = "pl";
-      arch = "linux-i686";
-      sha256 = "f25078cfc1564938d322dfcf4caa7d53aba151779441058b8d0eac9c24cf36b8";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/pt-BR/firefox-118.0b9.tar.bz2";
-      locale = "pt-BR";
-      arch = "linux-i686";
-      sha256 = "c257c77acbfacd8d6e665510ebd819d04af274794f7c4279d7a5ae5376548740";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/pt-PT/firefox-118.0b9.tar.bz2";
-      locale = "pt-PT";
-      arch = "linux-i686";
-      sha256 = "8a95dc319c5dd036ba1ed46c51306c2d72e1183b8b9495d2a7a04f2160037262";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/rm/firefox-118.0b9.tar.bz2";
-      locale = "rm";
-      arch = "linux-i686";
-      sha256 = "213173775951d23ba7ca90d4f5f0e972970f5e70a94797dcfb3a4c431ddb3461";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ro/firefox-118.0b9.tar.bz2";
-      locale = "ro";
-      arch = "linux-i686";
-      sha256 = "fd8149548cc99a603565406e0bf18af072406587b8c99a2791e9794db45b37be";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ru/firefox-118.0b9.tar.bz2";
-      locale = "ru";
-      arch = "linux-i686";
-      sha256 = "ad6ede7fa8d2492dc282672e1fe650e480282f0383e5bf972fa3079d032e7fd4";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sc/firefox-118.0b9.tar.bz2";
-      locale = "sc";
-      arch = "linux-i686";
-      sha256 = "4165fa28ec0395c4c73440d6ac5ccf507fd59170eb69c56d73c58cb194a18b8e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sco/firefox-118.0b9.tar.bz2";
-      locale = "sco";
-      arch = "linux-i686";
-      sha256 = "0d6b08f75cfcad251ecc4e5057ff6ea36e889607e4073b593e11099ab060e6ad";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/si/firefox-118.0b9.tar.bz2";
-      locale = "si";
-      arch = "linux-i686";
-      sha256 = "f13f8fed792e28048d2069fc70373811c520bf21db0404e3a24245f4fc8308db";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sk/firefox-118.0b9.tar.bz2";
-      locale = "sk";
-      arch = "linux-i686";
-      sha256 = "b4cc004d195f2afd25fc4adffd322a6e969533ec80b4ddaae51f05334968f40e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sl/firefox-118.0b9.tar.bz2";
-      locale = "sl";
-      arch = "linux-i686";
-      sha256 = "4d67c69958e4582af0b94dcf9e2c31d83bebae6fa5b0b8679d51ac6c43d7c795";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/son/firefox-118.0b9.tar.bz2";
-      locale = "son";
-      arch = "linux-i686";
-      sha256 = "bf2485df2689593243794df95d676a6fcdfb9f1d4ce364c84ba9f101b2264eea";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sq/firefox-118.0b9.tar.bz2";
-      locale = "sq";
-      arch = "linux-i686";
-      sha256 = "33bf4a96adb0535524c4e9283d54c9b811eab476562cd56f699ab6ff0579ec0e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sr/firefox-118.0b9.tar.bz2";
-      locale = "sr";
-      arch = "linux-i686";
-      sha256 = "6730e09e523b515d81977e9d4036b04f0b90ce5523f221775cdae222b926ae0a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sv-SE/firefox-118.0b9.tar.bz2";
-      locale = "sv-SE";
-      arch = "linux-i686";
-      sha256 = "637f7691325f447569973e2a9beaa6be4b2dab8bf5b6422e90a158edff00ee92";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/szl/firefox-118.0b9.tar.bz2";
-      locale = "szl";
-      arch = "linux-i686";
-      sha256 = "a23fc0c34fdf64176dca5f8b23a9a381f71dbae2d8573a0d286f39a61deb94cf";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ta/firefox-118.0b9.tar.bz2";
-      locale = "ta";
-      arch = "linux-i686";
-      sha256 = "065602a04ff6d4fde955dac629f8495c3b4a7dbe5a05fd2b75b00095ad88f438";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/te/firefox-118.0b9.tar.bz2";
-      locale = "te";
-      arch = "linux-i686";
-      sha256 = "ddff23965ef7bf5430d79a6e9d0c83f420ba7967b4b92729724b74632cb51992";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/tg/firefox-118.0b9.tar.bz2";
-      locale = "tg";
-      arch = "linux-i686";
-      sha256 = "377906226c488a24a229aedcdd75d128a413e0b6ca70215507b306ecbe2c93d5";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/th/firefox-118.0b9.tar.bz2";
-      locale = "th";
-      arch = "linux-i686";
-      sha256 = "9bc4881b5994d938dfda2574b8209f683896aa99d09231163f2500057047c2e3";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/tl/firefox-118.0b9.tar.bz2";
-      locale = "tl";
-      arch = "linux-i686";
-      sha256 = "5173d2b13807be2303ea11e5d32d1c504bc81b8c8db7c74de9f4388ef67f9d53";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/tr/firefox-118.0b9.tar.bz2";
-      locale = "tr";
-      arch = "linux-i686";
-      sha256 = "c12a8c580fc75e6827ee94b30f50b66478fa672eb6821f2280589f5afd3c7cd6";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/trs/firefox-118.0b9.tar.bz2";
-      locale = "trs";
-      arch = "linux-i686";
-      sha256 = "f3a63164cb755674c63fe76c86bd7edb075dabacbbb078a96ce2afa36dcaf1dc";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/uk/firefox-118.0b9.tar.bz2";
-      locale = "uk";
-      arch = "linux-i686";
-      sha256 = "f815ef8bcc95eeb3f5ebc7fe7a92406f8f9499b8a691ca07ae69e4fef6a4a051";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ur/firefox-118.0b9.tar.bz2";
-      locale = "ur";
-      arch = "linux-i686";
-      sha256 = "21665a39565e990ebdd369c88a684b247ccd5a2ff7268d9827c4cced5a1d44cb";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/uz/firefox-118.0b9.tar.bz2";
-      locale = "uz";
-      arch = "linux-i686";
-      sha256 = "e3527a83c2ef6f7fce248bd3eac7a71b53c95e6531ba66ce16d0886de6b52769";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/vi/firefox-118.0b9.tar.bz2";
-      locale = "vi";
-      arch = "linux-i686";
-      sha256 = "6535325b6f1182f0a67039f5c9ace2f1db8d5cae69ea03868828d75dacdc2df2";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/xh/firefox-118.0b9.tar.bz2";
-      locale = "xh";
-      arch = "linux-i686";
-      sha256 = "8e7d67535c19f672b42195327f85737cae24edf5dd96c2b474028b43860b3a34";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/zh-CN/firefox-118.0b9.tar.bz2";
-      locale = "zh-CN";
-      arch = "linux-i686";
-      sha256 = "24bddfdda2c7eeeaa1d66783cd4fe0b7b47b99d01250a1f6203f5049142be911";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/zh-TW/firefox-118.0b9.tar.bz2";
-      locale = "zh-TW";
-      arch = "linux-i686";
-      sha256 = "6fbd5d7bd31ac65cfe88e393cdab0ddab6d50c9f9e3718971bb16debf04bd10e";
-    }
-    ];
-}
diff --git a/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
new file mode 100644
index 000000000000..96dc4f28340d
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
@@ -0,0 +1,1025 @@
+{
+  version = "123.0b9";
+  sources = [
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ach/firefox-123.0b9.tar.bz2";
+      locale = "ach";
+      arch = "linux-x86_64";
+      sha256 = "8209ed22e390387eba266aaeae02c209b6cddf0bd91b1e416cb80bd419249b67";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/af/firefox-123.0b9.tar.bz2";
+      locale = "af";
+      arch = "linux-x86_64";
+      sha256 = "d78d5a00f702b0a839bb7720f7bb39d63efbe4b6dc5d211c6ee544a1cc8801c6";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/an/firefox-123.0b9.tar.bz2";
+      locale = "an";
+      arch = "linux-x86_64";
+      sha256 = "5cf3ab8da40481ff2654bbce33078ca69b1221f588b43ebc816a3a9e6b2d702c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ar/firefox-123.0b9.tar.bz2";
+      locale = "ar";
+      arch = "linux-x86_64";
+      sha256 = "f19e6a2d4ce8c8951004ec733932b1d54f9f7adb157ad7a4e1316d7d6fa0f70f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ast/firefox-123.0b9.tar.bz2";
+      locale = "ast";
+      arch = "linux-x86_64";
+      sha256 = "84a55620452ded942cc7e676cc255caed1bd77e348d623102e4777c8c0fd4399";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/az/firefox-123.0b9.tar.bz2";
+      locale = "az";
+      arch = "linux-x86_64";
+      sha256 = "73e68424868d4b3e97f9f9f86ff993ddbc4f97eea90560d39536e7cd0103a970";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/be/firefox-123.0b9.tar.bz2";
+      locale = "be";
+      arch = "linux-x86_64";
+      sha256 = "7237e962cf46683f3fcb765dfea24b6780404e02ddbd64d0e00705189277fa2c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/bg/firefox-123.0b9.tar.bz2";
+      locale = "bg";
+      arch = "linux-x86_64";
+      sha256 = "d05e38d2072ed9ff831a6612fa99e413a1599e104052771f0745640b6300497f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/bn/firefox-123.0b9.tar.bz2";
+      locale = "bn";
+      arch = "linux-x86_64";
+      sha256 = "872365d6a9f5fb8971a43f54b5a0dea2b7cc316fb10c451471766228392e6f64";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/br/firefox-123.0b9.tar.bz2";
+      locale = "br";
+      arch = "linux-x86_64";
+      sha256 = "51e953eb4ac3c1bf6df4f01dabaf5b59cf4f3b1c91b87c6bec14b9730515bd0e";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/bs/firefox-123.0b9.tar.bz2";
+      locale = "bs";
+      arch = "linux-x86_64";
+      sha256 = "fde3ada61deeacce592da0ac2dcc5eb95307958fb0059dbd040ffb9c1ab8e3dc";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ca-valencia/firefox-123.0b9.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-x86_64";
+      sha256 = "80d3788f5a0f7dd2b1aad6d697a3b541586f64f99e3c8d16a168a25071565a56";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ca/firefox-123.0b9.tar.bz2";
+      locale = "ca";
+      arch = "linux-x86_64";
+      sha256 = "aeeeddd7d7637416bddee7c91571483fd2c5e2a691202c0c011096e9d07b969a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/cak/firefox-123.0b9.tar.bz2";
+      locale = "cak";
+      arch = "linux-x86_64";
+      sha256 = "54ff9f05361862a95b5eeb083fc4c275d25be0ae22a5d69c2684f81faa4939ec";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/cs/firefox-123.0b9.tar.bz2";
+      locale = "cs";
+      arch = "linux-x86_64";
+      sha256 = "61d1ae17acebc1f3f6ad28121ccb67c0518e81fbaa1b83b4f09f4368522c0c91";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/cy/firefox-123.0b9.tar.bz2";
+      locale = "cy";
+      arch = "linux-x86_64";
+      sha256 = "b8c10b6ce837a49bbd24ae964f6c7b2759a61b9fbeec3c7b2842eb6f19d211eb";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/da/firefox-123.0b9.tar.bz2";
+      locale = "da";
+      arch = "linux-x86_64";
+      sha256 = "f08aa574567c7b7ab8ac5c49b67375a320f36b9e981e9c704f75ab21f50e547c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/de/firefox-123.0b9.tar.bz2";
+      locale = "de";
+      arch = "linux-x86_64";
+      sha256 = "4c5bc0b006e2d77f1f5c7e3d6a46eebc320129df0b0055074bb9592c3660d572";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/dsb/firefox-123.0b9.tar.bz2";
+      locale = "dsb";
+      arch = "linux-x86_64";
+      sha256 = "c38a3d3a2c59aa931fae6d4ea8527d52903a6efc1c550ccaa53b8187a26d4aab";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/el/firefox-123.0b9.tar.bz2";
+      locale = "el";
+      arch = "linux-x86_64";
+      sha256 = "399067d5a5fe987e3f72471194bed7599e8d4b19e96ef1486ccb557a829d9e4c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/en-CA/firefox-123.0b9.tar.bz2";
+      locale = "en-CA";
+      arch = "linux-x86_64";
+      sha256 = "b300f21deaf790a513d7de2595bab38ec054c50d0f9a7f4efae9b42fa688e965";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/en-GB/firefox-123.0b9.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-x86_64";
+      sha256 = "1c10607c48b8d6d14b35ce09af8acd658b065939ac848ee89e25018e10086d0d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/en-US/firefox-123.0b9.tar.bz2";
+      locale = "en-US";
+      arch = "linux-x86_64";
+      sha256 = "4c9913b8f7e7b11f22324c448f66a5e52a976b050a5945d9c70c21f8207022db";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/eo/firefox-123.0b9.tar.bz2";
+      locale = "eo";
+      arch = "linux-x86_64";
+      sha256 = "4678feea19c31bff30d3d2670c2d1e7b4e9041b7d6dbfebffe660a56bf882091";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/es-AR/firefox-123.0b9.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-x86_64";
+      sha256 = "447c0630b4689cf816ccfbb331ace2fc51f60d2e9bc6a75e77281ddf8d56d40a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/es-CL/firefox-123.0b9.tar.bz2";
+      locale = "es-CL";
+      arch = "linux-x86_64";
+      sha256 = "89fd6ba2ba8f7679278158ce14e1a49341dd45825d9e223bf11359949f9cba8c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/es-ES/firefox-123.0b9.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-x86_64";
+      sha256 = "da23651ff75029833a2b2ae2003755a77f2db42a5f28d331bfda1ab38be8b8cb";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/es-MX/firefox-123.0b9.tar.bz2";
+      locale = "es-MX";
+      arch = "linux-x86_64";
+      sha256 = "ef04ce3ac698b8fa4bfa4977c07fb96ef81dd55f0128f9081c50813362b9e3bc";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/et/firefox-123.0b9.tar.bz2";
+      locale = "et";
+      arch = "linux-x86_64";
+      sha256 = "025fb8761871202c4cf2f1ed02c391b4c7747d0e77c9c42fe70dfe5f4dc25ac8";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/eu/firefox-123.0b9.tar.bz2";
+      locale = "eu";
+      arch = "linux-x86_64";
+      sha256 = "0c6c8ec488436e177811c4afc46677e1785e2c352e95aceb4306568a196303ba";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/fa/firefox-123.0b9.tar.bz2";
+      locale = "fa";
+      arch = "linux-x86_64";
+      sha256 = "99b50a7b00a51261604e7d26750d69af607dfce2b632c5ed2363466819d42473";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ff/firefox-123.0b9.tar.bz2";
+      locale = "ff";
+      arch = "linux-x86_64";
+      sha256 = "88e0d02eea30b035ace6f158f15c9072bd4baa03a6795281869d5e8f0726bf99";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/fi/firefox-123.0b9.tar.bz2";
+      locale = "fi";
+      arch = "linux-x86_64";
+      sha256 = "011207051635748ceae0653e1bbd04aafca1767884e3a1f949b8576eeb80bfa1";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/fr/firefox-123.0b9.tar.bz2";
+      locale = "fr";
+      arch = "linux-x86_64";
+      sha256 = "2d9812633cf3e81b7d77dff833dc1eaa4ee42426e41737123499b5d9b999631d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/fur/firefox-123.0b9.tar.bz2";
+      locale = "fur";
+      arch = "linux-x86_64";
+      sha256 = "1ef82eb28a2ac00f99825ccb23aab2b61d49187b0859ba95b3145227fe51cfbe";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/fy-NL/firefox-123.0b9.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-x86_64";
+      sha256 = "3144dbcbb42e43a171a71bbafb90c1288bab31e53f387ff9720ba87722967ec7";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ga-IE/firefox-123.0b9.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-x86_64";
+      sha256 = "c161abf7bee3547c6b7e26fec5c8f950a48dcdb65f9f71ea2ae52263499c6eb5";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/gd/firefox-123.0b9.tar.bz2";
+      locale = "gd";
+      arch = "linux-x86_64";
+      sha256 = "3c11a0503f1c667a6ec446e2dccb55708cdf6371da5a57c15a34ce3e165772d3";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/gl/firefox-123.0b9.tar.bz2";
+      locale = "gl";
+      arch = "linux-x86_64";
+      sha256 = "111df86012aff2b5f3e01971c7c893314b0cd56be238032cde0c64b74116d8c2";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/gn/firefox-123.0b9.tar.bz2";
+      locale = "gn";
+      arch = "linux-x86_64";
+      sha256 = "e73b2e664be578050b26510c8cabeb320f3c88b3636c55a8bdbec9ede0bbb5cc";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/gu-IN/firefox-123.0b9.tar.bz2";
+      locale = "gu-IN";
+      arch = "linux-x86_64";
+      sha256 = "c7b0374fdc46d06b747487cefa3b2ff0a0f7b16db67d64088a738b55a46a9da2";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/he/firefox-123.0b9.tar.bz2";
+      locale = "he";
+      arch = "linux-x86_64";
+      sha256 = "50110443f2c1c14835de99165e5d204fabee330348d3b738055ec0482a2e9198";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/hi-IN/firefox-123.0b9.tar.bz2";
+      locale = "hi-IN";
+      arch = "linux-x86_64";
+      sha256 = "e0e2d0ac60940742bf101da8612c4eaaf8f629a542d0e3f50cfc793c7f96e0c1";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/hr/firefox-123.0b9.tar.bz2";
+      locale = "hr";
+      arch = "linux-x86_64";
+      sha256 = "ece1893493a54563a37c77595698ecdc140b988fc08cb93ae225288509d1e104";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/hsb/firefox-123.0b9.tar.bz2";
+      locale = "hsb";
+      arch = "linux-x86_64";
+      sha256 = "37fcb9547fcbc09fa4dd988a5db48f5e19fdfb93dad2018cce85375b9ab9a89d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/hu/firefox-123.0b9.tar.bz2";
+      locale = "hu";
+      arch = "linux-x86_64";
+      sha256 = "c0d15d71cd51c22eb638c0b601b77fe57cea0e0ce729d80e698b6d991f5cde1a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/hy-AM/firefox-123.0b9.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-x86_64";
+      sha256 = "557b183f57e3242ad6494e3c218c49bfa7d0ce5a959b6274387d30d0f992821b";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ia/firefox-123.0b9.tar.bz2";
+      locale = "ia";
+      arch = "linux-x86_64";
+      sha256 = "1c4e50d2729479b2560d5e0f63b8fd0e2a44d4f151c0fc790524b235a2976b1a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/id/firefox-123.0b9.tar.bz2";
+      locale = "id";
+      arch = "linux-x86_64";
+      sha256 = "a7fd20ca4863aec142c179b2074c1992d51bcd4f5b2c21aafc9d13c576638c00";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/is/firefox-123.0b9.tar.bz2";
+      locale = "is";
+      arch = "linux-x86_64";
+      sha256 = "c31796101cfe306e3b329caf59fe121fd96a0b7f1a9a65e29240388fb30f66b9";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/it/firefox-123.0b9.tar.bz2";
+      locale = "it";
+      arch = "linux-x86_64";
+      sha256 = "d437b1c09a16c682420e0c307deac37877c076520189d080abf37ba19949122c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ja/firefox-123.0b9.tar.bz2";
+      locale = "ja";
+      arch = "linux-x86_64";
+      sha256 = "9a27423301caccb65598bf762e571d5edbe578407e10a713065787f5dd7801c3";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ka/firefox-123.0b9.tar.bz2";
+      locale = "ka";
+      arch = "linux-x86_64";
+      sha256 = "0ad72172cd6ca3b20350fe7c59f2058810d317cd2cb81eb7e8af19e504250a98";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/kab/firefox-123.0b9.tar.bz2";
+      locale = "kab";
+      arch = "linux-x86_64";
+      sha256 = "4a7409d8af232aa26de33799919f628b20c8ed33c790db16e3bfc7aaddfdfaed";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/kk/firefox-123.0b9.tar.bz2";
+      locale = "kk";
+      arch = "linux-x86_64";
+      sha256 = "158acf0a9fcdf3ff101b48e1aa7e6d59ff248de43cd64b2d7893dc98402abf9d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/km/firefox-123.0b9.tar.bz2";
+      locale = "km";
+      arch = "linux-x86_64";
+      sha256 = "fed48b52226b652c8bf225f29560a36baa55f3c6ea91381ddf06fc4e23f03609";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/kn/firefox-123.0b9.tar.bz2";
+      locale = "kn";
+      arch = "linux-x86_64";
+      sha256 = "0882f7afb3c43d878b274b5cb1f7e08e6852e3df3fdb7622d7a03427fae09fe7";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ko/firefox-123.0b9.tar.bz2";
+      locale = "ko";
+      arch = "linux-x86_64";
+      sha256 = "193650b946f896d2a530a0f7790d592451821c4e05fc9c4b34803a32ef17941e";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/lij/firefox-123.0b9.tar.bz2";
+      locale = "lij";
+      arch = "linux-x86_64";
+      sha256 = "5e84cca3ace3945886a5e37deedb43f5ce37ce321fa94a222e3f54b4935a416d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/lt/firefox-123.0b9.tar.bz2";
+      locale = "lt";
+      arch = "linux-x86_64";
+      sha256 = "63825af98467f6f783c8687f199307039c3a1343bb4fefd656b418fb1704a969";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/lv/firefox-123.0b9.tar.bz2";
+      locale = "lv";
+      arch = "linux-x86_64";
+      sha256 = "4f62dce67179b26e6696f52e186a95a7dc415929373d11098b34a60ca45c230f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/mk/firefox-123.0b9.tar.bz2";
+      locale = "mk";
+      arch = "linux-x86_64";
+      sha256 = "5eb45feb1979929538b0ad32417caa04259c16ce8f970178971945ba532dc138";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/mr/firefox-123.0b9.tar.bz2";
+      locale = "mr";
+      arch = "linux-x86_64";
+      sha256 = "14819b439fad588c9ba25e004c6357711094a9023bfffd82a35978a57beeed4f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ms/firefox-123.0b9.tar.bz2";
+      locale = "ms";
+      arch = "linux-x86_64";
+      sha256 = "35406a942fc8d87324349311998048a0e56379f80f3eb1e77079c93875295c1d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/my/firefox-123.0b9.tar.bz2";
+      locale = "my";
+      arch = "linux-x86_64";
+      sha256 = "3e3e5b486bb4e82fc7a1093634b712b3d2ca7931e61e8885ba304144ea8e9e01";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/nb-NO/firefox-123.0b9.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-x86_64";
+      sha256 = "54d62c9046f72c64c0ea620c5d950e56783fe5611ac05c0fab91c696a95ecc56";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ne-NP/firefox-123.0b9.tar.bz2";
+      locale = "ne-NP";
+      arch = "linux-x86_64";
+      sha256 = "124b00af69e7d0a0fb24773dda4c6b60c3f5d0a9c742581f8ea6a72e0b92e76f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/nl/firefox-123.0b9.tar.bz2";
+      locale = "nl";
+      arch = "linux-x86_64";
+      sha256 = "222707fbcb7eb0a8a75d167162e6ab4f4223d31a175beffe60688229f561920f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/nn-NO/firefox-123.0b9.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-x86_64";
+      sha256 = "f8d2132d32b74d90ace86b4850995f2e73012e51f5a52959ee76f5ec084fefd1";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/oc/firefox-123.0b9.tar.bz2";
+      locale = "oc";
+      arch = "linux-x86_64";
+      sha256 = "826fe08fda4432824b0cb218e0b97deda2753e2234d0fbb92f4f0a45812998e0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/pa-IN/firefox-123.0b9.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-x86_64";
+      sha256 = "7944d947d63faa0d61bf3c413e6853b61ab4873711426f5ae8aedc3f0da850b6";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/pl/firefox-123.0b9.tar.bz2";
+      locale = "pl";
+      arch = "linux-x86_64";
+      sha256 = "d0e65c2645cb1417899374ac0672c574789d73dce85ec4f29cef0cf11217ae46";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/pt-BR/firefox-123.0b9.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-x86_64";
+      sha256 = "79882a20b074a5a845d999fc75e748694030d8304b2ad5ffe52830095feea9d9";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/pt-PT/firefox-123.0b9.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-x86_64";
+      sha256 = "696d249fe7755322a646d3f524e01376fd8ef6ebed23af2ed7fbdbbe49fc6bb0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/rm/firefox-123.0b9.tar.bz2";
+      locale = "rm";
+      arch = "linux-x86_64";
+      sha256 = "bce959c6e1a70fe0bbe7f02e63539ab2a3918d3232a8b6016d1ea43b8dfdcca6";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ro/firefox-123.0b9.tar.bz2";
+      locale = "ro";
+      arch = "linux-x86_64";
+      sha256 = "5c00cb2104dc3b34334880d81de509bd4e74946d6c1fb0ef88b274bf20981790";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ru/firefox-123.0b9.tar.bz2";
+      locale = "ru";
+      arch = "linux-x86_64";
+      sha256 = "6d00c0e5f06f69b6664fbb691b3c6f0e16abe731dddfdc44e7d82fd3e448c96a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sat/firefox-123.0b9.tar.bz2";
+      locale = "sat";
+      arch = "linux-x86_64";
+      sha256 = "3ab036ef76664c1a36d72f04193e245fb226d4bb40ede7d2a3e7470225f3dc9d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sc/firefox-123.0b9.tar.bz2";
+      locale = "sc";
+      arch = "linux-x86_64";
+      sha256 = "f724aed24de459c4192087a3ef82bc3c3119a15bdb6e5cbbbfabd626fe6cee27";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sco/firefox-123.0b9.tar.bz2";
+      locale = "sco";
+      arch = "linux-x86_64";
+      sha256 = "c00f9bf2423f846e480c7fa866ed70f9abc4159ebb1caec9cc5e2989b9d03734";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/si/firefox-123.0b9.tar.bz2";
+      locale = "si";
+      arch = "linux-x86_64";
+      sha256 = "e667830c941084ba40ed9b221cac1a507f388eb33e666def99de41a1ae793938";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sk/firefox-123.0b9.tar.bz2";
+      locale = "sk";
+      arch = "linux-x86_64";
+      sha256 = "a6688dc13ec89142e38462d70b0619ccff78f663730e7c47c537f7606aaa9026";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sl/firefox-123.0b9.tar.bz2";
+      locale = "sl";
+      arch = "linux-x86_64";
+      sha256 = "66f0e2a272a6e3c0c3888f2709a1f587949dffc6c34df05d18593edbfe98d501";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/son/firefox-123.0b9.tar.bz2";
+      locale = "son";
+      arch = "linux-x86_64";
+      sha256 = "fc8c11061ac5dfd722320217af5b59075149e335e47c0de1d58fa3ca2b856d96";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sq/firefox-123.0b9.tar.bz2";
+      locale = "sq";
+      arch = "linux-x86_64";
+      sha256 = "79e89f51aa0e862ae0d7770df5d1983388e67fe5bad6d81af92a1b42a1560780";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sr/firefox-123.0b9.tar.bz2";
+      locale = "sr";
+      arch = "linux-x86_64";
+      sha256 = "ee9d58dafcfcb7053be2a2908a5f8a9e732e0d54e5db7cf33f3a5679d480214d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sv-SE/firefox-123.0b9.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-x86_64";
+      sha256 = "c1f518f1b7b77a61ef3e6556c91f96487218f65483df233a7f9923caecc07d7c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/szl/firefox-123.0b9.tar.bz2";
+      locale = "szl";
+      arch = "linux-x86_64";
+      sha256 = "58d672892449ce3eb72a1537cb4a8eedc1f0a8432ea9d3f58242421d0329be2e";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ta/firefox-123.0b9.tar.bz2";
+      locale = "ta";
+      arch = "linux-x86_64";
+      sha256 = "f7b4a0cebfbb62339b874fae0656905852ca5552d65845c0ecbbc930c5e5b287";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/te/firefox-123.0b9.tar.bz2";
+      locale = "te";
+      arch = "linux-x86_64";
+      sha256 = "d1049455de920ee08f40d8ebdd1143e32ed3de8be64a3e30ee2c32393f36bc0c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/tg/firefox-123.0b9.tar.bz2";
+      locale = "tg";
+      arch = "linux-x86_64";
+      sha256 = "44e4e4d48909408d342220fe1a883ccfd0d34a58976712503958fe2fa6f6c1b4";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/th/firefox-123.0b9.tar.bz2";
+      locale = "th";
+      arch = "linux-x86_64";
+      sha256 = "693603e33504925b50dc3fc497498c2d5f99532b101f8f6d9dbaa0f94d377c2d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/tl/firefox-123.0b9.tar.bz2";
+      locale = "tl";
+      arch = "linux-x86_64";
+      sha256 = "ea13c9359ecea4430a26d54b3e32648163f30170c5619316902dfc0d70c8f169";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/tr/firefox-123.0b9.tar.bz2";
+      locale = "tr";
+      arch = "linux-x86_64";
+      sha256 = "41a011778c309257e6bee228a2a28358c0b0672a510411b7fbdf100f5eea7f18";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/trs/firefox-123.0b9.tar.bz2";
+      locale = "trs";
+      arch = "linux-x86_64";
+      sha256 = "47567f4a6137d887dd499a46a46a4d544f0ae34431fcbe9fa4b0951378e51547";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/uk/firefox-123.0b9.tar.bz2";
+      locale = "uk";
+      arch = "linux-x86_64";
+      sha256 = "1a66ec77a6ae077747adcd18f655ab40129cd205063318a2e0b2a1349f2d5ea1";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ur/firefox-123.0b9.tar.bz2";
+      locale = "ur";
+      arch = "linux-x86_64";
+      sha256 = "b209892f4e0efd73cc2c573c146b1a876afac6ab905528d03199ea392f765b79";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/uz/firefox-123.0b9.tar.bz2";
+      locale = "uz";
+      arch = "linux-x86_64";
+      sha256 = "948832b99dfd27f52d10131687fefff725b496e762af1aeb8cf1b5380c3f257f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/vi/firefox-123.0b9.tar.bz2";
+      locale = "vi";
+      arch = "linux-x86_64";
+      sha256 = "1b42542544b464550934034ffb053ccde15c35f88b9b7cf21e72320d293704ef";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/xh/firefox-123.0b9.tar.bz2";
+      locale = "xh";
+      arch = "linux-x86_64";
+      sha256 = "5706b918757b868dd40d3ce4fe1016a2bd8d26f69f92a4d173a4e7cd6373d3b7";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/zh-CN/firefox-123.0b9.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-x86_64";
+      sha256 = "92d4b507b9e778d1d0d843360670f5310c8fc0b25ab19c34debc58089bb77b26";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/zh-TW/firefox-123.0b9.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-x86_64";
+      sha256 = "5fee9e93603176d7bcd11f2fd102ce92f282f03d656258ddc4152e3d0e082206";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ach/firefox-123.0b9.tar.bz2";
+      locale = "ach";
+      arch = "linux-i686";
+      sha256 = "d5b7faca62980eb60b3f5b15740d3edeb615bef6c8c4fcd2198f9de8360b4ae1";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/af/firefox-123.0b9.tar.bz2";
+      locale = "af";
+      arch = "linux-i686";
+      sha256 = "c70b956ba12f810903468435484316e72430c8de70777f3092a5c36e24fccdd9";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/an/firefox-123.0b9.tar.bz2";
+      locale = "an";
+      arch = "linux-i686";
+      sha256 = "a4fbd6546609a81c127764effd2f642baf0a1b11bb976c213282537b11650054";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ar/firefox-123.0b9.tar.bz2";
+      locale = "ar";
+      arch = "linux-i686";
+      sha256 = "9c21f5f486463a11361eabec3629c72f0556eb82837c84953657896d6e86c61d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ast/firefox-123.0b9.tar.bz2";
+      locale = "ast";
+      arch = "linux-i686";
+      sha256 = "222abf96275b10413eed5560588752a40cd69e60220b3e18ebcff1d76511ffe6";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/az/firefox-123.0b9.tar.bz2";
+      locale = "az";
+      arch = "linux-i686";
+      sha256 = "4f4f4dfc6853cbc4de7caa92fccf55bfdf128b1c9294d1f8d54473723a188082";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/be/firefox-123.0b9.tar.bz2";
+      locale = "be";
+      arch = "linux-i686";
+      sha256 = "4a8f94dab3f4317be256a9b202a0059de09393131dfac14bd3c9672fbfd187d7";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/bg/firefox-123.0b9.tar.bz2";
+      locale = "bg";
+      arch = "linux-i686";
+      sha256 = "a245fdd791d2ebd7bf32f182978c7ad451993de70a5c9e82b4d75c5301f5a00c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/bn/firefox-123.0b9.tar.bz2";
+      locale = "bn";
+      arch = "linux-i686";
+      sha256 = "15f5541fa3532e98369b6754cc5196ba3b94f180f1651292bdca1d0e58cfe041";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/br/firefox-123.0b9.tar.bz2";
+      locale = "br";
+      arch = "linux-i686";
+      sha256 = "01767e0407d7416fb0a1ce8114e10da18893e03bed3773493d6146bebce8439d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/bs/firefox-123.0b9.tar.bz2";
+      locale = "bs";
+      arch = "linux-i686";
+      sha256 = "56a7013307c7bb92f7b2b58621483ae2a4d1c703f21c382e35c3a4d3b0be3445";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ca-valencia/firefox-123.0b9.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-i686";
+      sha256 = "d6f72828573337de0048a7bb27edfcfee2b2c24af0ad828b250a2014a5d0d16c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ca/firefox-123.0b9.tar.bz2";
+      locale = "ca";
+      arch = "linux-i686";
+      sha256 = "6f496b9fd37151cb33e313fe910b35fc3548f6dbb58b663ed43094c2f46e4ab0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/cak/firefox-123.0b9.tar.bz2";
+      locale = "cak";
+      arch = "linux-i686";
+      sha256 = "f10e8923587fced7c5eb50b47da372039af7b98bef57b5bd904e00e321c4a8fc";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/cs/firefox-123.0b9.tar.bz2";
+      locale = "cs";
+      arch = "linux-i686";
+      sha256 = "b60ecd19158cdaf486c648c0df57064a7fdb293c99b39a1cbbdeb67b51e51942";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/cy/firefox-123.0b9.tar.bz2";
+      locale = "cy";
+      arch = "linux-i686";
+      sha256 = "6e158fba363bf2ee757be59b8e42e49bd56c7967765cd552138e162de9b30173";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/da/firefox-123.0b9.tar.bz2";
+      locale = "da";
+      arch = "linux-i686";
+      sha256 = "848c6a2e972cf3375cbcfb1a7c1d47764e050b29d4dfa05c4cc9ef57e2a5aca2";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/de/firefox-123.0b9.tar.bz2";
+      locale = "de";
+      arch = "linux-i686";
+      sha256 = "3f8b0ee49170ac754a74d6090f9ca1bae858ba8069c30bd9d99854a749033b03";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/dsb/firefox-123.0b9.tar.bz2";
+      locale = "dsb";
+      arch = "linux-i686";
+      sha256 = "75c46c7420f3f9de7d7a522dffd0019eb791e092ca252410e6289830da7a0fc9";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/el/firefox-123.0b9.tar.bz2";
+      locale = "el";
+      arch = "linux-i686";
+      sha256 = "39d6d51f24710e964364130f06eb89bba9b6a0efcc1bf862f68c7b54595c5f28";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/en-CA/firefox-123.0b9.tar.bz2";
+      locale = "en-CA";
+      arch = "linux-i686";
+      sha256 = "b10311d4fc84724d91fe9bd2f3ebcac025c90ac8bc4809de965f2874312cca2c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/en-GB/firefox-123.0b9.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-i686";
+      sha256 = "45be86794e5e0cf782c32dce00bff43b9c1d89d5302f43d03ae51c26fd7b913b";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/en-US/firefox-123.0b9.tar.bz2";
+      locale = "en-US";
+      arch = "linux-i686";
+      sha256 = "6c25b73f6d78a7154cd386656f1093a77b2c7be62bf2a30127473d510ddab00b";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/eo/firefox-123.0b9.tar.bz2";
+      locale = "eo";
+      arch = "linux-i686";
+      sha256 = "5aafa1ee1793ceddd7e9354607fa00c6c895c53729e6baafafd7ab6c3052d0fd";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/es-AR/firefox-123.0b9.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-i686";
+      sha256 = "b2e4ece1f06460d704df6fc1a74b3db56185cfadea8142f4a4f7416ea04e4108";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/es-CL/firefox-123.0b9.tar.bz2";
+      locale = "es-CL";
+      arch = "linux-i686";
+      sha256 = "2832dae2d6ed9fad73e7891be3f25368c0d7c77722a570615c0c50d7c2190f20";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/es-ES/firefox-123.0b9.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-i686";
+      sha256 = "5203a071411aacbc5977c2d527f0442a03db4857dbb49b74fd0aac4ccdbb4bc3";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/es-MX/firefox-123.0b9.tar.bz2";
+      locale = "es-MX";
+      arch = "linux-i686";
+      sha256 = "7be2064fca8828fe797d630bfa98ffb4a3e9392968e13f80484881e93419d4db";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/et/firefox-123.0b9.tar.bz2";
+      locale = "et";
+      arch = "linux-i686";
+      sha256 = "bdf7c7faed05828548c9ddddd4769e004d5efabbff4d99fcff869e2cf9a5d78d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/eu/firefox-123.0b9.tar.bz2";
+      locale = "eu";
+      arch = "linux-i686";
+      sha256 = "eeb1cdeb9be1671032e8e49973b30e8d7107b1ee546bc2622da1b2cac9a2d96c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/fa/firefox-123.0b9.tar.bz2";
+      locale = "fa";
+      arch = "linux-i686";
+      sha256 = "621e2a6e331428f5bd6f7fbf629b9a8847d18c5cdbaea039674176ddc8ddb230";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ff/firefox-123.0b9.tar.bz2";
+      locale = "ff";
+      arch = "linux-i686";
+      sha256 = "b46eba6c387dcc6db00a8112b669d3131db54623fa34ebf7dd578a910ed5e962";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/fi/firefox-123.0b9.tar.bz2";
+      locale = "fi";
+      arch = "linux-i686";
+      sha256 = "999f38f9455b4cae8235c4c2c603082c3f2f2c91d4fae642648c21abd57bb812";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/fr/firefox-123.0b9.tar.bz2";
+      locale = "fr";
+      arch = "linux-i686";
+      sha256 = "e9c550198754a73e1e77c118dcf0721d4b2189b9c6d95a25c0c23ac67b9eb2a6";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/fur/firefox-123.0b9.tar.bz2";
+      locale = "fur";
+      arch = "linux-i686";
+      sha256 = "9725c3a86ff48f57c192d74fc47809bb068198e674e5bbf29d6f96613804622b";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/fy-NL/firefox-123.0b9.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-i686";
+      sha256 = "80d708621a4e582aa0346e6186cc72132e1f7339602695b9ccc56d7f7b66f898";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ga-IE/firefox-123.0b9.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-i686";
+      sha256 = "6861ae229bd89b194be861547d8b37ef211724184cb110f63f39465af3f71fa0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/gd/firefox-123.0b9.tar.bz2";
+      locale = "gd";
+      arch = "linux-i686";
+      sha256 = "43390f95044485b488af1b4dd648d777fac151a28e9f060225861a893f26b0b7";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/gl/firefox-123.0b9.tar.bz2";
+      locale = "gl";
+      arch = "linux-i686";
+      sha256 = "e5f13c039545316bb38237a2e0badcaa3aaadeb5f3298a5525f346a48efd7a59";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/gn/firefox-123.0b9.tar.bz2";
+      locale = "gn";
+      arch = "linux-i686";
+      sha256 = "43603cf647819b22012f4bce67b1c2548c597a979d62ab1291b1654defe526fb";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/gu-IN/firefox-123.0b9.tar.bz2";
+      locale = "gu-IN";
+      arch = "linux-i686";
+      sha256 = "a1864886796967107fbff53bed131872c8daee83c5670cf0adbcbdc9708c7b9e";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/he/firefox-123.0b9.tar.bz2";
+      locale = "he";
+      arch = "linux-i686";
+      sha256 = "b9d93f9a2a318c58ddb5a7553ed66522669fb8b990deffca2b9a910f29f3a3a0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/hi-IN/firefox-123.0b9.tar.bz2";
+      locale = "hi-IN";
+      arch = "linux-i686";
+      sha256 = "864d372271465d592541266902d79fbb1597e8f551aa2d74c8e621edd0bc848d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/hr/firefox-123.0b9.tar.bz2";
+      locale = "hr";
+      arch = "linux-i686";
+      sha256 = "159344a6ee5f75450c24e77459a708d9a00644d0dae25839c050e680ebb309fd";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/hsb/firefox-123.0b9.tar.bz2";
+      locale = "hsb";
+      arch = "linux-i686";
+      sha256 = "35438801c028e16e91499d5d6181c28f7381f9ea3b303d1fd093d671b2d72fa8";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/hu/firefox-123.0b9.tar.bz2";
+      locale = "hu";
+      arch = "linux-i686";
+      sha256 = "14536367e6fccf1eb40707c099f61afd24ad725c6e632a68c6f3882a05a74d72";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/hy-AM/firefox-123.0b9.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-i686";
+      sha256 = "0dbf1390d37e3a3f1c02f704cb16bee1a5637ba6c0a9e8f2e701422a351f07fe";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ia/firefox-123.0b9.tar.bz2";
+      locale = "ia";
+      arch = "linux-i686";
+      sha256 = "d98cdc377bdc432276ffd4765c9f28735a96c42615dfc972b0ba518d1ccaf475";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/id/firefox-123.0b9.tar.bz2";
+      locale = "id";
+      arch = "linux-i686";
+      sha256 = "7cdf79ce023b07ee0168dc355ffebe67b20b750a5c394d5d7fea359d1b0360db";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/is/firefox-123.0b9.tar.bz2";
+      locale = "is";
+      arch = "linux-i686";
+      sha256 = "29d5ed44417d2de01a3a57afd87822e957e10fc0fd8f2541723352e26576737d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/it/firefox-123.0b9.tar.bz2";
+      locale = "it";
+      arch = "linux-i686";
+      sha256 = "a141fba436222a01b83715307d2df0d04e325e939ae9f30ab46f3bac47af1b53";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ja/firefox-123.0b9.tar.bz2";
+      locale = "ja";
+      arch = "linux-i686";
+      sha256 = "5c5035b739bc69efe83401f457cabccae0dfb0ff8614374138937f0f01262ca0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ka/firefox-123.0b9.tar.bz2";
+      locale = "ka";
+      arch = "linux-i686";
+      sha256 = "3733c734edbd6f819df7ce2043e68b1cdddbcbc861422dd973aa3f0e79e19398";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/kab/firefox-123.0b9.tar.bz2";
+      locale = "kab";
+      arch = "linux-i686";
+      sha256 = "d399a74c88bdef9109bde5402ad5cf636a88dc79c0f548c98155b8690defce7f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/kk/firefox-123.0b9.tar.bz2";
+      locale = "kk";
+      arch = "linux-i686";
+      sha256 = "559c3572225d355f066eab3fa773ac5ca92df6e950befbf20bc2e979e9def16f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/km/firefox-123.0b9.tar.bz2";
+      locale = "km";
+      arch = "linux-i686";
+      sha256 = "3b3596094c8146d4b661557d468cf3812a31cdd26cc1463cb4e727b4060c65a9";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/kn/firefox-123.0b9.tar.bz2";
+      locale = "kn";
+      arch = "linux-i686";
+      sha256 = "b4fb29401f943367acf87a528ee447802b6fd65c2e98067a71691d6a257a3e68";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ko/firefox-123.0b9.tar.bz2";
+      locale = "ko";
+      arch = "linux-i686";
+      sha256 = "f31ae59ccec46036b2e6699491ffee5efb9d563614a4686faa6c23a437e4a193";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/lij/firefox-123.0b9.tar.bz2";
+      locale = "lij";
+      arch = "linux-i686";
+      sha256 = "a499dad5db3023d4547e44e7bdf8631a11fade8cccbc140c57fe0399b976d247";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/lt/firefox-123.0b9.tar.bz2";
+      locale = "lt";
+      arch = "linux-i686";
+      sha256 = "d395907a24ae9401eda5e89e44eb143930a4ddd7f131029fb64c65fc3b782c75";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/lv/firefox-123.0b9.tar.bz2";
+      locale = "lv";
+      arch = "linux-i686";
+      sha256 = "7f5c5fc4cd1b5d5f5b1ce20a5b4830084044594d5a2cda5809467b25e318c6b4";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/mk/firefox-123.0b9.tar.bz2";
+      locale = "mk";
+      arch = "linux-i686";
+      sha256 = "cb2289e5ff3d65b86b60a6cc31e441ed4a59a28b9dbf4a17f96c7751f739e7ae";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/mr/firefox-123.0b9.tar.bz2";
+      locale = "mr";
+      arch = "linux-i686";
+      sha256 = "15f8376b39bc3cef502cd7ba63c44686d9eeff13a60ccde81915d86f8aa96842";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ms/firefox-123.0b9.tar.bz2";
+      locale = "ms";
+      arch = "linux-i686";
+      sha256 = "a8db595f7d8684ce59ac1188a4d54f12e40d267ed64443306a08305eb00b6d66";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/my/firefox-123.0b9.tar.bz2";
+      locale = "my";
+      arch = "linux-i686";
+      sha256 = "6253df53d97bd0890d0d30b9b626bd9132aad600b7cc5f6fa7dd41b73c56dc92";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/nb-NO/firefox-123.0b9.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-i686";
+      sha256 = "c624fc4d2d7c71fa360c107fce1492171791951051a282407563f2ee7baa894f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ne-NP/firefox-123.0b9.tar.bz2";
+      locale = "ne-NP";
+      arch = "linux-i686";
+      sha256 = "3821c7294cf880d6908eee8aaa7041eebc5b5451f206dbc8335f1ddfee0569c0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/nl/firefox-123.0b9.tar.bz2";
+      locale = "nl";
+      arch = "linux-i686";
+      sha256 = "9edb7e9fda311c1cd2ad27ed90a1d7afd17dce9bb50cfff0d0b849ac5f61fb4a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/nn-NO/firefox-123.0b9.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-i686";
+      sha256 = "3e299af60c6a2445dc7b2455bf472366edc038942e08f98a77909a62bf370df5";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/oc/firefox-123.0b9.tar.bz2";
+      locale = "oc";
+      arch = "linux-i686";
+      sha256 = "689680bde0000192dfd7ee9eb05b445ae4a01b5910ab97e155de359afb50d11b";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/pa-IN/firefox-123.0b9.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-i686";
+      sha256 = "50b0a472403ecfc93c08857d48b94a9037be91d01f6e36e89520c0d3da671329";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/pl/firefox-123.0b9.tar.bz2";
+      locale = "pl";
+      arch = "linux-i686";
+      sha256 = "e79749dd60a0e0fe2887ca0078f21308cfa85fec649107e6488959068c6472b5";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/pt-BR/firefox-123.0b9.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-i686";
+      sha256 = "d852b69c0468ddc10884d9ec147a5f90ad73ffbe54b94fa7207d82c9db95e8d1";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/pt-PT/firefox-123.0b9.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-i686";
+      sha256 = "206de8f529a10a91d46f809291928f22f8cb62b20f09b530af018f5048a3398e";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/rm/firefox-123.0b9.tar.bz2";
+      locale = "rm";
+      arch = "linux-i686";
+      sha256 = "3e3b056fb6a27d45846bdf4ba4eb96443b2cf6c3cc20aa73b3c8fdf4a3a3240f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ro/firefox-123.0b9.tar.bz2";
+      locale = "ro";
+      arch = "linux-i686";
+      sha256 = "a2e6c29e9bc97898a4c9c2e8aa2ec5f5305095bbcfd814c919437028e7082805";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ru/firefox-123.0b9.tar.bz2";
+      locale = "ru";
+      arch = "linux-i686";
+      sha256 = "17db05c3fa9d7fc1ffc70632f0b30421af231a04db4f19ef0dccd7b89ca15710";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sat/firefox-123.0b9.tar.bz2";
+      locale = "sat";
+      arch = "linux-i686";
+      sha256 = "c2535de224f7c9261dda2ead53742d5117bd6d5ab069dfb659edd2b86fcdd336";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sc/firefox-123.0b9.tar.bz2";
+      locale = "sc";
+      arch = "linux-i686";
+      sha256 = "2eba84b27c6acc4c8767f96656ea341ce210ad51b7ef069fd4693ee9f009618f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sco/firefox-123.0b9.tar.bz2";
+      locale = "sco";
+      arch = "linux-i686";
+      sha256 = "9c7c477c45438bf8841aa5b0801d11cdf574ee8369b865c95121a1b63fb7d268";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/si/firefox-123.0b9.tar.bz2";
+      locale = "si";
+      arch = "linux-i686";
+      sha256 = "ae6b6dbba8135d2d5676271e37e01c139c02cfe7c8bd7eb55e952939223b7fda";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sk/firefox-123.0b9.tar.bz2";
+      locale = "sk";
+      arch = "linux-i686";
+      sha256 = "c92005529dbb54b1598f412058febd27358a20cb1d3d46f250eca6af800b5be4";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sl/firefox-123.0b9.tar.bz2";
+      locale = "sl";
+      arch = "linux-i686";
+      sha256 = "6a76bcd6c51f6a599cccafda51e08c6ecc866b24f62994c6d961f7a9a6663afe";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/son/firefox-123.0b9.tar.bz2";
+      locale = "son";
+      arch = "linux-i686";
+      sha256 = "e906c6797eab19b1df53a463a6498ddec5879c8eb39efa2bc1269e83ce3ca3cf";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sq/firefox-123.0b9.tar.bz2";
+      locale = "sq";
+      arch = "linux-i686";
+      sha256 = "56f2847d3e3621fbff9da5c39f7189111e98588071cba30e5795a5084c73aa3a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sr/firefox-123.0b9.tar.bz2";
+      locale = "sr";
+      arch = "linux-i686";
+      sha256 = "daed8402ef089177c7aa739220a2c45c2b8f1849f19bb73e1a924327b5d68898";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sv-SE/firefox-123.0b9.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-i686";
+      sha256 = "741aa4c673fb743481c896873fb1614ea58386e8ddc9f52641bcee04ddd6fcb8";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/szl/firefox-123.0b9.tar.bz2";
+      locale = "szl";
+      arch = "linux-i686";
+      sha256 = "4e86d7a26230ed3fc30f949468f600f3e2b0e1b59e860babe8bef9eae14d05a0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ta/firefox-123.0b9.tar.bz2";
+      locale = "ta";
+      arch = "linux-i686";
+      sha256 = "8b9867d32991813d1eced67bf218428e013d68513cf881e774708a0bd141c9c2";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/te/firefox-123.0b9.tar.bz2";
+      locale = "te";
+      arch = "linux-i686";
+      sha256 = "7350b9e762ce041cbad68d3e9d012e4a37e370d3eaf2ab2dee0a557464cda199";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/tg/firefox-123.0b9.tar.bz2";
+      locale = "tg";
+      arch = "linux-i686";
+      sha256 = "2804dc0ae94e28757c67a3acf139eb2f55a857ee9f5f106e8b1ba0683c432a99";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/th/firefox-123.0b9.tar.bz2";
+      locale = "th";
+      arch = "linux-i686";
+      sha256 = "e43f2fcf8a868263d261385e8c9b77589f214f79bb73666f99033d7f3b5e9ee9";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/tl/firefox-123.0b9.tar.bz2";
+      locale = "tl";
+      arch = "linux-i686";
+      sha256 = "a69051c98978162f86c3e98853fa8b93d0467feb33367d70581edd6ac1c593e7";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/tr/firefox-123.0b9.tar.bz2";
+      locale = "tr";
+      arch = "linux-i686";
+      sha256 = "3f1bb142b426efe2ecbd01afd64dbcc37e7309726713254e0c05cb040af1b409";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/trs/firefox-123.0b9.tar.bz2";
+      locale = "trs";
+      arch = "linux-i686";
+      sha256 = "31bb39d12ade69d19b100161f65e33bc5df673367bb1c2b964a9bc061a7c18d8";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/uk/firefox-123.0b9.tar.bz2";
+      locale = "uk";
+      arch = "linux-i686";
+      sha256 = "b9c6b5931a5c0fdf1bf64b9f13c4f952215984915d6d5955e2b4b4d2b323fcbe";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ur/firefox-123.0b9.tar.bz2";
+      locale = "ur";
+      arch = "linux-i686";
+      sha256 = "60724aa523d0fbcfaf1a9d33c6d972c93b1c0a770b225d1218fb08878b945970";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/uz/firefox-123.0b9.tar.bz2";
+      locale = "uz";
+      arch = "linux-i686";
+      sha256 = "7a927c6a5c94c92934ee89105d657bf60363a41fd38d78471155e5b0d8d135a8";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/vi/firefox-123.0b9.tar.bz2";
+      locale = "vi";
+      arch = "linux-i686";
+      sha256 = "86e5b0c7fa84265c5d2aff9a6a320cc50d0ced072c4d5d0255df9d83ec110fdf";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/xh/firefox-123.0b9.tar.bz2";
+      locale = "xh";
+      arch = "linux-i686";
+      sha256 = "7ac828f9e5848962534f3c084c58ee81f4b77d51a62b1d6101074cb0f1bb3f8c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/zh-CN/firefox-123.0b9.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-i686";
+      sha256 = "a52d18b69e11343cd7cd4b669541b022a60665fae420d1ce87d5b43ea0ecf27a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/zh-TW/firefox-123.0b9.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-i686";
+      sha256 = "badf91e9a7dfe5147849676f96f737177c0763611f1dcbad8edcc8ad5e33838e";
+    }
+    ];
+}
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 2b1b4948ae3e..e28a25b86c26 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,1025 +1,1025 @@
 {
-  version = "122.0.1";
+  version = "123.0";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ach/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ach/firefox-123.0.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "87d2fb3c8ab5b05dbaafabadde9e56abecb3897d331186cdaf6fb1fe27cb362b";
+      sha256 = "77690237d2a6050cc3ecd4886ee55034e481354d36946ec89b6ff0762c2c5270";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/af/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/af/firefox-123.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "8f478df085d0312e7fecf76057b3e006c3c1297bcb620957edac97084bc87466";
+      sha256 = "28612fb2d6bd49dcb85fe6738a8a576d25c189ce024d927011e387571b43d732";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/an/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/an/firefox-123.0.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "310341a1d14cc978d855e30abac4af29538e70afc90f9f50510597de6864b570";
+      sha256 = "ab47c849f70dd52ce7fcc319f5769b9afe8144040f7422f7287d3602afae847d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ar/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ar/firefox-123.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "054475b5c77c452062d89c37617fc0f6cffdf8786ee149bebabb55a2348348f0";
+      sha256 = "0e474420f3df5c718838c07cad174ef3191411067cfee5f437867998bc581ead";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ast/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ast/firefox-123.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "c8a6ba8934b1b9161c68749d6585ebdb3c561fe8c0e5c3abb91862c963e4319e";
+      sha256 = "b4aca6f686fe49aade22efa36afc78d7dd0b0aad7c09c56d9fce92ae011588fc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/az/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/az/firefox-123.0.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "9bbd6a72a86910c51b99b82521bd3af8b045b470079349f6491369aed2c2c6c5";
+      sha256 = "09572fda80350c162dc8f6e70435cf4e6bf1bb5161757dca6dc2d19b499fb796";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/be/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/be/firefox-123.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "3a1fb23201159ac602c7441b9003a128c1c42f82564285739ddffe911cfaebf5";
+      sha256 = "1d8f6a5f6077c39f681b9543f765ee8dc4f3d13ea9eaa2eec11a69bd27410a6a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/bg/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/bg/firefox-123.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "fe7a0de5955d5d8d7f07550a2285110f4efc4a8dcc42a3a4454d3f5e4b535b7f";
+      sha256 = "71f82368afcc01ffb712d671ae25c93541fa4edd996640a0a096ef268718efb4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/bn/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/bn/firefox-123.0.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "6c9710e8addf0476ce6848136eb3ef4e95c65ac2e31c1f5894e427ed670a2bf1";
+      sha256 = "b1ede0a5dde692b1ad533c2ce58133e634f82d21d4056548238d0a66af410602";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/br/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/br/firefox-123.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "b5527d9fde97249e45d1a8b3803c1afbb7afd233ded8a2782c0784176c964411";
+      sha256 = "e746842328f1b6e7b1a83d2d2438dd13fd2862a9c28070903eb7f19a90816a24";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/bs/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/bs/firefox-123.0.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "9120cfe7387e4d9e7326aa8528c412195c5dc71eb28f38547d06b50ae3b3ea72";
+      sha256 = "9e153086f4a5ac8221f57293543395b2f725a1734b8f91281b0262900579f3f4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ca-valencia/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ca-valencia/firefox-123.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "ad08b8988eed1f8e863f38489425a3c22baf5592d30a9a3aef483e5e79cbeb6e";
+      sha256 = "76526bae8aa35f74af801fa8958a6c7a496411bed119462f04de484b6f8bcb89";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ca/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ca/firefox-123.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "b3e83eec3ee87adbce9d71454fc5d724b978d2be8547e4290586583f792fe943";
+      sha256 = "7e651a5e0d18f3772795f93d7c24559a359eb8a541ecb665f9ec74160109ecd2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/cak/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/cak/firefox-123.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "e533367b100edec15744200bab031d4ea209950022cbead53182b5848ecc962f";
+      sha256 = "6f030b32bdee05b653bcb877a0e236cb28ec0d25db0188cafdac8da7ca8b50a0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/cs/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/cs/firefox-123.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "9170ab278d48571e17ac97d26f4b92cee13d6a7bebe96dd2f2b41934bba6d6a2";
+      sha256 = "946c4eba95b2d013984b4014094551e55facf2eb15193cbd83b946712ef87883";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/cy/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/cy/firefox-123.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "a17f5c48be514e815a4f590f23dac58719dfaaa4cfd422406bfe349ee77cb105";
+      sha256 = "dd8c850d60fec75c66e53eaf23cd341caecd34dadce3c1d2e842780444c51669";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/da/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/da/firefox-123.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "bda93ef58e555bdd42bde9e06441109ec756964de5e28e64eda09f27de8af736";
+      sha256 = "cc444c35225c789dd672e1c95e16277c56e68e26a95a076f4c19ef0e9e1e7f29";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/de/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/de/firefox-123.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "9922a6f2773c57e20348f3fe7c3992a4f4940ecc7eb9b1dd3465a9ec91095083";
+      sha256 = "6f039544067b34ebea06a810496eb339b41708d4d334e0497cc78f06b58240a8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/dsb/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/dsb/firefox-123.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "f05a2d8fa31ae73d40e95171902fe231091043e23ebc6765a2e1817c2cee150b";
+      sha256 = "8e74c65fee96a2f94ce7d9a979d5bb731556eb59e9bf28aac2ebd5b77e28e623";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/el/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/el/firefox-123.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "d54bb7bfe7d0b4419429ac94dc3de14a302b44815d4e421a07850e97bce0544c";
+      sha256 = "4b829b5a8abe7bcc1f3ef5b7114fc449bf6af856e748dbeeff9cf3ada78be80c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/en-CA/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/en-CA/firefox-123.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "90bf34f39f1994d95620da4dc9ab7a9c158058f7fd4f8513b98faeac4e492270";
+      sha256 = "862c3ec0271805f2d1f161c03916ef26a2881f612834d0143ca81d6833bc2bff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/en-GB/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/en-GB/firefox-123.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "ba7e41efadd6c562a82007934d3bb8d7fb0e144e57c427973d02b2ded9df6a04";
+      sha256 = "04e04c8b79ffb71ed2dea4065686ae77122091a03a39ed410169e2e04b4a1369";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/en-US/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/en-US/firefox-123.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "1c502c15f71bb729e6506667c32de525849d6571f4a3a21e5b02fc08312b20e7";
+      sha256 = "99f86e24eacbaa429e5438bfc0b21e411ff1f8be95fda9800cbfb9c4ed0dc095";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/eo/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/eo/firefox-123.0.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "ab5afc9cff7bcac9e85dbf2b09f4b3ad53bdc89e979490d30b055eed21736cba";
+      sha256 = "f309857e8a4d501e65bd0a87445c328a11c57b94ca6d66ccbeb88fec5dc2a380";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/es-AR/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/es-AR/firefox-123.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "7675c6a57e611488d0261eebd459e92964f89e82089935857b6988ba9a7c9cc3";
+      sha256 = "5fed56d99290a19f05498e05316dcd2254237d4bd5541ead3d9332ba01b623ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/es-CL/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/es-CL/firefox-123.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "a05422ec2138dc17caa34df9b62e39034c3acd34ee80f9933a469a1729629900";
+      sha256 = "9d88c7e873eb015546cb408b1699350843348307a27d045c7e7ab3db31be6c63";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/es-ES/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/es-ES/firefox-123.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "755c91a99272198b9eacfc6e3bbc25779cad7023de2c20f8c7668894f0402c00";
+      sha256 = "66a979e75f0f327044de1cd2e22b205ff52d8a7ec03ae1c86a03a0a4de9fff64";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/es-MX/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/es-MX/firefox-123.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "3c879c3a04dfc3af235963fb48f822383e3f35132c4d4aad7d498de12314a039";
+      sha256 = "2cf18e2d9f1a7e5b749b9c883a46a37c62244fb13296dfdaceec76d3d66b6361";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/et/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/et/firefox-123.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "2051ddebd23a9472bd00ddbd17284d1a54c5f4fed5aac551a8bb3a7c00219407";
+      sha256 = "e06221a02677b6c233932255202939ef1210bb78f1d5cc955b77dcf73c2b815c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/eu/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/eu/firefox-123.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "741782b9c5148b7c75cad4af2bd09494dc13a27c314d2aa597121485b80f5b92";
+      sha256 = "186733233d4ce2d1fd91594de643ec6d90c29401fe3912ebae131456e768cfa8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/fa/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/fa/firefox-123.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "06da8e5ae2e43a1f288c6c9c600c6b4756e47cff9e8f7289c5fd3b7fa905f698";
+      sha256 = "f40df5cae1f5292a8bf220a4a8ed506c51b45bd2d0bfad2d23abcddc676a05eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ff/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ff/firefox-123.0.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "9590a1c0d162b261ff95f6d9091bf01596945b4ab805620ba142635490c592b7";
+      sha256 = "d1db403302df12becaebfb3ced39cd22010cddcb737bd356e7694ada3c1498ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/fi/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/fi/firefox-123.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "1c658c356e27da1258c6c0ab9fbc14b60e606079ad6efad5c1f98f900bb40689";
+      sha256 = "6e27e43bcedc9319f8395b76523d138c31cd4f3bf13d11f6e2175b83f95797ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/fr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/fr/firefox-123.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "bfde4cb740bdd5db0e76a96bd6bf8fe51e2c0e27d01a617d3156231ad044f9f4";
+      sha256 = "81eecfb5a5fcd8c4e3d845de2a40d64b12af8c55cc1982508a3f695696217704";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/fur/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/fur/firefox-123.0.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "9d5e9438572e029e7686ad037a68bb9df6818e4277bcdf7c26b80658b7d48733";
+      sha256 = "06b571761ff3d1c8e444ff8bd4585011f9abf0a78a8e23f632c79e1bcd769eed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/fy-NL/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/fy-NL/firefox-123.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "8c33e40731d948a80500562ef8734e8637c94a7e3f46960622cf5ac993ac7188";
+      sha256 = "06c1297da763e6619e6fd74d16ed33368692902868d44befa019904931ebde44";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ga-IE/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ga-IE/firefox-123.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "82423f4bea377e33145a3a3924313fda11bded9bf20f3ebca16e945bb0f0d295";
+      sha256 = "caa2f774926b4b544b9cba93864e04a1c6d53da0619c4599edd3def3021f0ad5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/gd/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/gd/firefox-123.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "ffcc242c45924a48506d5bc1946981068fd9f44919d85badeb8164dc827f9bef";
+      sha256 = "065b787c59a7ffa4370467aeed0d43d133530882e0b142f631119c000093ebba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/gl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/gl/firefox-123.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "a52969ff57c55e3ff699830b057b28a4385f7445cdedac7d5a40676bc12b588e";
+      sha256 = "d67ff0cafae8f213810724c12614fd27f53c90f537bc2d45e8003413c20a3ee4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/gn/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/gn/firefox-123.0.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "f88bebb932b86954aa653acb0ad41b94eecf6f7e175248aa1d00ea2590bd35e9";
+      sha256 = "c41093e82346f6cf48b964fb6bad95388af26a391a566ba1b86809b4c792f8db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/gu-IN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/gu-IN/firefox-123.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "f887c108bb15eef8eedc36e072fe722acdd40d679d9047a3baaa376233371f34";
+      sha256 = "2066acdee48e92b50de8f6957e473cedc47493c5dc8faea08b3ccfd370d6cf4b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/he/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/he/firefox-123.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "420af3bd36a698d513d3505e06e8fcfc966281d25f92c22482e680e3ace16cb5";
+      sha256 = "6ee8fcbb528948f0ce5a4eaaab17b396f4339fc1f0092ed54bb9cd9ae8481d6b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/hi-IN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/hi-IN/firefox-123.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "ef5fa866483a47a8f6653071d13e98a2bb2c0b393b91ba65bfb8cea63c4ad3b7";
+      sha256 = "cb68fc42008b86e5109e5cc6ca4591c8596f4800b8d37bf1c712f7265eaee2d7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/hr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/hr/firefox-123.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "e3a148bb810559956fc864d8676707e079698a8047d80faf8a49b709f7a82ca2";
+      sha256 = "c2e3972ab34fea61a0454448e92b47f5b37359036da701587e71086edf94c373";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/hsb/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/hsb/firefox-123.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "efd884097d7f1691adf4c71f76fc2d583312e3f2a604701ba9c7f3849f7bbe95";
+      sha256 = "dd8e8375948464aeb5309291a8ee41afdf32efd9d2023d199e316fcfa4e8c9f7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/hu/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/hu/firefox-123.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "14ae9e0897ee1845f170377b2cd38129a98e28ce41124b7889be4deb1311c61c";
+      sha256 = "8815e567c20fb5494d8e22090d5263e142c2b2ede710d6ce5ae1db8a68e67396";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/hy-AM/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/hy-AM/firefox-123.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "8256c6ad0ad1f3380aaabb83683b906f0cd2b0b058a2746a9a8d9cca095a1b04";
+      sha256 = "b95a492899cf2747a6a034dee619d72a79512e678ff4ed5f195b8d901379c7fc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ia/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ia/firefox-123.0.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "8625909890df1bc6e8e88df8cc889ac6f05a548d96617a175bc9aeb97be85c30";
+      sha256 = "9833cd7a3b68e0c71c0b73f2b29c2b3563e5f1f6e99319f6d900a47c11cde0ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/id/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/id/firefox-123.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "5b137a307ce81c637e4b26bbde5abbdc1a6ac483bf6ec5c28473f4e9fac2d9af";
+      sha256 = "c49f8c99837faa03d569b8de7617c2f539fa150eff9ed4164a4b8cd76031534c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/is/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/is/firefox-123.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "b17e1f2e1386a25ddbc4c956b8cdf1452a1b26b963f97a422702388b4195558d";
+      sha256 = "f6233a16977fba31fcdb04e42637c0b448fcaa882ef9238008bc6ba444561d1d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/it/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/it/firefox-123.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "40697742feddd0cae8592f9bd1dee30e24d4e41684e645d4ae890ad1743312f9";
+      sha256 = "2e1c98b38ff865c8459df69a11d59d720f16f7dea29d4df99232b8ed30518e33";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ja/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ja/firefox-123.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "6a04035aebed5649fb962aaea113db85c6284319ca18c741d4ce67576c452d13";
+      sha256 = "ca84e564d535b5c4acb5bd06b709e7beafe3a9530db82a492d5085598165eab7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ka/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ka/firefox-123.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "951ac43e83f1c3813efe6362cc30d3407b71e8849bdeca459f1d0f507fe24e0f";
+      sha256 = "6fd2ec6eaff21123c8709c27583afc338f821afe95017393159e61485dae3127";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/kab/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/kab/firefox-123.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "98eea4f28bcf2627a10a87f795048bc1aa78f3a285ae051ebafa0cd4d2bf5e90";
+      sha256 = "2c0a2f5d5db93f3e0528885aae97043f483d5aa7d883fd6cca256c51e832ed72";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/kk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/kk/firefox-123.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "706dc890046e95acb887bded8237eed722218935194e1c6a6a7676452cbc17ec";
+      sha256 = "ae247787e95e314942b0239da267ff4493e29fdb10ba467e70dbc6dc322f68bd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/km/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/km/firefox-123.0.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "b517a7f8bc031ddd1782e61377d1febafeafd2bc235ff1bb3893456ef9b686d6";
+      sha256 = "75752463383fcad2a1a9fe73eec0ea77726021c7ca6f77454d7e47d155ae60fc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/kn/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/kn/firefox-123.0.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "90f99fda8b1ba5f1bba3130c51f38666107be2f74a0235bd33f2a0064041cb0e";
+      sha256 = "f8f3d2b334bf98d75e00182eb9b9cf9bb9f2e9a91573265e9f4c628d914418de";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ko/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ko/firefox-123.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "95b189b69477197bb7014cfc8299d35a07b253890e05a0241e74bf1428621fe1";
+      sha256 = "7f58939e7273169cd9f595fd2545f5a0a8c72462d9b3d7fcef67359cd4d6b784";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/lij/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/lij/firefox-123.0.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "17e3d23d36c1a8d69bd396255966c77dc0346a939e2bb4e07c30d9df94206fe1";
+      sha256 = "c406b342cdb97a6298ea7c642a4ee30a751057170c7d159ff3e601fa47cd33a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/lt/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/lt/firefox-123.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "e5b15d7476498388b2b083d5d4df6753b1793668ad5b03d5d180347ef2b6956e";
+      sha256 = "8a459fad3903cbb326ae68672cedc8642ad299b1a0d8a36542f3b5284b4c1a49";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/lv/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/lv/firefox-123.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "781bc0a84e021a2967e96eb0b123b8697fe0085602b91155c0ab5f81b07e0ba7";
+      sha256 = "8856e177e8dd811b7167fb669c3bd46e26d00c38dcbf79d1b73791d094979a3d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/mk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/mk/firefox-123.0.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "cc6e48f58dfe64fcc3b3361ccc9013392c704053235d2521da0ef206762857e9";
+      sha256 = "7e502528691fb7a04abfb1b82a28cb17a9323959dba931fb9d861a89128aeb72";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/mr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/mr/firefox-123.0.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "cab1fc74b0f325afec17acb7b49ca5a3166b65686fe15ad14adfe868aa6cc010";
+      sha256 = "e2c3ca9ca1fd53db22c22efd5fdf4b2aabe7aa1633315de3bdd6aa04d8a6d621";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ms/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ms/firefox-123.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "0d3a46f193032b2c3633a9bf4e228a4cc6ba66536d849b4c299b63f42b9c0435";
+      sha256 = "bc75b3c7a67ab5a08e179319a1f59e79f771b1e146ffb3b0a1f24512a962b73e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/my/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/my/firefox-123.0.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "e429d77852544239e9055c128a44097ca47aed391f202549d0d6b01251b4f1a7";
+      sha256 = "def15827046c9f535ab20766d89a290bca22e52c125e4feda52f9bf1af0c6dd3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/nb-NO/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/nb-NO/firefox-123.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "177744ba68ab213e286267b9a86a47de75c18fc77f779e8e7989239768e35d5f";
+      sha256 = "c6a428d86e13e6961bb1ebf5f97b9fa70445b97f4c40dbc7a0c414ea26aba4b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ne-NP/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ne-NP/firefox-123.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "59e4d7905ee970afa8b3cbdab92d3dbb696af8d50d388efe6fda24ba704f2aa6";
+      sha256 = "48fe82570a9f1e1c039dac153b5c420e3a4639ccbed3dde6ac5f1679b6d5f863";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/nl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/nl/firefox-123.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "a7b143950ce826873f9ac2a16ecb40da4e4fa4f5fc4485375d473567dc46a8ff";
+      sha256 = "b238a50cf67708b1a8edb0914b83e265ef167be525fcd8d66a79d1b3d82c8fe0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/nn-NO/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/nn-NO/firefox-123.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "bae2a2d29404b2e8b774036118b581255246048dc2db3d1d5c1df0a4d357d46b";
+      sha256 = "af04457fcb89a59e8f830dab026608d2b868a8ae84c879751ce197c59cf27041";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/oc/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/oc/firefox-123.0.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "fb0cdc063b703e83dade0de48d9755e80c441f52b251918be87679ed26c35e50";
+      sha256 = "44128299782ba02cc78de92094e2711b03c6ac78ef6b171c896178c67c7af895";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/pa-IN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/pa-IN/firefox-123.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "40d614dd180de1bdcded224461552841211460c58199c6b727bfdebe4c5110e2";
+      sha256 = "451bb49eb1aa7f1a0fa2a022293c44c8f9c364b89c35efe935cccebfcf1af47a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/pl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/pl/firefox-123.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "6074705678ebee6b0d6e39bdf7db4cf1de4ee95b04219cda1360f45b78bd8245";
+      sha256 = "884e210f3fea3a0c87af84e8e0a25e6fa693b0cb71a28db23bf8d1667d498db2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/pt-BR/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/pt-BR/firefox-123.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "06f6e69bb03cd841e671744b055fe68b60aa6d175d4f6d9305f800c1a4adedea";
+      sha256 = "2d56adf4e91f5bc5022b7522a845055d7c8fcac63bb412886361e7c93d699759";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/pt-PT/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/pt-PT/firefox-123.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "f8422d0279fc3aa964260b1640779bf9779440122d0d218ef561ff6aad5a1b99";
+      sha256 = "17ca950bf39ee9001a6176713aeb26e98f48b17124f1b5dbd2bdf19f05b7bd9d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/rm/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/rm/firefox-123.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "cabc9c53234221702d14185197facabc5e0985cd1792f3e7f70ddd4390d32640";
+      sha256 = "14acfd73c1d7846401201f21150ca9d3fca1b7dad66004fb884b55829ad1da7d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ro/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ro/firefox-123.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "37007221fed3907845ba83d61ca2cc80aad46abef89f239e79a408f723539219";
+      sha256 = "9f3daea8cef1b30b69cc198285897b04e867e28bcc587755040161a7b7407f14";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ru/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ru/firefox-123.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "d3a20fc678dd39c645a2243bc381e28172a7724d521ed469f61f46dfca251dfb";
+      sha256 = "372616e8c58417d2c90a86a75bc32d73a4b323e441a59b80f7c2177474787216";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sat/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sat/firefox-123.0.tar.bz2";
       locale = "sat";
       arch = "linux-x86_64";
-      sha256 = "d2e862396f4d639cddf24cb7ce095e8250524707c8fe0101442fed8012c6b3ef";
+      sha256 = "bc23484856827252ecf44026ac7a05d185596f68968ca0bff86ac2b9b7321015";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sc/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sc/firefox-123.0.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "e738bcd151599587a191e91f69a19eeb93b54a9d2c286cb26a036096dedee314";
+      sha256 = "cd55fc366fc0827a6ad2c054f69ed8c5ab0fa96a2554fd4c2ec10fa7aa484971";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sco/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sco/firefox-123.0.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "13dedb8a3bd4f3b3829a89631eb89050bc8bf8900eac255a3b1bf5262f5b0315";
+      sha256 = "17bad03c9a5d3587566384b8c471561dcba2ceb748ca48ddd5115dabe77ea402";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/si/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/si/firefox-123.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "fb8aea5f87e783a5b2093e47d161941dad0e3361d11cb38fe58fb9ada8bed817";
+      sha256 = "1ec2f95d6ab9adfbc2db5355ca8e2db66c28f3a87d14c723f41c4efaefb30535";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sk/firefox-123.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "6b8e48667c8dfe2f6653cb1f01f70be5a03dea65093328a4853f3d394bd4e9cc";
+      sha256 = "c97a0c034e925ef8f8619dd62a6ea6634531586a519a0850c4a720936690d6b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sl/firefox-123.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "8ba5e3b60c7ebaf67152159bf70a3994665e558116ab53b14726d34e6de4293e";
+      sha256 = "5352fb8eddd14ba4f944b6f800b470fd83a80a678d43120d90ae66b1c54c7ec9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/son/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/son/firefox-123.0.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "4f3cd3cd5bcf33a56b30ff4e13fe15f430efd388b07cab3e00b2ffbece14723f";
+      sha256 = "a0853d1efeba0883a951d088aba122adf5bc317f27f2fa4494227b6840592ae9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sq/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sq/firefox-123.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "4527ebdf68a826e0466e70a4d950def970f95ee7643869d6af5637b4160304d7";
+      sha256 = "ec79d3e2b2d40f3c0fcc000498f5039d059467894501ad25b418ab2717fea9ed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sr/firefox-123.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "7561bc0453c754ad669d23fec2514686ec00764370573a41ee0a6e15193a78bb";
+      sha256 = "9feedf5df618b7e79caaa0cfd2df4b6e241558dcb9300684c0bd2c9cc8fafef9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sv-SE/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sv-SE/firefox-123.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "839238e8c0fcb271aa31b86a6b0f1263e27a7e772e30caae2b54b54efaa0eb6b";
+      sha256 = "efc647e2c29a35fa7b99c26360b90dc3d8905d02a356a2baf641490021bc1626";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/szl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/szl/firefox-123.0.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "40432314dd689be9dd7533f5bee389a737a2f4b3a652be9807ce69c65a565d5b";
+      sha256 = "fcb8ecfbfbf211ab65e599b4f3f4c20901d334fa72e80371f57e13e9ca9b72ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ta/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ta/firefox-123.0.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "178605125e37528925892974f166183426bb73372e55f733cf8684802b0ed734";
+      sha256 = "aa9e12e6b5d8db1ce7782e4bbdd9d0e32ebb67128f7f701c1144858aa00c0376";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/te/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/te/firefox-123.0.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "87be183215ec6cd002f2038bdabd58687fd5cb09a850969066ca8171ce8f8849";
+      sha256 = "d81fb0616ac881787852786f95df8a6c5f604baf0be27d8515ea783d12ad2ae9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/tg/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/tg/firefox-123.0.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "46884de41e3d92fbee26eaba661ec83dbf98774c06a7ff78d127beb191aabc91";
+      sha256 = "f954f98aba28e6dfaf9efaa291a2322ae92ca6c9893a0457ef8623c4d5721440";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/th/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/th/firefox-123.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "9bd390a57fad34758f803ee8adb84ec97904eecb78ff6564bed4edc7c8b8aab1";
+      sha256 = "41314682d5c0f84b63da0a28f324b4cd7eb917f07f6e020c002efde46822b16e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/tl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/tl/firefox-123.0.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "b46eb8372d30931ee08603c093b563fbf7e461e27e008cbc9055b52a0f255a93";
+      sha256 = "1ccdd8e1aee130496431af2269724bf9591bc79189671e3087af4d8bc559b12e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/tr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/tr/firefox-123.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "576c4c8a916c7dc56d7c9d05c0c408e6744cbf3bd18a384b09070eff58cebae4";
+      sha256 = "364adba5d91f5acc590d24cea3bc5ba54ec67accbe8f2b5ceaa828b3a29b5d11";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/trs/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/trs/firefox-123.0.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "2e2688d77c6618cd9af6a7ea7ad25d2e1889e58f048ea2cad3cb031bfccd67a4";
+      sha256 = "bb95f1fcba9280abcac3b1811796aa53483ecfd0f5f8cbf666879e1e22b425a3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/uk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/uk/firefox-123.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "e68d443391893283076d55ec7eec4bc3e6294fef71a5e46d29937b6aa2cdfe63";
+      sha256 = "00b9e880d47718d74d3288a2327eed7992158c91ccf1f0be3a4856959b57fdef";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ur/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ur/firefox-123.0.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "18674f0245e0d5494ada3aac535b6514ef11791efc9cc1937c5244a96356f3bd";
+      sha256 = "a864cc84c290b94919c8a6293986581af2756dd1bc8f3f3f6de8798bfd156527";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/uz/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/uz/firefox-123.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "e8f62d7c923a41e2f56927a0a535684879bd0fcb32153b400696b655f40ed6da";
+      sha256 = "b5f447c79f24029608c14cc1506cc40566d67ded4d43ceaa61d6f7e29763bef7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/vi/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/vi/firefox-123.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "bff26ad0736edb6acfef09fd9bc9e075b63f1a1f4372db8b40df958ba3ddac82";
+      sha256 = "f12ff5bc011ad9ae8be0cadadcb76dc4ab48419bd679c9ce411ee338bec13287";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/xh/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/xh/firefox-123.0.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "d926d0c95fdaa190c7eb50d0bbbcc4645f8313cd7327eb47880ad713293a27b8";
+      sha256 = "8ae2689564b3dae4162baeee13819ff6ee7b2c883020a9cfccc24813e7bcdaf8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/zh-CN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/zh-CN/firefox-123.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "b8e8fc2ed7f12f6caecbecfc1f9ffdfe3d4c786885b3b2dbb9af3164bb878d99";
+      sha256 = "d535de12ddc701a332f889fecd8f31d55798f0cabe65bfb29840faeed97da42b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/zh-TW/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/zh-TW/firefox-123.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "27e798e5e16fb4cff152c5c0a87f0961a5fafc3a286d6a2c01903ca68b55299a";
+      sha256 = "f53791620ad0ae7297b6639915b8437624787c075e976a3ea2ef96cc38ff9f63";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ach/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ach/firefox-123.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "8c42826fc2d06a64f7f8119c9d627a8d7295ec31a61b4a4ce418da2d1c67e49f";
+      sha256 = "d9b0f69979efe0f33d49b16e8ed64065b8ec050c88e9a1ce96469d0e2c56c889";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/af/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/af/firefox-123.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "61108266d21b7b4d52214232738f228d2c3fce60eedeaea10e244614239b9d7c";
+      sha256 = "5c57ec8875f4e966b5b1538d4a0c7f6c6a2f70a1fef3a1fdbdeb3d246fd60442";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/an/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/an/firefox-123.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "c068faeab22065aec67ed8ac08ca71b9f3e64cb65cffe140e7763111c8c7a809";
+      sha256 = "54b49b0e9873739d3c864eb911a83834892a865ae3bb82bb1e05b8641ae7003b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ar/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ar/firefox-123.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "168b4e1b40626a2c17a7a45857d988cabbccb8e24a23601a6dc6f9f47a8a5e22";
+      sha256 = "418e94a33d742cda9cdbc128a79312f68729d04b69331a86db76a7b10e31d114";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ast/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ast/firefox-123.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "46c659a452700f3cb2170c6ee3387eec173f33d8f3fdecb407dbabca75c96eef";
+      sha256 = "15083b9597202be549379c900fec8427c40225d70d269cbeb4df7f3e5d023d3e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/az/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/az/firefox-123.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "26c2995c9d4445e9fa8b3cb677600bffee8de65195d51f7f8f9b53e3233ce4d0";
+      sha256 = "fbc30bf16d6d2c5dcdc4e8018affb54b00c80cbc10fc6f94526bc810f164b50c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/be/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/be/firefox-123.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "c69b550e4c535a70bf56b0cc6293d56258c287073b5363abbcd02c67ba89d35c";
+      sha256 = "dc5994fdf7289a6d7087d472ff7cea723b7f8c6f672e8ce4ac98050309ecc6dc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/bg/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/bg/firefox-123.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "934f9ad4a956f8b123cb3df5611ddb9335e74793de149d68ec326e297b003553";
+      sha256 = "b8d258e01f9de51ce25f6973b0cd27ccfeb1e4fdf2420abe0517e6e60f9215df";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/bn/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/bn/firefox-123.0.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "f87a72cc2ad4f1252a68f9f36fe6ac1c0ac0e855d8f69ead51a44e7c9ae8dba6";
+      sha256 = "a21320e0189199bc30afbf5196985900b4a6d4840f0ab78c1dec2379d0ec386a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/br/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/br/firefox-123.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "b7a173f62afa300ac17f2cb4e37cbbdc96d8a57392b9ff2c4017122582a3de25";
+      sha256 = "4586a11253ab3ebe45e0e33489a3a4fc45f5a29cd4494a343f5afdc073666a78";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/bs/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/bs/firefox-123.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "0419834292bb48d0b1512d3939d999937f9cdc5cc2c0c4417ec0e378c23fd9d0";
+      sha256 = "2905e6aa34a2106ff6b2081935fc199fd6e1a5fb85db073abaae3843963216d0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ca-valencia/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ca-valencia/firefox-123.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "733def892b1a1455a86ed16f9d6ffacb4d6f4db7b84abf6b480b689ec0db435f";
+      sha256 = "822c14ecdec113a1c8ba5197b7540588f194b42cc21100cfc4900f27f180ba2e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ca/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ca/firefox-123.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "318795845f45d3fd17496fead10cdf283909d00b4235a663372967b6fa4b4775";
+      sha256 = "82bcffc9d8c604875b55a694e93dd31333187d8ab5f4a8902627edf196e61422";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/cak/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/cak/firefox-123.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "ebb2d1044837615b2ff3ea53e68051abeb9cba027c046f26a3a728f94115df9c";
+      sha256 = "a31b79f9c0adf381c308274854d064c54cd8f8dfac7b5ff4831b8513408fe4b3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/cs/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/cs/firefox-123.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "9d26dda1a043c926501d9d6c33474de1615dd340c94e8c742d10602fda9cf0e8";
+      sha256 = "aede37d321ef4a520e3d160e8feee46014fdd1f52c9b77f9f2a743373db28a41";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/cy/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/cy/firefox-123.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "5bd8d1d29d0545756ea6b11feb116f09daaa67b9087cafcf6ca1a0e71ad9504f";
+      sha256 = "4a282e25dd6b181403b5ef974c63ede86e21f5b5405d2c98ae17617fcda9b0c9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/da/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/da/firefox-123.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "0f46031ddd3d88d7f2cd28377d0bd6b3acc8cb2b2d5cfb0726083bc45136f825";
+      sha256 = "d5a84a401381a0ff4ac179238ecc9c77d4de9fe5d5db636560c12976e56d3327";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/de/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/de/firefox-123.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "96fe952a4518d40b3e66fad2fe6d785f74e82f6cea30a36c9952a91f934cdda5";
+      sha256 = "e420af00a1328d5676f55b71f84d517f6273c933566006fda5a0b37add2cdd8c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/dsb/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/dsb/firefox-123.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "d2733aadd255232f06095af0b3c5821832648a038eddfe5442e78ec5ec13e898";
+      sha256 = "37cb330b48e3fc6939e252882d84da397c946c821258af5ceb1f8114926f1f3a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/el/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/el/firefox-123.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "81f92fcfc5326e8a3838c62d899a4b03c0af5608ef9b553af467dbd0fe46234a";
+      sha256 = "fcd5ea52d4e9052bd2b2416e1d0f5b21d56b916a14b06ee40852e240c2ebc850";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/en-CA/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/en-CA/firefox-123.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "c503f40b269ee94336987aefffd38ebb545f3e126d98e24be3f17a66b57d2dbd";
+      sha256 = "306296c8139c9030f4a0b463ba41689217bae4822dfdc630397680e9962d1c17";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/en-GB/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/en-GB/firefox-123.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "f4d77eb0178cae7fb8c4f01a4442a172b3d69674e9fc12e2bb1afa9a95c13c5b";
+      sha256 = "a92e6d8434740163e4c96f31906faa36ef7338b016621a82fcb47d27fbb2a34e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/en-US/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/en-US/firefox-123.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "962bd73ee0f4769c6dc16c93d8ca55f76cff7868e59ada6041e351d3fdefc088";
+      sha256 = "21fb022928f0f7cabde7721162ccbda2bceaadb5f6d921ac807163988e7a1846";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/eo/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/eo/firefox-123.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "25365b28eb2ca306fdd84ed3770f31b1ce1a90a07f7ab5c4dcce259b50637bfa";
+      sha256 = "74e2a5e97852c56d6068753374462f4a7c8b85f4b3350dd64db732516b6a1b2b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/es-AR/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/es-AR/firefox-123.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "930be4e579d4a750c0652ef51c2a4e57afae57715ee124479a448ac1a5e0022e";
+      sha256 = "e1cbc415bee64c59e76f655d43d37997a33da53401a3964125084248c0a8fe95";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/es-CL/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/es-CL/firefox-123.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "421e2c9b51cc4290a42bc19914e76d85aa9f67eeefbce4898c3de5a5744e92e8";
+      sha256 = "e10b02f180f5fb7def189dd6ff0c4ca4951e8d9b71952df28719844fb3492559";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/es-ES/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/es-ES/firefox-123.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "e1d1456c80a1b05a698e7391c8d147e0d8b02693fd9d9f39ecd2c3df2a497804";
+      sha256 = "ddecb4855247c6bcd13799f13282abe1de3880ac7a2506d95511db543cb1662e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/es-MX/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/es-MX/firefox-123.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "97653e79fbc1420c423cd125f92f445c95c23a00c33f4753424d3812d6b9ff78";
+      sha256 = "dde99569d920f57b494c675173ca895bb92fa51f7fbb04a88bec33a4758bef59";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/et/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/et/firefox-123.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "c99a9d96f26fdbe598c5bd4c3e85dc91688d2e38568bc2464a3ba26456a56d84";
+      sha256 = "2970dac68708816df59efaa430dd4c4b150e3be1f4503468d978fbe412414092";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/eu/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/eu/firefox-123.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "80fe7311c034ee2fb5a1c5b13687945ddddbe6516b7ed55a3bc1b79c43555faf";
+      sha256 = "b5725e2edc644854b8982552eff271561f01c5e2f147b3aa8339cd603f7f9331";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/fa/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/fa/firefox-123.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "4823668ef67f88cafcc63f85ae8e9bf4438ad6ed9ab78c229cb6d69b2e64592d";
+      sha256 = "2dd05247965d0f1ec19fd80ea951c2df4089ec5f165bb25f3b534ca019fdb2c9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ff/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ff/firefox-123.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "3ce1d6d0d778c1b54238cfe49ce840696b434def6bfc4fe8c9c2ccf40ed9a871";
+      sha256 = "ee088b83d19c71fc88accdf7bb381ac985132c64ad6f762d240dc7bdd6d7a910";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/fi/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/fi/firefox-123.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "adbfe2b24b91c9eb995e6c313b14924912d8ea4bd61ff9703f1a1647f3ecb228";
+      sha256 = "ad2f1dd5c4dea8be65ee13cc25d300a7f062cb7a4cd0d9e63eb5be69788e82f8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/fr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/fr/firefox-123.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "9bdec1fab6941c94b1886ab24698328fd860d87fde22dc406b51cc974a5d9984";
+      sha256 = "adc060686a523f3941d7c6202cb0ec70e7542044ba1c03b21f53d40ed213ace3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/fur/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/fur/firefox-123.0.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "108ee2a6feef00db395d1d600f110c9cc37991bac9438b9e97d5f4ffa18b45a1";
+      sha256 = "53ab666f2a8436810de228203610a5a0839a846db4dabed64e644244cfffbd40";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/fy-NL/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/fy-NL/firefox-123.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "ebc3f4fda7d7988b627762503dca60a58612b5ed8bffec49d993f19a3bb63961";
+      sha256 = "f9d3dbd232e8814f6046b9fad128ad5c35f360c16d4150752058c22e4be728a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ga-IE/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ga-IE/firefox-123.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "dbe96f67558387dfb3c3ec5077838c71b9bb67e10b81db0be618159da08bf7e6";
+      sha256 = "ea1e61dc866cdc2e9975dabe62d5a2fd62db43e9d6b71d29dc129d76c2531a2b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/gd/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/gd/firefox-123.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "99117b23101e08d0c5211164f7037ea9f86abbbfcd86a39771a8a96e3d513b36";
+      sha256 = "c8ae1504d924acfbb9d6a4d1593346506e024985acbe9862f7f1c5ffb47a92ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/gl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/gl/firefox-123.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "a87f29ceedb296ee6ddcd7ae12a2d76ec0a8ac84e1053ca5574a19d3c89dc3b0";
+      sha256 = "c03ccb715416c37bfa339732d93f7cb78d97e30308774e97b011e4f2e00172b8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/gn/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/gn/firefox-123.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "6a9c258ef059b08a4efdedbb563bf7ce5eb2012f7555e9396646895b0dd49455";
+      sha256 = "ddfee5aaef9a23a0e651423b6e2871246d30c27e728469fb7cbe4cab3af89822";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/gu-IN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/gu-IN/firefox-123.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "4f1c540295696288e48c60e09127149040f0855ef18fdce807147295fb10edb1";
+      sha256 = "7ac034123a46a9406eb5d8bdaeb0f77220b761c9a6b3d53dacd5851dca748143";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/he/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/he/firefox-123.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "e579f5746ac7c33aac50ed1c16b414c3c6689ad6b7a9168978d01a619db6a64d";
+      sha256 = "e26b370448acce614e8b1334eea330076e7a576b36b312831fd7ee9a718b6f61";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/hi-IN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/hi-IN/firefox-123.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "51f89a45ecab2d9d84770bca4b6984ebeaf3149021ba048ef8344aae73d1d00a";
+      sha256 = "edbbad89cba749501e644abeb4079bc47c8050147411d3bcc976c3ac1d31ecc3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/hr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/hr/firefox-123.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "e21df40e75be3838c9745187c96614cb5ceb1607a7e70c3260b8bbf90c361655";
+      sha256 = "059de94836be5e9442c855818609878264bbc19b7ad5e5dc1f3e8a78450d9ec2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/hsb/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/hsb/firefox-123.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "443d403f438967426e342dc02291070208e3263e5f1e7df20e1a8fe27e367c3e";
+      sha256 = "c7f2a498c478e700f5c78e5ddde95a3466c53f07223f6edbd8e913dd254fdcfe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/hu/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/hu/firefox-123.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "81a2efeef635fe56424bce4fe384dd478b6f661898632f6f7516a1e438897100";
+      sha256 = "7119d51288b35825d102841c1cb0c0e676e34cacba147be9abfeedab51bda3fe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/hy-AM/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/hy-AM/firefox-123.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "e453ccbe2bc84c5ffa62e2e1770d74ccafb68fe6a19deeed128c76aa38b5bb76";
+      sha256 = "87c8db667df3cc15be8c7950395284efdc3be1c38a469059e77285ed4aecba32";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ia/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ia/firefox-123.0.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "4ba5033f0a92a53e32a8a6bfabf53c77630f6189ee3500a059b271621168a3df";
+      sha256 = "7aba56886b0bdec257b3b877be6af48f449612c8e2a623c87540cf62c3a2cb45";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/id/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/id/firefox-123.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "f910310581790dbe915283efec2fbb369f7c352c4a29ccd0026d71b7db915e21";
+      sha256 = "8d0953e1dfe017b060333888635968946f8cafb0bec4c1d2e4acb78ab79a9b57";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/is/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/is/firefox-123.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "da3bf47c84a32260e6e50c1b23d0013904343a87340eaa7748ffac07433a0472";
+      sha256 = "36a9f53f6c994b6376adb126d4434ef995fa9f3595a29068a379664f21f54656";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/it/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/it/firefox-123.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "73b02550cd2e4df3e959b81dc0a37ab7ed8a4899717380a9d2a9685bd87393af";
+      sha256 = "62c08f6248cf08b587fc3393fa5794bb1dc7d84606dfdb14c8362ea8442109d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ja/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ja/firefox-123.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "bd3074689b47b6f175279ee747e07f875ab6dfc9697921b36cf619c2b81bd65e";
+      sha256 = "140b1a66204d25f2a3e30405e1f9a4aae1b50f19d7bad4c717919340c43d422d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ka/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ka/firefox-123.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "bbcfd4ba5fd38e517e895dd781dc647dcaf44d45b87fc6fd70a382127bbfe95f";
+      sha256 = "be6d75006de544a0d56ae5f39b156073ae75971e3423c27657bc4ca00c20fdb7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/kab/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/kab/firefox-123.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "93a251b0c97c38612791548085e76678def6ebdca4f36273839613b646c48304";
+      sha256 = "0f7c11140dd576f879122a06b8381efecf31b4400857aa5df724011703d72145";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/kk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/kk/firefox-123.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "d4e12d3c61e169e1ca6f69c43d3f8a00e9043062194ba8a5550ff77ab2ee32b3";
+      sha256 = "4dbe464caa982f21dc53791265e8163e7ede519922b0cec9b8c11bc1f5addb89";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/km/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/km/firefox-123.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "e2faec4305bdeddb9b9062968d02aab6a5e1d2ac862fb2169ef242d2a8c90e8b";
+      sha256 = "d60612f02a7c7a6732278f389ecc0c386fdd5b0c599082c37ba85fb9be12717e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/kn/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/kn/firefox-123.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "7f1b1786fa92b2181e90c9512013d36adff640e6a6bd75a8108d8cf2152b7019";
+      sha256 = "8963cdfcf17e372dd29fac2858a977d9c8642272c842a4593de33c34f9b45ca9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ko/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ko/firefox-123.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "4ab5d6a270d1cc146e5452d4b82cd9f7f817879d78e29884091001c953b343bd";
+      sha256 = "963a805660a1326d1e67d588d5915ee618625e31e0a9b1fd19a48a01eef0fb44";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/lij/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/lij/firefox-123.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "a22deb4303a74ed45dd9f46c19543852aa87a4091910350b3e97645f651eb7e3";
+      sha256 = "216ce3887b26eafc57a337aa045338528bad2c738217cafe2e771133cad2e502";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/lt/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/lt/firefox-123.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "944e1d73a6a1e97fb76c2b2b4e16d9af3a4f6e0d7d73bc57a092cee36f334dc4";
+      sha256 = "ee328b25e123b0e101a11f65e296809811417a652ed2006121fb32d005108e61";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/lv/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/lv/firefox-123.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "d197fcdf8158132f3c3f7decd6fc94bd908ab98b78750431ffc569ba9509406a";
+      sha256 = "acce55ed4deb7f21ecb0d7d3500beba76095c092a87762b090eb0a8981df0cf2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/mk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/mk/firefox-123.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "bf39f56a838ad8aff227c74c14aba89bddae5e31954458d1e721105e6bb8a36a";
+      sha256 = "dea7b2f795f0b4475dc59ed5d3dd63594df0ba3acc8763befe0bc95d50681440";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/mr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/mr/firefox-123.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "2b76724ff6a72eb1446d29aa5da5c2c3ded2d268b268ce1343ab97f2678a603a";
+      sha256 = "4ea6cb1680f63f83d3df7a92141eb4d74960bacbd60af4dbee4ce38d2a2dee4f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ms/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ms/firefox-123.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "55779e68b20c726a3979551a359fb3a8625c1366e0707d060fb39a78bfb1cb0f";
+      sha256 = "783fd930af351d7157e0474b535dcfe762f019e7e909d7fee30f0909485f4c83";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/my/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/my/firefox-123.0.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "19c5629516881675ebaa1bc22905616f5f7aa02105419fa38aa0fb31fef5ef44";
+      sha256 = "66ae8d7a5f0bbc4beafca1f64de54259de826ad0a86f7396a36d30b7eaa0bc10";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/nb-NO/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/nb-NO/firefox-123.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "de8eaed1e26851841b26a427c9fa1553edf3a0dc13a98a8f09ae658a0d1fbe67";
+      sha256 = "8a0543cbbaf16690224f86fb122a5b6af9ad3a14faea6d3bdd36923bc951a56f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ne-NP/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ne-NP/firefox-123.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "1c40693435f64d2d5465bfe7efebec3e93d44d060e17a15b3994feebb7b22092";
+      sha256 = "e1f69c1dfc0f471116e9ada03b84d25f01bb88537c44094ced72342ab6b38f69";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/nl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/nl/firefox-123.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "ba86d009f88c4101485b093b6de945c5b610c6b85bfc01f018a1c4b362962dc1";
+      sha256 = "78a577a9648ee182022b76a040a34daba1b9dcde06e4952cf1c391b36ea413eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/nn-NO/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/nn-NO/firefox-123.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "3678a4db0b45b17d259450b6604439b55350ff2893d9e248a9806c44b69d13ad";
+      sha256 = "b6da6694179a75bc8a318c4447323e0d0e06b527f8547a5e2a5007c8ac7cad10";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/oc/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/oc/firefox-123.0.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "defd7b804c3f9e1fe461db1fd64c34c0ff67b90782257bbece440c08172f87df";
+      sha256 = "948c33cc954a004e57935e30e7326611ab1e8ccd22ae113fddb815fc200d8b1d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/pa-IN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/pa-IN/firefox-123.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "8f934f3cfd335cd46c9be9341d43bdfcb6faeff2bb6bcdb4b62b28a89f071163";
+      sha256 = "3321f42a229e4a43bd4682c996d8389ce9eee1b1e532042eec0cbddaa28f5266";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/pl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/pl/firefox-123.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "23040ccf99acedb9c43e085d908abf90a9c2900889fa29aabc376e5ab5cf201e";
+      sha256 = "48aaf41b865f91cf7da845a7925a6174719c00b256e908ee4128f98653b5236a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/pt-BR/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/pt-BR/firefox-123.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "ee82f5af259ff705e2aac90aedc6625dec39858b7ac09091026ca3211b1a2774";
+      sha256 = "2101d2288dc70a0fcae1f569698b63ef8efd3823b5c73ada33635c183c81185f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/pt-PT/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/pt-PT/firefox-123.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "c98a69e2df896b6214dcfb1ede0bcc7ccd104937f621bc85c137d7b64f348e6b";
+      sha256 = "828b80057708afbf62f13ddd98b746e507313eb6bcbcea17632dc36ad79cdb1f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/rm/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/rm/firefox-123.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "05f81db7c1781a5ba8453afd44adff343985e666b91f7a07a782b57680296534";
+      sha256 = "1444757dad4500106a9c5c172249c38205a87ec33f2460be77ff8ffed462f71a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ro/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ro/firefox-123.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "14609104e99ca7dab6f9b1fa839509e58f57a99c9ba9275e04a2d1e54769980d";
+      sha256 = "dbfe09e5375b846686f5802ced2207deee5333a18690bbf8b8dacebbc3685eae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ru/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ru/firefox-123.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "90b3c054d9759365ff51334d46006837ccaf74f1151f2963e3f093f307a5b5e8";
+      sha256 = "243a05136163fdaad3a2e909bc45ee5d323459f2370cc17e0350636d9f7c3697";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sat/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sat/firefox-123.0.tar.bz2";
       locale = "sat";
       arch = "linux-i686";
-      sha256 = "5b53e9ceca6bec9e2ff07813d4d9a1733dd75bfbe7e80a688ccd761f86c615d0";
+      sha256 = "89ffc0d27680d1872e52ad36f965633e27d237b09ab888ac7aeeb2a537233322";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sc/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sc/firefox-123.0.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "9f4ef95620876739ad590f7f0c406eef650114f1ebfe77ef9c9ab3434711489a";
+      sha256 = "312fc2f17294d1e5e873454df30e605115717f9e6b05fc177964a8fa3d7090eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sco/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sco/firefox-123.0.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "d8503bc0fdc4eb7a0468f58d065f42c304b4badd032bd6d20d539924a4d89e59";
+      sha256 = "0f59c86a2ec3734af979edc53db2efa45aa11e22c00ee17a9599f98f7d6bb35b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/si/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/si/firefox-123.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "9988e5f7d55c2c5b08207c4bf94809a53387f05835e0e54e4e26965823809338";
+      sha256 = "4fa2acc0ab72faaeb7bfea6d21cccb15f21361229d796aedfcdc302ff3df7bea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sk/firefox-123.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "0adc99fb2eba6946e95df1e9321f2b72799a473250f8b00def8c949f0488f61c";
+      sha256 = "a4bd6f94ee2f98423bc6e088d0e0140481ccc091c486b714ecd00d68acb3f663";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sl/firefox-123.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "2f123577501c774fe9a1b9d8c75aea79de4abd17d38bec872bf9d8888c28af59";
+      sha256 = "1d1776b293bd280e925364ffd02368a72a2d4a6e8f5b872de7de2b9b12ab6b98";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/son/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/son/firefox-123.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "7cf067d05270b6578b2ee18e397310714b16af4b8575449c25386a4b283d576a";
+      sha256 = "e79948880ffa2a58ce8774cf699ebe7d4666b0b8e3ec911adf664362913e96b5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sq/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sq/firefox-123.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "a4410f567b1f0be814813475a008ed8351b81e281fd56c3600fee2e82f376d53";
+      sha256 = "ab9b9d1b1033dae7129ef4f4578876162584a1a45fcef699071cca22e6f77418";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sr/firefox-123.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "12bdd341c317fe2e8482b6252d11bb6aa9b1b5fb9d580cd3b29c0d390bfdb313";
+      sha256 = "07f7fd29bff98b95ed4ca96f245d0e0e9460262e48ee6ff6725154b9203a6a5b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sv-SE/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sv-SE/firefox-123.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "401bd2e9b6c111c073b47d211ff675875bd81702d69348ea984ce1d73c488ed1";
+      sha256 = "77a5baaf75299b0bd2d43766659a25281e4aa2d99dd54a6fdc37e2014c2417d5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/szl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/szl/firefox-123.0.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "8b5bdbe0da8d313467c593214619f82519628dd5437b26a75512d445cba9d487";
+      sha256 = "62885ad6b49aa4e004f4fd742a418f60061ed127ff976380b1e65e73bb475031";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ta/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ta/firefox-123.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "28353ecdd5bcab284e72d75cb1f941fb544647a8b9d7414adb7340a069c974ce";
+      sha256 = "da86bb6f88abf58d2ce8989259d23afc7d8439cb6bf7332724d6ab1657c4a49f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/te/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/te/firefox-123.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "ee22377e923bd420f7ecf7be062f05b4148c8b0cee1d32653ae7e1dc351b1693";
+      sha256 = "486b4ec9adb5c6c0f66b835e67f03df8a945cf7cccb662262511d0f39215878b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/tg/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/tg/firefox-123.0.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "737dcddc4af3038ea8e5efb410b7207d51338e074012416a5059019604bbb433";
+      sha256 = "659c97cba8500c25c463add4879dc775b59cffea3307d4c29ad2cfeb06b32a02";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/th/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/th/firefox-123.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "3a9e64df862df2856372473d958748a1769eddb113bc59e3962f6e4e079ee392";
+      sha256 = "b0459cc57451b268657b11fb31bff5a17f522fe4e4f2e5e0f6a995828e660d34";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/tl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/tl/firefox-123.0.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "44859c949a37ab3155ca30f1fe072f156da980c982db889de92a9a36c416f64d";
+      sha256 = "d826b7764fb3002abd86525f48e729b4030572dd5059fb2c0af9e94422bf5561";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/tr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/tr/firefox-123.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "4d35be66330b611ffd7eb2202498bbc11545c29bbc0819b5603d6185918851c5";
+      sha256 = "21518da790c3544ec63575f086c89977dbe012476c6557c0a7dae1f4c28206ec";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/trs/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/trs/firefox-123.0.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "b97c43e287b01b4068cf12c3e3f86314df86f2fb64a9adeedf5123bc0c68abac";
+      sha256 = "5a13597b71d04a274ca10f2aae1bd3a51e1e7b670b904b0ee5f2f65481d28b32";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/uk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/uk/firefox-123.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "37169aa34b014f1472cab9b9cb35cf47d20d5e060b543364bf74c4fe1c226d16";
+      sha256 = "c8737e732213f706872da5f6785a0ecdf2349923670f136a5446d8649e652164";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ur/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ur/firefox-123.0.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "f52f30613d9ab195cabdf5f31d50b3232e2c0fd905d9e57d9b9c100276c07805";
+      sha256 = "4baad19e8cc53c486c997af7145d55700c4ab60d0fbd21810239cfd3615f634e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/uz/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/uz/firefox-123.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "33ddafa1d0f02ecbcad705ce0863f99e83aace8d44a115a643b3e49dc94aa624";
+      sha256 = "dcb849f095c73ef95db0ecb12c6de2b77b6cedbae490beba5c25649186ab020c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/vi/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/vi/firefox-123.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "6b167ea7ed46a891d2be3b957920a53152284144cea5de538c6ad1a3e8d2c42f";
+      sha256 = "34ecc0483625d6945eb9b432f2fcf36771d72a71b0e104acd538b66968b7beb4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/xh/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/xh/firefox-123.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "d4feaa8a5fbedbff6b897484ca636e15a9235f67c1eb1eee52ffccaebb2e3bfa";
+      sha256 = "068f2e224fb66fc120c75dc0688f925621988ad8ed68c87477fd1fd989406bd5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/zh-CN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/zh-CN/firefox-123.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "5ded51e830879a1065f9768e0206874f154e82019d06e37e6ca73a10e1110c35";
+      sha256 = "bef0bb2d779b9bf3cdfe1170c3f49679e6f398536a07091c3ffb56d5a32ba162";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/zh-TW/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/zh-TW/firefox-123.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "22cf838196513e44940be27a6f6c9f2b468c9374117be3d24ffba5afebdfda52";
+      sha256 = "caa9465e0ca789c368097a828009006f1bd733a4dacd25f054317b267ef3647d";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 2424b8f8fb35..697d5075d3b2 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -3,10 +3,10 @@
 {
   firefox = buildMozillaMach rec {
     pname = "firefox";
-    version = "122.0.1";
+    version = "123.0";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "1d4fe1ed351edd748ede2ef6448798a32de9ed7a075a54a7ed5f7baa7b0c4c7f932c2e29f443c9066829e39f22a1dc94be5d00cc994193e949b72aa4a1c8ba41";
+      sha512 = "a19567a13e1b663e538c4af17491146adad1f0ab977995e8da9ce9ed428008ad20902dee4efb82d54e1319a0e31768609696bc822563d75732b622760129d8bb";
     };
 
     extraPatches = [
@@ -33,11 +33,11 @@
 
   firefox-beta = buildMozillaMach rec {
     pname = "firefox-beta";
-    version = "121.0b9";
+    version = "123.0b9";
     applicationName = "Mozilla Firefox Beta";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "a107ba7127f40763325335136c5aeaf6d873dd9ca1c8ca95d93e96b377b41a0974056c84e8323c51ed57e01a2e4ef9996ef2ee2d804053aa2226bd837026523a";
+      sha512 = "87c564bf30e93a544fe65cf5eb0d46e2e992558df36d2808eee990772648c193ab051120a3400dacd6973dde8afbec9bea0f3b0b4adc923a5fea6f4005b46210";
     };
 
     meta = {
@@ -62,13 +62,13 @@
 
   firefox-devedition = buildMozillaMach rec {
     pname = "firefox-devedition";
-    version = "121.0b9";
+    version = "123.0b9";
     applicationName = "Mozilla Firefox Developer Edition";
     requireSigning = false;
     branding = "browser/branding/aurora";
     src = fetchurl {
       url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "732c2b3f1e47512bee9af696e8763ce13b39497a6ec9af0de9904ce4f55b03bc799e628e17e84ce7062ebd5a7dc50290fbbfa17b0f41622ce5088f1d548897b5";
+      sha512 = "63b3e99fab51a219c537baef4f613c1efd174d8c567d7e77007b901d0800b88cfe872b56293473e5406aef15a5c6ab35b9ddf9966a447c001ca16e92469d984f";
     };
 
     meta = {
@@ -94,11 +94,11 @@
 
   firefox-esr-115 = buildMozillaMach rec {
     pname = "firefox-esr-115";
-    version = "115.7.0esr";
+    version = "115.8.0esr";
     applicationName = "Mozilla Firefox ESR";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "d468d8ef117d76e0660c5359c3becf0502354c61bdaaeb4137d86f52b50143abec2ac4578af69afa5670700b57efff1c7323ca23e3339a9eaaa888dee7e8e922";
+      sha512 = "4b8c06b5eb3617700a72aaad8831d703a537fe600740f1acb8377bd0ce198a199938603fd7e6b2007671a578dfb24aa8f5c031c6c1ccf15d4a34562679eaa883";
     };
 
     meta = {
diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json
index 357868b665fb..bbc259efc19f 100644
--- a/pkgs/applications/networking/browsers/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/librewolf/src.json
@@ -1,15 +1,15 @@
 {
-  "packageVersion": "122.0-2",
+  "packageVersion": "122.0.1-2",
   "source": {
-    "rev": "122.0-2",
-    "sha256": "139vqa0czhbsg8naz75pcf5d8dql30slwrn4l8hkr4r1s1mslyq1"
+    "rev": "122.0.1-2",
+    "sha256": "0bp9x5hvjhdvrb5niyx4si7in116l37y5km7a207z7zl1z5d3q16"
   },
   "settings": {
-    "rev": "fe568fa26d52fa917c89d735468a17b990a23e2c",
-    "sha256": "1gska84ib386a1021r1n54mb1a47bqn459v5n26g4wqx3xrma48n"
+    "rev": "c242d6d6c77948451af5bd52125a8a81259a7a77",
+    "sha256": "1s56a4a8wz92gh1cxk8qny3qzvmanl6q34yp049f18c4zrk23lax"
   },
   "firefox": {
-    "version": "122.0",
-    "sha512": "619b735c16970207f3f8fb31dd2350a5e665a802c30501c89aee4817b8b0f7f466da93c66ab238e94967587e538e6858934b18164ff312dbdbfbc3b2bf8bd824"
+    "version": "122.0.1",
+    "sha512": "1d4fe1ed351edd748ede2ef6448798a32de9ed7a075a54a7ed5f7baa7b0c4c7f932c2e29f443c9066829e39f22a1dc94be5d00cc994193e949b72aa4a1c8ba41"
   }
 }
diff --git a/pkgs/applications/networking/browsers/links2/default.nix b/pkgs/applications/networking/browsers/links2/default.nix
index faefc91aa3e7..f032d54db348 100644
--- a/pkgs/applications/networking/browsers/links2/default.nix
+++ b/pkgs/applications/networking/browsers/links2/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation (finalAttrs: {
   pname = "links2";
 
   src = fetchurl {
-    url = "${finalAttrs.meta.homepage}/download/links-${finalAttrs.version}.tar.bz2";
+    url = "http://links.twibright.com/download/links-${finalAttrs.version}.tar.bz2";
     hash = "sha256-IqqWwLOOGm+PftnXpBZ6R/w3JGCXdZ72BZ7Pj56teZg=";
   };
 
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/browser.nix b/pkgs/applications/networking/browsers/microsoft-edge/browser.nix
index 9d3da97fff8c..a73768519086 100644
--- a/pkgs/applications/networking/browsers/microsoft-edge/browser.nix
+++ b/pkgs/applications/networking/browsers/microsoft-edge/browser.nix
@@ -180,7 +180,9 @@ stdenv.mkDerivation rec {
       --add-flags ${lib.escapeShellArg commandLineArgs}
   '';
 
-  passthru.updateScript = ./update.py;
+  # We only want automatic updates for stable, beta and dev will get updated by the same script
+  # and are only used for testing.
+  passthru = lib.optionalAttrs (channel == "stable") { updateScript = ./update.py; };
 
   meta = with lib; {
     homepage = "https://www.microsoft.com/en-us/edge";
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
index 62222a80553b..62fb771cd3a7 100644
--- a/pkgs/applications/networking/browsers/microsoft-edge/default.nix
+++ b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
@@ -1,20 +1,20 @@
 {
   stable = import ./browser.nix {
     channel = "stable";
-    version = "121.0.2277.113";
+    version = "121.0.2277.128";
     revision = "1";
-    hash = "sha256-VbWM0xC9OlumTf3lBhjd5tdkIx2SGQPf3rhin+rrQvA=";
+    hash = "sha256-ooZzTDmddlYwWoDMqzFPfbUImT351/ptfdlxKEtI77s=";
   };
   beta = import ./browser.nix {
     channel = "beta";
-    version = "122.0.2365.16";
+    version = "122.0.2365.38";
     revision = "1";
-    hash = "sha256-SeLX7UibXd1nOhxWwMuUTCKK4GkN2TmJPesWhLwCD6A=";
+    hash = "sha256-u0qk4T695LyhtfMw5929z4U8+jM2o/gbq8DFtD1PNTU=";
   };
   dev = import ./browser.nix {
     channel = "dev";
-    version = "123.0.2380.1";
+    version = "123.0.2400.1";
     revision = "1";
-    hash = "sha256-SBlHXURiPoC5Q7wi67tgnuV2PUw4ffniGq6kmOZtIf0=";
+    hash = "sha256-I9PT320DJgqJYNwB0pvngyLlV+N2jaS5tOwVwwNHex0=";
   };
 }
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/update.py b/pkgs/applications/networking/browsers/microsoft-edge/update.py
index 616dc0999505..724a83d09d54 100755
--- a/pkgs/applications/networking/browsers/microsoft-edge/update.py
+++ b/pkgs/applications/networking/browsers/microsoft-edge/update.py
@@ -31,7 +31,7 @@ def latest_packages(packages: bytes):
             old_package = latest_packages[channel]
             if old_package.get_version() < package.get_version():  # type: ignore
                 latest_packages[channel] = package
-    return latest_packages
+    return OrderedDict(sorted(latest_packages.items(), key=lambda x:x[0]))
 
 
 def nix_expressions(latest: dict[str, Packages]):
diff --git a/pkgs/applications/networking/browsers/netsurf/browser.nix b/pkgs/applications/networking/browsers/netsurf/browser.nix
index d9df75b00c2b..0297301096d6 100644
--- a/pkgs/applications/networking/browsers/netsurf/browser.nix
+++ b/pkgs/applications/networking/browsers/netsurf/browser.nix
@@ -5,12 +5,14 @@
 , check
 , curl
 , expat
+, gperf
 , gtk2
 , gtk3
 , libXcursor
 , libXrandr
 , libidn
 , libjpeg
+, libjxl
 , libpng
 , libwebp
 , libxml2
@@ -44,11 +46,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf";
-  version = "3.10";
+  version = "3.11";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/netsurf/releases/source/netsurf-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-NkhEKeGTYUaFwv8kb1W9Cm3d8xoBi+5F4NH3wohRmV4=";
+    hash = "sha256-wopiau/uQo0FOxP4i1xECSIkWXZSLRLq8TfP0y0gHLI=";
   };
 
   nativeBuildInputs = [
@@ -63,10 +65,12 @@ stdenv.mkDerivation (finalAttrs: {
   buildInputs = [
     check
     curl
+    gperf
     libXcursor
     libXrandr
     libidn
     libjpeg
+    libjxl
     libpng
     libwebp
     libxml2
@@ -103,8 +107,20 @@ stdenv.mkDerivation (finalAttrs: {
 
   env.NIX_CFLAGS_COMPILE = "-fcommon";
 
+  env.CFLAGS = lib.optionalString stdenv.isDarwin "-D_DARWIN_C_SOURCE";
+
+  patchPhase = lib.optionalString stdenv.cc.isClang ''
+    runHook prePatch
+
+    substituteInPlace Makefile \
+      --replace-warn '--trace' '-t' \
+      --replace-warn '-Wimplicit-fallthrough=3' '-Wimplicit-fallthrough'
+
+    runHook postPatch
+  '';
+
   preConfigure = ''
-    cat <<EOF > Makefile.conf
+    cat <<EOF > Makefile.config
     override NETSURF_GTK_RES_PATH  := $out/share/
     override NETSURF_USE_GRESOURCE := YES
     EOF
diff --git a/pkgs/applications/networking/browsers/netsurf/libcss.nix b/pkgs/applications/networking/browsers/netsurf/libcss.nix
index 66a3a4057d85..4b54f013449b 100644
--- a/pkgs/applications/networking/browsers/netsurf/libcss.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libcss.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libcss";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libcss-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-0tzhbpM5Lo1qcglCDUfC1Wo4EXAaDoGnJPxUHGPTxtw=";
+    hash = "sha256-LfIVu+w01R1gwaBLAbLfTV0Y9RDx86evS4DN21ZxFU4=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   env.NIX_CFLAGS_COMPILE = toString [
     "-Wno-error=implicit-fallthrough"
-    "-Wno-error=maybe-uninitialized"
+    "-Wno-error=${if stdenv.cc.isGNU then "maybe-uninitialized" else "uninitialized"}"
   ];
 
   meta = {
diff --git a/pkgs/applications/networking/browsers/netsurf/libdom.nix b/pkgs/applications/networking/browsers/netsurf/libdom.nix
index 328bed30f17d..2f198021fafb 100644
--- a/pkgs/applications/networking/browsers/netsurf/libdom.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libdom.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libdom";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libdom-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-mO4HJHHlXiCMmHjlFcQQrUYso2+HtK/L7K0CPzos70o=";
+    hash = "sha256-0F5FrxZUcBTCsKOuzzZw+hPUGfUFs/X8esihSR/DDzw=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/networking/browsers/netsurf/libhubbub.nix b/pkgs/applications/networking/browsers/netsurf/libhubbub.nix
index 29a312928092..5847fd21d2ae 100644
--- a/pkgs/applications/networking/browsers/netsurf/libhubbub.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libhubbub.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, gperf
 , perl
 , pkg-config
 , buildsystem
@@ -9,16 +10,17 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libhubbub";
-  version = "0.3.7";
+  version = "0.3.8";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libhubbub-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-nnriU+bJBp51frmtTkhG84tNtSwMoBUURqn6Spd3NbY=";
+    hash = "sha256-isHm9fPUjAUUHVk5FxlTQpDFnNAp78JJ60/brBAs1aU=";
   };
 
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [
+    gperf
     perl
     buildsystem
     libparserutils
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
index 9ae8dafa1b0d..a0c1cf106288 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libnsbmp";
-  version = "0.1.6";
+  version = "0.1.7";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libnsbmp-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-ecSTZfhg7UUb/EEJ7d7I3j6bfOWjvgaVlr0qoZJ5Mk8=";
+    hash = "sha256-VAenaCoSK6qqWhW1BSkOLTffVME8Xt70sJ0SyGLYIpM=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
index 20c990448e77..0f57939e1700 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libnsgif";
-  version = "0.2.1";
+  version = "1.0.0";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libnsgif-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-nq6lNM1wtTxar0UxeulXcBaFprSojb407Sb0+q6Hmks=";
+    hash = "sha256-YBTIQvYUVNL1oPgkPXqNe96bfaPM/cotNGx8CyxMBhs=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsutils.nix b/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
index 80e883e4b244..141117a94f70 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libnsutils";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libnsutils-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-eQxlFjRKvoL2KJ1lY5LpzOvkdbIMx+Hi2EMBE4X3rvA=";
+    hash = "sha256-VpS0Um5FjtAAQTzmAnWJy+EKJXp+zwZaAUIdxymd6pI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/networking/browsers/netsurf/libparserutils.nix b/pkgs/applications/networking/browsers/netsurf/libparserutils.nix
index 411495b8e215..a7db88925768 100644
--- a/pkgs/applications/networking/browsers/netsurf/libparserutils.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libparserutils.nix
@@ -3,20 +3,22 @@
 , fetchurl
 , perl
 , buildsystem
+, iconv
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libparserutils";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libparserutils-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-MiuuYbMMzt4+MFv26uJBSSBkl3W8X/HRtogBKjxJR9g=";
+    hash = "sha256-MX7VxxjxeSe1chl0uuXeMsP9bQVdsTGtMbQxKgMu0Tk=";
   };
 
   buildInputs = [
     perl
     buildsystem
+    iconv
   ];
 
   makeFlags = [
diff --git a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
index 19b523ce50ff..a672a7b7cde9 100644
--- a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libsvgtiny";
-  version = "0.1.7";
+  version = "0.1.8";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libsvgtiny-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-LA3PlS8c2ILD6VQB75RZ8W27U8XT5FEjObL563add4E=";
+    hash = "sha256-w1cifwLoP7KnaxK5ARkaCCIp2x8Ac2Lo8xx1RRDCoBw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix
index 97515d4ead7a..9e597df79288 100644
--- a/pkgs/applications/networking/cloudflared/default.nix
+++ b/pkgs/applications/networking/cloudflared/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2024.1.5";
+  version = "2024.2.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cloudflared";
     rev = "refs/tags/${version}";
-    hash = "sha256-g7FUwEs/wEcX1vRgfoQZw+uMzx6ng3j4vFwhlHs6WKg=";
+    hash = "sha256-jcIHpRHcAgzzSKvZH9SLfu5Ake3zCgsSw1iv64yXW2E=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index 37eca7125898..7391fc9d7c81 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.9.6";
+  version = "2.10.1";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = "v${version}";
-    hash = "sha256-TwDWcTxYRopQjjtY3OxOL/BDAF2/eJuqIhDJLxpgr3E=";
+    hash = "sha256-sQbRrNTeLUSal9gBAnqx+x0glPykjw0DN+j7xHoZcLY=";
   };
 
   proxyVendor = true; # darwin/linux hash mismatch
-  vendorHash = "sha256-gpg9tXVR/svWwbjIiY1OlOf56azxk/dEz+VtaaTeDSk=";
+  vendorHash = "sha256-WVufVd8E2rVBA59qEYdRq38W70lApMGZV/26jhn5HGw=";
 
   # Set target as ./cmd per cli-local
   # https://github.com/argoproj/argo-cd/blob/master/Makefile#L227
diff --git a/pkgs/applications/networking/cluster/arkade/default.nix b/pkgs/applications/networking/cluster/arkade/default.nix
index 39f5f70988c5..a8f2c5050ae5 100644
--- a/pkgs/applications/networking/cluster/arkade/default.nix
+++ b/pkgs/applications/networking/cluster/arkade/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "arkade";
-  version = "0.10.20";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "arkade";
     rev = version;
-    hash = "sha256-aOJ07Ks+J7cDvF3InKGYx4dJAql9ltJQqa8P+4cKhNk=";
+    hash = "sha256-DsKc+AT+0vIaJftBFLqVXx/CJRNNgE/vzSxlHkCSJaI=";
   };
 
   CGO_ENABLED = 0;
diff --git a/pkgs/applications/networking/cluster/atmos/default.nix b/pkgs/applications/networking/cluster/atmos/default.nix
index 20b02e7d1200..7f43c1b4657a 100644
--- a/pkgs/applications/networking/cluster/atmos/default.nix
+++ b/pkgs/applications/networking/cluster/atmos/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "atmos";
-  version = "1.60.0";
+  version = "1.63.0";
 
   src = fetchFromGitHub {
     owner = "cloudposse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-sc0tKOv5J4lF00Zzs2X6ff1EC1xrTRbDvVopq+1Wn6Y=";
+    sha256 = "sha256-3XmRTboq8DSIV4w6EFsbgl21eY3QA5DicE9nM5sAZOQ=";
   };
 
-  vendorHash = "sha256-wmpFWySQ9MaRGT3yw4gUQEWsF4MNbSDUu68/LHjE28w=";
+  vendorHash = "sha256-i7m9YXPlWqHtvC4Df7v5bLWt2tqeT933t2+Xit5RQxg=";
 
   ldflags = [ "-s" "-w" "-X github.com/cloudposse/atmos/cmd.Version=v${version}" ];
 
diff --git a/pkgs/applications/networking/cluster/calico/default.nix b/pkgs/applications/networking/cluster/calico/default.nix
index 16bf611f3665..145c5d332e00 100644
--- a/pkgs/applications/networking/cluster/calico/default.nix
+++ b/pkgs/applications/networking/cluster/calico/default.nix
@@ -2,16 +2,16 @@
 
 builtins.mapAttrs (pname: { doCheck ? true, mainProgram ? pname, subPackages }: buildGoModule rec {
   inherit pname;
-  version = "3.27.0";
+  version = "3.27.2";
 
   src = fetchFromGitHub {
     owner = "projectcalico";
     repo = "calico";
     rev = "v${version}";
-    hash = "sha256-BW7xo7gOeFOM/5EGMlhkqDyOdZOkqliWa4B2U1fLn5c=";
+    hash = "sha256-iVRK/5vjPnfJMULaufaOu8u09utSt3u85R4cIBl+yUI=";
   };
 
-  vendorHash = "sha256-DK+mkbmOS56gVU/hIqAIELTkeALcdR7Pnq5niAhyzLw=";
+  vendorHash = "sha256-h4qTtMG4Xi6YqLMMsXZRWVVdQ3U3VrFG6bV7YDwT5Zk=";
 
   inherit doCheck subPackages;
 
diff --git a/pkgs/applications/networking/cluster/cmctl/default.nix b/pkgs/applications/networking/cluster/cmctl/default.nix
index 73dffd03400b..e871b43a91d5 100644
--- a/pkgs/applications/networking/cluster/cmctl/default.nix
+++ b/pkgs/applications/networking/cluster/cmctl/default.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "cmctl";
-  version = "1.14.1";
+  version = "1.14.2";
 
   src = fetchFromGitHub {
     owner = "cert-manager";
     repo = "cert-manager";
     rev = "v${version}";
-    hash = "sha256-tS/s8zrOomuUBIoIh81RMdwmPM9pcz4cNSKVQfNxlrI=";
+    hash = "sha256-pq7v7j/w+gDlyjYyrOk86YW76rwxLQQUFwhaPrblCSw=";
   };
 
   sourceRoot = "${src.name}/cmd/ctl";
 
-  vendorHash = "sha256-9Y8u6DVS08liliMNEalX6XQU50qRFy5qZq/9EvRSBRQ=";
+  vendorHash = "sha256-HHlZkxXEJIP3u2rB4+B8Z9vcGwzRT5dtjf5Hu1WVroI=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/glooctl/default.nix b/pkgs/applications/networking/cluster/glooctl/default.nix
index 6b7f263a1aea..afb7fe938709 100644
--- a/pkgs/applications/networking/cluster/glooctl/default.nix
+++ b/pkgs/applications/networking/cluster/glooctl/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "glooctl";
-  version = "1.16.3";
+  version = "1.16.4";
 
   src = fetchFromGitHub {
     owner = "solo-io";
     repo = "gloo";
     rev = "v${version}";
-    hash = "sha256-BGyaYINFFCqEH+UH8XqKom+2eUhgPRF3cMp9fq3whpI=";
+    hash = "sha256-gLm9PEcNg/YeAjT97W9jDOi4ECBrmp2ZAuUTkhZNxyw=";
   };
 
   vendorHash = "sha256-GTd38gSlCKTjfLkAW/Tz22oQJ4FhZB+9vpN/8q4JSCo=";
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 474eb557c6b7..3d2c2ffbf3ee 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubernetes-helm";
-  version = "3.14.0";
+  version = "3.14.1";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "sha256-xkMPROdhZ6mq839aMkpCvYIU8SVt48K0n17WnYFfQ+0=";
+    sha256 = "sha256-J7hREQMPN1RrnPmOyK2XgfvbAH2dl2H5TopnH8fF1V8=";
   };
   vendorHash = "sha256-pYB9J7Zf6MApGpFL7HzqIDcC/vERiVE4z8SsipIeJ7c=";
 
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
index 3ed94a3a621c..267aceb08298 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helm-diff";
-  version = "3.9.2";
+  version = "3.9.4";
 
   src = fetchFromGitHub {
     owner = "databus23";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4EjvjvW8aal/ekGV0ePevPf30NarrWIh6id30n1r2dE=";
+    sha256 = "sha256-hDni0bAF4tp7upP/D5S6dGN//zaNHidWAYf/l6W9j28=";
   };
 
-  vendorHash = "sha256-RPb5+tZkOsubOl0YlSXsybmlOtKVbJ97c+f/wiz/gmE=";
+  vendorHash = "sha256-51xjHGU9TC4Nwa9keR0b7bgwpZcRmG7duT9R1JRr3Uw=";
 
   ldflags = [ "-s" "-w" "-X github.com/databus23/helm-diff/v3/cmd.Version=${version}" ];
 
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index 24a0df3f70b5..4c19d2404834 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.20.2";
+  version = "1.20.3";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    hash = "sha256-0Ep7HPc+1e2M87Z6qCKvAxpYxWjajruTrpP9EBe1PC0=";
+    hash = "sha256-NimwuQj/EvWtXt87LgHWwcZ2hAd548o/agXY4TVK63o=";
   };
-  vendorHash = "sha256-o9NFRVAY5AD5CB9GGSJTvxJM6uXBrDQVBy1slOByIrU=";
+  vendorHash = "sha256-4HzUsTLt4R35TS4jKOmrKW0At9q8W61TU+NTQ/K7Axk=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/k3s/1_28/versions.nix b/pkgs/applications/networking/cluster/k3s/1_28/versions.nix
index f1d3ea13177a..2b8085795577 100644
--- a/pkgs/applications/networking/cluster/k3s/1_28/versions.nix
+++ b/pkgs/applications/networking/cluster/k3s/1_28/versions.nix
@@ -1,8 +1,8 @@
 {
-  k3sVersion = "1.28.6+k3s1";
-  k3sCommit = "39a0001575780fffa6aae0271f4cb4ce7413aac8";
-  k3sRepoSha256 = "1bhbpbgs02gh5y7pgn6vmanacrz3p0b2gq3w2kqpb11bijp2alld";
-  k3sVendorHash = "sha256-Mo+gZ+NOZqd3CP/Z02LfO4dHyEuRhabZVAU60GofOMo=";
+  k3sVersion = "1.28.6+k3s2";
+  k3sCommit = "c9f49a3b06cd7ebe793f8cc1dcd0293168e743d9";
+  k3sRepoSha256 = "0vz5976q58v9x6g1qz6kz3xksgf8gm1f727ccckmpbyxbhw75zsa";
+  k3sVendorHash = "sha256-HG4x3N/F5qCFpLxGrUWPkBHHqY7WBRDWN7DNyAcJwyI=";
   chartVersions = import ./chart-versions.nix;
   k3sRootVersion = "0.12.2";
   k3sRootSha256 = "1gjynvr350qni5mskgm7pcc7alss4gms4jmkiv453vs8mmma9c9k";
diff --git a/pkgs/applications/networking/cluster/k3s/1_29/versions.nix b/pkgs/applications/networking/cluster/k3s/1_29/versions.nix
index 00bc1476306d..bfb337a9824b 100644
--- a/pkgs/applications/networking/cluster/k3s/1_29/versions.nix
+++ b/pkgs/applications/networking/cluster/k3s/1_29/versions.nix
@@ -1,8 +1,8 @@
 {
-  k3sVersion = "1.29.0+k3s1";
-  k3sCommit = "3190a5faa28d7a0d428c756d67adcab7eb11e6a5";
-  k3sRepoSha256 = "1g75a7kz9nnv0vagzhggkw0zqigykimdwsmibgssa8vyjpg7idda";
-  k3sVendorHash = "sha256-iHmPVjYR/ZLH9UZ5yNEApyuGQsEwtxVbQw7Pu7WrpaQ=";
+  k3sVersion = "1.29.1+k3s2";
+  k3sCommit = "57482a1c1bb9c67b5f893418a114edca1004258e";
+  k3sRepoSha256 = "0pvab3dd6dzgk1zgra4jmdwba5b8xssfjr3mihwq1h0c5bxf1cza";
+  k3sVendorHash = "sha256-EkRbdUoYpK7M+Wbc2Cf37bOwdwPB6/xLxULO7Bkpt5c=";
   chartVersions = import ./chart-versions.nix;
   k3sRootVersion = "0.12.2";
   k3sRootSha256 = "1gjynvr350qni5mskgm7pcc7alss4gms4jmkiv453vs8mmma9c9k";
diff --git a/pkgs/applications/networking/cluster/k3s/builder.nix b/pkgs/applications/networking/cluster/k3s/builder.nix
index a914cf87102e..3f44deb9771d 100644
--- a/pkgs/applications/networking/cluster/k3s/builder.nix
+++ b/pkgs/applications/networking/cluster/k3s/builder.nix
@@ -30,6 +30,7 @@ lib:
 # It is likely we will have to split out additional builders for additional
 # versions in the future, or customize this one further.
 { lib
+, fetchpatch
 , makeWrapper
 , socat
 , iptables
@@ -184,6 +185,16 @@ let
     src = k3sRepo;
     vendorHash = k3sVendorHash;
 
+    patches =
+      # Disable: Add runtime checking of golang version
+      lib.optional (lib.versionAtLeast k3sVersion "1.28")
+        (fetchpatch {
+          # https://github.com/k3s-io/k3s/pull/9054
+          url = "https://github.com/k3s-io/k3s/commit/b297996b9252b02e56e9425f55f6becbf6bb7832.patch";
+          hash = "sha256-xBOY2jnLhT9dtVKtq26V9QUnuX1q6E/9UcO9IaU719U=";
+          revert = true;
+        });
+
     nativeBuildInputs = [ pkg-config ];
     buildInputs = [ libseccomp sqlite.dev ];
 
diff --git a/pkgs/applications/networking/cluster/k8sgpt/default.nix b/pkgs/applications/networking/cluster/k8sgpt/default.nix
index 9f9e4bc6740b..a24b521e242c 100644
--- a/pkgs/applications/networking/cluster/k8sgpt/default.nix
+++ b/pkgs/applications/networking/cluster/k8sgpt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "k8sgpt";
-  version = "0.3.26";
+  version = "0.3.27";
 
   src = fetchFromGitHub {
     owner = "k8sgpt-ai";
     repo = "k8sgpt";
     rev = "v${version}";
-    hash = "sha256-FUYtBoJAnY8WRh0eABniOgg781UooG67RKTHp1u3SiQ=";
+    hash = "sha256-HWcEcufn0NM+7AF4/M29bsUoQYlVA1nbrkCKt9F1g6k=";
   };
 
-  vendorHash = "sha256-sd4QIQQpDyPV4pqk9VJBApzRzjwxMFieCOQQjJzFXHc=";
+  vendorHash = "sha256-b8Y95BDOR5HI6QMU4XLn5FmSHFD9fntc80r84KgmkuY=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/applications/networking/cluster/k9s/default.nix b/pkgs/applications/networking/cluster/k9s/default.nix
index c40a5c3d5613..7b238fb8b1f1 100644
--- a/pkgs/applications/networking/cluster/k9s/default.nix
+++ b/pkgs/applications/networking/cluster/k9s/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "k9s";
-  version = "0.31.8";
+  version = "0.31.9";
 
   src = fetchFromGitHub {
     owner = "derailed";
     repo = "k9s";
     rev = "v${version}";
-    hash = "sha256-sZtMeFoi3UJO5uV4zOez1TbpBCtfclGhZTrYGZ/+Mio=";
+    hash = "sha256-yPSAHqnGdLW2a2TCR7HPl8e5WlG+ruHwITATtivtBnw=";
   };
 
   ldflags = [
@@ -23,7 +23,7 @@ buildGoModule rec {
 
   proxyVendor = true;
 
-  vendorHash = "sha256-0Tq74BtSk5mp0eZjTevvDFWnEc5tnSwO7ZckcJXd/Yo=";
+  vendorHash = "sha256-roHFUKH72BSzqZp2qh/Hw7rfTXj9yqpJyB2dozUz+Y8=";
 
   # TODO investigate why some config tests are failing
   doCheck = !(stdenv.isDarwin && stdenv.isAarch64);
diff --git a/pkgs/applications/networking/cluster/kubectl-klock/default.nix b/pkgs/applications/networking/cluster/kubectl-klock/default.nix
index 4b617fd8d854..044e12837c9d 100644
--- a/pkgs/applications/networking/cluster/kubectl-klock/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl-klock/default.nix
@@ -1,17 +1,23 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper }:
 
 buildGoModule rec {
   pname = "kubectl-klock";
-  version = "0.5.0";
+  version = "0.5.1";
+
+  nativeBuildInputs = [ makeWrapper ];
 
   src = fetchFromGitHub {
     owner = "applejag";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fR97rTMFwtqVH9wqKy1+EzKKg753c18v8VDCQ2Y69+s=";
+    hash = "sha256-q7Wq1mTjOB7tT66+LWIwwqltQcQSHD/VHLO7nCTZTQ0=";
   };
 
-  vendorHash = "sha256-AkYKKM4PR/msG44MwdSq6XAf6EvdtJHoXyw7Xj7MXso=";
+  vendorHash = "sha256-3CJ/tmFFkmq6wHxbqk8u+GxxbSrUpB/JD5s/S7hegB8=";
+
+  postInstall = ''
+    makeWrapper $out/bin/kubectl-klock $out/bin/kubectl_complete-klock --add-flags __complete
+  '';
 
   meta = with lib; {
     description = "A kubectl plugin to render watch output in a more readable fashion";
diff --git a/pkgs/applications/networking/cluster/kubedb-cli/default.nix b/pkgs/applications/networking/cluster/kubedb-cli/default.nix
index 1972ad27af33..c965e6a3046f 100644
--- a/pkgs/applications/networking/cluster/kubedb-cli/default.nix
+++ b/pkgs/applications/networking/cluster/kubedb-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubedb-cli";
-  version = "0.41.0";
+  version = "0.42.0";
 
   src = fetchFromGitHub {
     owner = "kubedb";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-P4B5N2hIDTYtrHk86n3MCvy6IXlDyAUc1wFhXmEkQFA=";
+    sha256 = "sha256-1HxTpDBKZZoGlsGra2DXw4kEDTUOcrayDvbUzUY/y1k=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index f67d650e77a5..5e8cfc2b166c 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -20,13 +20,13 @@
 
 buildGoModule rec {
   pname = "kubernetes";
-  version = "1.28.4";
+  version = "1.29.2";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    hash = "sha256-aaGcAIyy0hFJGFfOq5FaF0qAlygXcs2WcwgvMe5dkbo=";
+    hash = "sha256-DFQaDlp8CqN0jKTVO5N9ZQYyM2gm/VnQfO4/bfvYrTE=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/kubeseal/default.nix b/pkgs/applications/networking/cluster/kubeseal/default.nix
index eef739ebdbf4..921797d1591a 100644
--- a/pkgs/applications/networking/cluster/kubeseal/default.nix
+++ b/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubeseal";
-  version = "0.25.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner = "bitnami-labs";
     repo = "sealed-secrets";
     rev = "v${version}";
-    sha256 = "sha256-maDfKFrszKexwzHw50iPu+aLLhi/QqKj6zmes9kS5Lk=";
+    sha256 = "sha256-rOaczDGjocGpYEPJpMiveWE7sHU9L0Csx2nX0Z3IrBs=";
   };
 
-  vendorHash = "sha256-3SrfD+6Gg9T9Qtb2PbipJZTe8Szs8Cef/61alwgHUUA=";
+  vendorHash = "sha256-UicMiSSSQzquNAHFpnWKbybimz3jjbBgWykhyRSU7ZI=";
 
   subPackages = [ "cmd/kubeseal" ];
 
diff --git a/pkgs/applications/networking/cluster/kubeshark/default.nix b/pkgs/applications/networking/cluster/kubeshark/default.nix
index e60da24772cc..4149962e49ff 100644
--- a/pkgs/applications/networking/cluster/kubeshark/default.nix
+++ b/pkgs/applications/networking/cluster/kubeshark/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubeshark";
-  version = "52.1.30";
+  version = "52.1.45";
 
   src = fetchFromGitHub {
     owner = "kubeshark";
     repo = "kubeshark";
     rev = "v${version}";
-    hash = "sha256-9nlPfWKgx56evxJkW+iRWJCBxqmMaBH0nCJBAAoibJc=";
+    hash = "sha256-XxdOXcdXkMedhhuVbWNnW0ONVmEhsXyFqyN2moj46Nc=";
   };
 
   vendorHash = "sha256-SmvO9DYOXxnmN2dmHPPOguVwEbWSH/xNLBB+idpzopo=";
diff --git a/pkgs/applications/networking/cluster/linkerd/edge.nix b/pkgs/applications/networking/cluster/linkerd/edge.nix
index 7d2b896b4c3a..3feed7bf8e4b 100644
--- a/pkgs/applications/networking/cluster/linkerd/edge.nix
+++ b/pkgs/applications/networking/cluster/linkerd/edge.nix
@@ -2,7 +2,7 @@
 
 (callPackage ./generic.nix { }) {
   channel = "edge";
-  version = "24.2.1";
-  sha256 = "1flbjsa2wj35zgiq4vgb2bqvjvxmpla6fnrlkwnh2l10w4i2n5sl";
-  vendorHash = "sha256-1DyqtUSMzVahy8yzX8HAnCe3UI5Z1Pht5XQaMS2i9mw=";
+  version = "24.2.3";
+  sha256 = "0l1sa8xzqddvyzlzddcb9nbvxlj06dm5l6fb0f6fw9ay0d8qm22k";
+  vendorHash = "sha256-g1e1uY43fUC2srKK9erVFlJDSwWrEvq4ni0PgeCFaOg=";
 }
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index dbd04f026dfa..bd9d0fece1b5 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -7,7 +7,10 @@
 , which
 , libvirt
 , vmnet
+, withQemu ? false
+, qemu
 , makeWrapper
+, OVMF
 }:
 
 buildGoModule rec {
@@ -24,6 +27,22 @@ buildGoModule rec {
     rev = "v${version}";
     sha256 = "sha256-2EWaMpcr4F1wRzIP1rPg1a/Sjd1x+oo2ee90k4Ie8cU=";
   };
+  postPatch =
+    (
+      lib.optionalString (withQemu && stdenv.isDarwin) ''
+        substituteInPlace \
+          pkg/minikube/registry/drvs/qemu2/qemu2.go \
+          --replace "/usr/local/opt/qemu/share/qemu" "${qemu}/share/qemu" \
+          --replace "/opt/homebrew/opt/qemu/share/qemu" "${qemu}/share/qemu"
+      ''
+    ) + (
+      lib.optionalString (withQemu && stdenv.isLinux) ''
+        substituteInPlace \
+          pkg/minikube/registry/drvs/qemu2/qemu2.go \
+          --replace "/usr/share/OVMF/OVMF_CODE.fd" "${OVMF.firmware}" \
+          --replace "/usr/share/AAVMF/AAVMF_CODE.fd" "${OVMF.firmware}"
+      ''
+    );
 
   nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ];
 
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index 84d27a186c12..dd0eced01663 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "1.7.3";
+  version = "1.7.4";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Y76H/88/esziIermnzfOS48FLBRnVBN8u4C381n184M=";
+    hash = "sha256-d90xwrMtDK5ibRHIeV6nzv5jqJfaQXpU9xKTH49yiX4=";
   };
 
   vendorHash = "sha256-oiBgZQtqFwq189h/Bb4CrFhs4RDYUoEEOjrccujGclU=";
diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix
index 2f76d4c17421..e0181e69c0b9 100644
--- a/pkgs/applications/networking/cluster/nomad/default.nix
+++ b/pkgs/applications/networking/cluster/nomad/default.nix
@@ -57,9 +57,9 @@ rec {
 
   nomad_1_5 = generic {
     buildGoModule = buildGo121Module;
-    version = "1.5.13";
-    sha256 = "sha256-SFPjcr3W6Sj1n+1ooi1HDMQEapgGapVy4HtqxSIVi9U=";
-    vendorHash = "sha256-F9lzO3jMVbDq8sA4rBo81vmIoOhK2N8d4HXX58HOw18=";
+    version = "1.5.15";
+    sha256 = "sha256-OFmGOU+ObA0+BS48y0ZyyxR+VI5DYL39peVKcyVHgGI=";
+    vendorHash = "sha256-Ds94lB43cyMNyRJZti0mZDWGTtSdwY31dDijfAUxR0I=";
     license = lib.licenses.mpl20;
     passthru.tests.nomad = nixosTests.nomad;
     preCheck = ''
@@ -69,9 +69,9 @@ rec {
 
   nomad_1_6 = generic {
     buildGoModule = buildGo121Module;
-    version = "1.6.6";
-    sha256 = "sha256-E7HLBABOtDO/BUc2+4mD4yJ/sfy85gy67ZylRTZI3Cg=";
-    vendorHash = "sha256-6jq00RsukuP8OSkXhqYqQxpXtp/jm/GChEwEJTVyO10=";
+    version = "1.6.8";
+    sha256 = "sha256-lc/HZgyzqWZNW2WHOFZ43gCeL5Y2hwK4lXPgWGboPOY=";
+    vendorHash = "sha256-ecLhq4OHDhA1Bd/97NMpfePqtuCtVje3BdvCzcwWzas=";
     license = lib.licenses.mpl20;
     passthru.tests.nomad = nixosTests.nomad;
     preCheck = ''
@@ -81,9 +81,9 @@ rec {
 
   nomad_1_7 = generic {
     buildGoModule = buildGo121Module;
-    version = "1.7.4";
-    sha256 = "sha256-iyY899W/uwP/wQcarKufSpJdXRAtwDxT6yw5vrB6Xmk=";
-    vendorHash = "sha256-yPf19IRTq+LAaoHsEFVuPJLapFxH3o16y0PbYW0ehiw=";
+    version = "1.7.5";
+    sha256 = "sha256-uwPAmmxxlPp5NuuCUTv5VykX+q2vbA0yCRoblrJPP1g=";
+    vendorHash = "sha256-xu1odCHUO3cv0ldXj3T8aM+fqPzc4r1gyFWsiuyzOpU=";
     license = lib.licenses.bsl11;
     passthru.tests.nomad = nixosTests.nomad;
     preCheck = ''
diff --git a/pkgs/applications/networking/cluster/rke/default.nix b/pkgs/applications/networking/cluster/rke/default.nix
index f36ee0254c1d..c349e93b6ba3 100644
--- a/pkgs/applications/networking/cluster/rke/default.nix
+++ b/pkgs/applications/networking/cluster/rke/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "rke";
-  version = "1.5.3";
+  version = "1.5.5";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-p1hkiXHwh8Vo2LIP1BeE5XSc/gKjn9XN30usGwCVj7w=";
+    hash = "sha256-TPgXjM7RyjI8NmfiZHkHF3txfzAwjOg7kGODBj37JEI=";
   };
 
-  vendorHash = "sha256-eH4FBfX9LNb1UgSRsYSd1Fn2Ju+cL6t64u+/sf9uzNM=";
+  vendorHash = "sha256-0H9K3/BwdSExADFHaYtn2RrHZ6AyEjzlBKYXL/Ow9JA=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 559cb30b3155..f143d2c3fca5 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -26,7 +26,7 @@ let
         inherit hash;
       };
 
-      ldflags = [ "-s" "-w" ];
+      ldflags = [ "-s" "-w" "-X 'github.com/hashicorp/terraform/version.dev=no'" ];
 
       postConfigure = ''
         # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index e3d2bdce753b..2ec7c8bed835 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.55.2";
+  version = "0.55.3";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-6lUBtTG05Bz+M9Jj5HaOqG2yelwbC1trCM33NzUP1U4=";
+    hash = "sha256-FwLL2/V8LIihsr3/JBIuzUH37sRX2xw7nk+KlIIhzxs=";
   };
 
   vendorHash = "sha256-uFSkolmQV11cY+3ZWrlByHDFolpr2E+9/R95bhBn6zo=";
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index d08fb76b68fa..486bfe5a6429 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.289";
+  version = "1.2.292";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    hash = "sha256-0BinJVTjD8iDlhK50qVODQIKj1KDwhgOMg3HHstYHeg=";
+    hash = "sha256-jBGAd7He2ap7+IF5Og7J6iBoIoLG8KqxSLcPKogJwP8=";
   };
 
-  vendorHash = "sha256-YHLa0hTXCswkvVxyNp5ezqyEu18Jfnl9n7JMdqMeBSA=";
+  vendorHash = "sha256-JaAiQC5QnamzUz1hPSldXtZqhTQIlGFGMYhLJd7t3j4=";
 
   proxyVendor = true;
 
diff --git a/pkgs/applications/networking/discordo/default.nix b/pkgs/applications/networking/discordo/default.nix
index bb426cbc777c..029ad55ae030 100644
--- a/pkgs/applications/networking/discordo/default.nix
+++ b/pkgs/applications/networking/discordo/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "discordo";
-  version = "unstable-2024-01-25";
+  version = "unstable-2024-02-16";
 
   src = fetchFromGitHub {
     owner = "ayn2op";
     repo = pname;
-    rev = "301b7c7a792b427595803679e37fe99007de9451";
-    hash = "sha256-ufAlwlH++g9L3aaA5soJ6r2oiJZi8Ny/6P530oV+BiY=";
+    rev = "7476d8b391f23fa576f8f34eef3829c6212c6331";
+    hash = "sha256-x1/CXHqfiT0HgIPsiRluifPOJUrulN+fih0aOrj3us0=";
   };
 
-  vendorHash = "sha256-fy3FI1K57hLAgbw3WfmVNZT9ywCSXwRKSq+ATjG+Qpo=";
+  vendorHash = "sha256-PW0PPMlNB5aa81tsYWUk9mWfSyafI5A0OxqJTCe0OdI=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock b/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock
index 3afc84905fb5..da247efb5c8b 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock
+++ b/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock
@@ -31,9 +31,9 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "1.1.1"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
@@ -83,9 +83,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.5.0"
+version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
+checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -97,43 +97,43 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.3"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.1"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
 dependencies = [
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.0"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
 dependencies = [
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "2.1.0"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
 dependencies = [
  "anstyle",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.75"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
 
 [[package]]
 name = "arc-swap"
@@ -144,9 +144,9 @@ checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
 [[package]]
 name = "article_scraper"
 version = "2.0.0"
-source = "git+https://gitlab.com/news-flash/article_scraper.git#f9812b556c9cf05de13d936ea73f03c95de79bbc"
+source = "git+https://gitlab.com/news-flash/article_scraper.git#0dcebe8b49b8d867810d0f7ff155e502f637bb96"
 dependencies = [
- "base64 0.21.4",
+ "base64",
  "chrono",
  "encoding_rs",
  "escaper",
@@ -157,7 +157,7 @@ dependencies = [
  "once_cell",
  "regex",
  "reqwest",
- "rust-embed 6.8.1",
+ "rust-embed",
  "thiserror",
  "tokio",
  "url",
@@ -165,16 +165,16 @@ dependencies = [
 
 [[package]]
 name = "ashpd"
-version = "0.6.2"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3affe251686bd936a0afb74b9693e8bf2f193d51da1b9a45d3f1303a9bd2cc7"
+checksum = "01992ad7774250d5b7fe214e2676cb99bf92564436d8135ab44fe815e71769a9"
 dependencies = [
- "async-std",
+ "async-fs 2.1.1",
+ "async-net",
  "enumflags2",
  "futures-channel",
  "futures-util",
- "once_cell",
- "rand 0.8.5",
+ "rand",
  "serde",
  "serde_repr",
  "url",
@@ -193,20 +193,22 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "1.9.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
  "concurrent-queue",
- "event-listener 2.5.3",
+ "event-listener 5.0.0",
+ "event-listener-strategy 0.5.0",
  "futures-core",
+ "pin-project-lite",
 ]
 
 [[package]]
 name = "async-compression"
-version = "0.4.3"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb42b2197bf15ccb092b62c74515dbd8b86d0effd934795f6687c93b6e679a2c"
+checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c"
 dependencies = [
  "brotli",
  "flate2",
@@ -218,15 +220,15 @@ dependencies = [
 
 [[package]]
 name = "async-executor"
-version = "1.5.3"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78f2db9467baa66a700abce2a18c5ad793f6f83310aca1284796fc3921d113fd"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
 dependencies = [
- "async-lock",
+ "async-lock 3.3.0",
  "async-task",
  "concurrent-queue",
  "fastrand 2.0.1",
- "futures-lite",
+ "futures-lite 2.2.0",
  "slab",
 ]
 
@@ -236,25 +238,21 @@ version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06"
 dependencies = [
- "async-lock",
+ "async-lock 2.8.0",
  "autocfg",
  "blocking",
- "futures-lite",
+ "futures-lite 1.13.0",
 ]
 
 [[package]]
-name = "async-global-executor"
-version = "2.3.1"
+name = "async-fs"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
+checksum = "bc19683171f287921f2405677dd2ed2549c3b3bda697a563ebc3a121ace2aba1"
 dependencies = [
- "async-channel",
- "async-executor",
- "async-io",
- "async-lock",
+ "async-lock 3.3.0",
  "blocking",
- "futures-lite",
- "once_cell",
+ "futures-lite 2.2.0",
 ]
 
 [[package]]
@@ -263,21 +261,40 @@ version = "1.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
 dependencies = [
- "async-lock",
+ "async-lock 2.8.0",
  "autocfg",
  "cfg-if",
  "concurrent-queue",
- "futures-lite",
+ "futures-lite 1.13.0",
  "log",
  "parking",
- "polling",
- "rustix 0.37.23",
+ "polling 2.8.0",
+ "rustix 0.37.27",
  "slab",
- "socket2 0.4.9",
+ "socket2 0.4.10",
  "waker-fn",
 ]
 
 [[package]]
+name = "async-io"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
+dependencies = [
+ "async-lock 3.3.0",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-io",
+ "futures-lite 2.2.0",
+ "parking",
+ "polling 3.4.0",
+ "rustix 0.38.31",
+ "slab",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "async-lock"
 version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -287,20 +304,42 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-lock"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
+dependencies = [
+ "event-listener 4.0.3",
+ "event-listener-strategy 0.4.0",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-net"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7"
+dependencies = [
+ "async-io 2.3.1",
+ "blocking",
+ "futures-lite 2.2.0",
+]
+
+[[package]]
 name = "async-process"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf012553ce51eb7aa6dc2143804cc8252bd1cb681a1c5cb7fa94ca88682dee1d"
+checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88"
 dependencies = [
- "async-io",
- "async-lock",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
  "async-signal",
  "blocking",
  "cfg-if",
- "event-listener 3.0.0",
- "futures-lite",
- "rustix 0.38.14",
- "windows-sys",
+ "event-listener 3.1.0",
+ "futures-lite 1.13.0",
+ "rustix 0.38.31",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -311,69 +350,42 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "async-signal"
-version = "0.2.1"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4af361a844928cb7d36590d406709473a1b574f443094422ef166daa3b493208"
+checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-io",
- "async-lock",
+ "async-io 2.3.1",
+ "async-lock 2.8.0",
  "atomic-waker",
  "cfg-if",
- "concurrent-queue",
  "futures-core",
  "futures-io",
- "libc",
+ "rustix 0.38.31",
  "signal-hook-registry",
  "slab",
- "windows-sys",
-]
-
-[[package]]
-name = "async-std"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
-dependencies = [
- "async-channel",
- "async-global-executor",
- "async-io",
- "async-lock",
- "crossbeam-utils",
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-lite",
- "gloo-timers",
- "kv-log-macro",
- "log",
- "memchr",
- "once_cell",
- "pin-project-lite",
- "pin-utils",
- "slab",
- "wasm-bindgen-futures",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "async-task"
-version = "4.4.1"
+version = "4.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
 
 [[package]]
 name = "async-trait"
-version = "0.1.73"
+version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -405,21 +417,15 @@ dependencies = [
 
 [[package]]
 name = "base64"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
-[[package]]
-name = "base64"
-version = "0.21.4"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "bigdecimal"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "454bca3db10617b88b566f205ed190aedb0e0e6dd4cad61d3988a72e8c5594cb"
+checksum = "c06619be423ea5bb86c95f087d5707942791a08a85530df0db2209a3ecfb8bc9"
 dependencies = [
  "autocfg",
  "libm",
@@ -442,9 +448,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.0"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 
 [[package]]
 name = "block"
@@ -489,25 +495,25 @@ checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
 
 [[package]]
 name = "blocking"
-version = "1.4.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94c4ef1f913d78636d78d538eec1f18de81e481f44b1be0a81060090530846e1"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
  "async-channel",
- "async-lock",
+ "async-lock 3.3.0",
  "async-task",
  "fastrand 2.0.1",
  "futures-io",
- "futures-lite",
+ "futures-lite 2.2.0",
  "piper",
  "tracing",
 ]
 
 [[package]]
 name = "brotli"
-version = "3.3.4"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68"
+checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -516,9 +522,9 @@ dependencies = [
 
 [[package]]
 name = "brotli-decompressor"
-version = "2.3.4"
+version = "2.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744"
+checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -526,27 +532,27 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "d32a994c2b3ca201d9b263612a374263f05e7adde37c4707f693dcd375076d1f"
 
 [[package]]
 name = "bytecount"
-version = "0.6.3"
+version = "0.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c"
+checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205"
 
 [[package]]
 name = "bytemuck"
-version = "1.14.0"
+version = "1.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
 
 [[package]]
 name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
@@ -562,23 +568,22 @@ checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc"
 
 [[package]]
 name = "cairo-rs"
-version = "0.18.2"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c0466dfa8c0ee78deef390c274ad756801e0a6dbb86c5ef0924a298c5761c4d"
+checksum = "2650f66005301bd33cc486dec076e1293c4cecf768bc7ba9bf5d2b1be339b99c"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.2",
  "cairo-sys-rs",
  "glib",
  "libc",
- "once_cell",
  "thiserror",
 ]
 
 [[package]]
 name = "cairo-sys-rs"
-version = "0.18.2"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51"
+checksum = "fd3bb3119664efbd78b5e6c93957447944f16bdbced84c17a9f41c7829b81e64"
 dependencies = [
  "glib-sys",
  "libc",
@@ -596,9 +601,9 @@ dependencies = [
 
 [[package]]
 name = "cargo-platform"
-version = "0.1.3"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479"
+checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f"
 dependencies = [
  "serde",
 ]
@@ -627,9 +632,9 @@ dependencies = [
 
 [[package]]
 name = "cfg-expr"
-version = "0.15.5"
+version = "0.15.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3"
+checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d"
 dependencies = [
  "smallvec",
  "target-lexicon",
@@ -643,16 +648,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "js-sys",
  "num-traits",
  "wasm-bindgen",
- "windows-targets",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -666,9 +671,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.5"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "824956d0dca8334758a5b7f7e50518d66ea319330cbceedcf76905c2f6ab30e3"
+checksum = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -676,9 +681,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.5"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "122ec64120a49b4563ccaedcbea7818d069ed8e9aa6d829b82d8a4128936b2ab"
+checksum = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99"
 dependencies = [
  "anstream",
  "anstyle",
@@ -688,27 +693,27 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "4.4.2"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.5.1"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "color-backtrace"
-version = "0.6.0"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6fcd4d200ae702628e8d54bafff5f7e7397b031a5849656a6f5bfe2c5fb780d"
+checksum = "150fd80a270c0671379f388c8204deb6a746bb4eac8a6c03fe2460b2c0127ea0"
 dependencies = [
  "backtrace",
  "termcolor",
@@ -728,10 +733,11 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
 name = "commafeed_api"
-version = "0.1.0"
-source = "git+https://gitlab.com/news-flash/commafeed_api.git#701976f8fccf887416a1306b6d0e0a3bb026573f"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "013b56b25f5e10cae0fac4564fd64aa54766a860b896fc2d582f97616be6e92c"
 dependencies = [
- "base64 0.21.4",
+ "base64",
  "chrono",
  "log",
  "reqwest",
@@ -743,18 +749,18 @@ dependencies = [
 
 [[package]]
 name = "concurrent-queue"
-version = "2.3.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
 dependencies = [
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "cookie"
-version = "0.16.2"
+version = "0.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
+checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24"
 dependencies = [
  "percent-encoding",
  "time",
@@ -763,12 +769,12 @@ dependencies = [
 
 [[package]]
 name = "cookie_store"
-version = "0.16.2"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d606d0fba62e13cf04db20536c05cb7f13673c161cb47a47a82b9b9e7d3f1daa"
+checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6"
 dependencies = [
  "cookie",
- "idna 0.2.3",
+ "idna 0.3.0",
  "log",
  "publicsuffix",
  "serde",
@@ -780,9 +786,9 @@ dependencies = [
 
 [[package]]
 name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -790,79 +796,70 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "crc-any"
-version = "2.4.3"
+version = "2.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "774646b687f63643eb0f4bf13dc263cb581c8c9e57973b6ddf78bda3994d88df"
+checksum = "c01a5e1f881f6fb6099a7bdf949e946719fd4f1fefa56264890574febf0eb6d0"
 dependencies = [
  "debug-helper",
 ]
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.8"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
- "memoffset 0.9.0",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crunchy"
@@ -882,9 +879,9 @@ dependencies = [
 
 [[package]]
 name = "data-encoding"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
 name = "debug-helper"
@@ -894,9 +891,12 @@ checksum = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e"
 
 [[package]]
 name = "deranged"
-version = "0.3.8"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
 
 [[package]]
 name = "derivative"
@@ -928,9 +928,9 @@ checksum = "3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7"
 
 [[package]]
 name = "diesel"
-version = "2.1.2"
+version = "2.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53c8a2cb22327206568569e5a45bb5a2c946455efdd76e24d15b7e82171af95e"
+checksum = "62c6fcf842f17f8c78ecf7c81d75c5ce84436b41ee07e03f490fbb5f5a8731d8"
 dependencies = [
  "bigdecimal",
  "chrono",
@@ -956,7 +956,7 @@ dependencies = [
  "diesel_table_macro_syntax",
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -976,7 +976,7 @@ version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5"
 dependencies = [
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1021,31 +1021,11 @@ dependencies = [
 
 [[package]]
 name = "dirs"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
-dependencies = [
- "dirs-sys 0.3.7",
-]
-
-[[package]]
-name = "dirs"
 version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
 dependencies = [
- "dirs-sys 0.4.1",
-]
-
-[[package]]
-name = "dirs-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
+ "dirs-sys",
 ]
 
 [[package]]
@@ -1057,14 +1037,14 @@ dependencies = [
  "libc",
  "option-ext",
  "redox_users",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "either"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
 name = "encoding_rs"
@@ -1083,21 +1063,21 @@ checksum = "b5320ae4c3782150d900b79807611a59a99fc9a1d61d686faafc24b93fc8d7ca"
 
 [[package]]
 name = "enum-as-inner"
-version = "0.5.1"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116"
+checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "enumflags2"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939"
+checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d"
 dependencies = [
  "enumflags2_derive",
  "serde",
@@ -1105,13 +1085,13 @@ dependencies = [
 
 [[package]]
 name = "enumflags2_derive"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
+checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1122,23 +1102,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "cc",
  "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1167,9 +1136,20 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "event-listener"
-version = "3.0.0"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "4.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29e56284f00d94c1bc7fd3c77027b4623c88c1f53d8d2394c6199f2921dea325"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -1177,10 +1157,41 @@ dependencies = [
 ]
 
 [[package]]
+name = "event-listener"
+version = "5.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+dependencies = [
+ "event-listener 4.0.3",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
+dependencies = [
+ "event-listener 5.0.0",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "exr"
-version = "1.71.0"
+version = "1.72.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8"
+checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4"
 dependencies = [
  "bit_field",
  "flume",
@@ -1194,9 +1205,9 @@ dependencies = [
 
 [[package]]
 name = "eyre"
-version = "0.6.8"
+version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb"
+checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec"
 dependencies = [
  "indenter",
  "once_cell",
@@ -1219,18 +1230,18 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fdeflate"
-version = "0.3.0"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
 dependencies = [
  "simd-adler32",
 ]
 
 [[package]]
 name = "feed-rs"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dbec361cb401c1b86aea784fb809073733da06b1a1fd794222e7bf9845db327"
+checksum = "1ebf574f2f8a63948eae0d786c1fe339d71b6c98e735d58c81c85d93c8a66edf"
 dependencies = [
  "chrono",
  "lazy_static",
@@ -1239,7 +1250,7 @@ dependencies = [
  "regex",
  "serde",
  "serde_json",
- "siphasher",
+ "siphasher 1.0.0",
  "url",
  "uuid",
 ]
@@ -1304,9 +1315,9 @@ dependencies = [
 
 [[package]]
 name = "flate2"
-version = "1.0.27"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
  "miniz_oxide",
@@ -1318,7 +1329,7 @@ version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
 dependencies = [
- "spin 0.9.8",
+ "spin",
 ]
 
 [[package]]
@@ -1344,9 +1355,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -1363,9 +1374,9 @@ dependencies = [
 
 [[package]]
 name = "futures"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1378,9 +1389,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -1388,15 +1399,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -1406,9 +1417,9 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
@@ -1426,33 +1437,46 @@ dependencies = [
 ]
 
 [[package]]
+name = "futures-lite"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
+dependencies = [
+ "fastrand 2.0.1",
+ "futures-core",
+ "futures-io",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "futures-macro"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1468,22 +1492,21 @@ dependencies = [
 
 [[package]]
 name = "gdk-pixbuf"
-version = "0.18.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbc9c2ed73a81d556b65d08879ba4ee58808a6b1927ce915262185d6d547c6f3"
+checksum = "f6a23f8a0b5090494fd04924662d463f8386cc678dd3915015a838c1a3679b92"
 dependencies = [
  "gdk-pixbuf-sys",
  "gio",
  "glib",
  "libc",
- "once_cell",
 ]
 
 [[package]]
 name = "gdk-pixbuf-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7"
+checksum = "3dcbd04c1b2c4834cc008b4828bc917d062483b88d26effde6342e5622028f96"
 dependencies = [
  "gio-sys",
  "glib-sys",
@@ -1494,9 +1517,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4"
-version = "0.7.3"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7edb019ad581f8ecf8ea8e4baa6df7c483a95b5a59be3140be6a9c3b0c632af6"
+checksum = "6771942f85a2beaa220c64739395e4401b9fab4a52aba9b503fa1e6ed4d4d806"
 dependencies = [
  "cairo-rs",
  "gdk-pixbuf",
@@ -1509,9 +1532,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4-sys"
-version = "0.7.2"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbab43f332a3cf1df9974da690b5bb0e26720ed09a228178ce52175372dcfef0"
+checksum = "1eb95854fab65072023a7814434f003db571d6e45c287c0b0c540c1c78bdf6ae"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
@@ -1536,24 +1559,13 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.10"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
 ]
 
 [[package]]
@@ -1588,15 +1600,15 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "gio"
-version = "0.18.2"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57052f84e8e5999b258e8adf8f5f2af0ac69033864936b8b6838321db2f759b1"
+checksum = "2eae10b27b6dd27e22ed0d812c6387deba295e6fc004a8b379e459b663b05a02"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1605,7 +1617,6 @@ dependencies = [
  "gio-sys",
  "glib",
  "libc",
- "once_cell",
  "pin-project-lite",
  "smallvec",
  "thiserror",
@@ -1613,24 +1624,24 @@ dependencies = [
 
 [[package]]
 name = "gio-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
+checksum = "bcf8e1d9219bb294636753d307b030c1e8a032062cba74f493c431a5c8b81ce4"
 dependencies = [
  "glib-sys",
  "gobject-sys",
  "libc",
  "system-deps",
- "winapi",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "glib"
-version = "0.18.2"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c316afb01ce8067c5eaab1fc4f2cd47dc21ce7b6296358605e2ffab23ccbd19"
+checksum = "ab9e86540b5d8402e905ad4ce7d6aa544092131ab564f3102175af176b90a053"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.2",
  "futures-channel",
  "futures-core",
  "futures-executor",
@@ -1642,30 +1653,28 @@ dependencies = [
  "gobject-sys",
  "libc",
  "memchr",
- "once_cell",
  "smallvec",
  "thiserror",
 ]
 
 [[package]]
 name = "glib-macros"
-version = "0.18.2"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8da903822b136d42360518653fcf154455defc437d3e7a81475bf9a95ff1e47"
+checksum = "0f5897ca27a83e4cdc7b4666850bade0a2e73e17689aabafcc9acddad9d823b8"
 dependencies = [
  "heck",
- "proc-macro-crate",
- "proc-macro-error",
+ "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "glib-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
+checksum = "630f097773d7c7a0bb3258df4e8157b47dc98bbfa0e60ad9ab56174813feced4"
 dependencies = [
  "libc",
  "system-deps",
@@ -1678,22 +1687,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
-name = "gloo-timers"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
-dependencies = [
- "futures-channel",
- "futures-core",
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
 name = "gobject-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
+checksum = "c85e2b1080b9418dd0c58b498da3a5c826030343e0ef07bde6a955d28de54979"
 dependencies = [
  "glib-sys",
  "libc",
@@ -1702,9 +1699,9 @@ dependencies = [
 
 [[package]]
 name = "graphene-rs"
-version = "0.18.1"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b2228cda1505613a7a956cca69076892cfbda84fc2b7a62b94a41a272c0c401"
+checksum = "99e4d388e96c5f29e2b2f67045d229ddf826d0a8d6d282f94ed3b34452222c91"
 dependencies = [
  "glib",
  "graphene-sys",
@@ -1713,9 +1710,9 @@ dependencies = [
 
 [[package]]
 name = "graphene-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc4144cee8fc8788f2a9b73dc5f1d4e1189d1f95305c4cb7bd9c1af1cfa31f59"
+checksum = "236ed66cc9b18d8adf233716f75de803d0bf6fc806f60d14d948974a12e240d0"
 dependencies = [
  "glib-sys",
  "libc",
@@ -1741,9 +1738,9 @@ dependencies = [
 
 [[package]]
 name = "gsk4"
-version = "0.7.3"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d958e351d2f210309b32d081c832d7de0aca0b077aa10d88336c6379bd01f7e"
+checksum = "0e8ce8dee0fd87a11002214b1204ff18c9272fbd530408f0884a0f9b25dc31de"
 dependencies = [
  "cairo-rs",
  "gdk4",
@@ -1756,9 +1753,9 @@ dependencies = [
 
 [[package]]
 name = "gsk4-sys"
-version = "0.7.3"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12bd9e3effea989f020e8f1ff3fa3b8c63ba93d43b899c11a118868853a56d55"
+checksum = "2660a652da5b662d43924df19ba40d73f015ed427329ef51d2b1360a4e0dc0e4"
 dependencies = [
  "cairo-sys-rs",
  "gdk4-sys",
@@ -1772,9 +1769,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4"
-version = "0.7.3"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aeb51aa3e9728575a053e1f43543cd9992ac2477e1b186ad824fd4adfb70842"
+checksum = "7d26ffa3ec6316ccaa1df62d3e7f5bae1637c0acbb43f250fabef38319f73c64"
 dependencies = [
  "cairo-rs",
  "field-offset",
@@ -1793,12 +1790,12 @@ dependencies = [
 
 [[package]]
 name = "gtk4-macros"
-version = "0.7.2"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f"
+checksum = "c8b86439e9896f6f3f47c3d8077c5c8205174078760afdabd9098a8e9e937d97"
 dependencies = [
  "anyhow",
- "proc-macro-crate",
+ "proc-macro-crate 3.1.0",
  "proc-macro-error",
  "proc-macro2",
  "quote",
@@ -1807,9 +1804,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4-sys"
-version = "0.7.3"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54d8c4aa23638ce9faa2caf7e2a27d4a1295af2155c8e8d28c4d4eeca7a65eb8"
+checksum = "2abc0a6d356d59a3806021829ce6ed3e70bba3509b41a535fedcb09fae13fbc0"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
@@ -1826,9 +1823,9 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.3.21"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
 dependencies = [
  "bytes",
  "fnv",
@@ -1836,7 +1833,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http",
- "indexmap 1.9.3",
+ "indexmap",
  "slab",
  "tokio",
  "tokio-util",
@@ -1845,18 +1842,19 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "2.2.1"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
 dependencies = [
+ "cfg-if",
  "crunchy",
 ]
 
 [[package]]
 name = "hard-xml"
-version = "1.27.0"
+version = "1.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b74134bb74033894bf6b22cb9078c5e19bb750bd586f5cea24bc4acf23e9da9a"
+checksum = "fafc2bcb74049535eb6fab49eb20164a427867a9e809516ef95a98e961164432"
 dependencies = [
  "hard-xml-derive",
  "jetscii",
@@ -1867,9 +1865,9 @@ dependencies = [
 
 [[package]]
 name = "hard-xml-derive"
-version = "1.27.0"
+version = "1.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f50ce8d120d040bf18a4d8dd75ea96497cc75d285b09e2473e88df57bb20f3ab"
+checksum = "57a345b327da51b997c94f841d9db6b2d292c7632713bd8a1b8b191e8b819df7"
 dependencies = [
  "bitflags 1.3.2",
  "proc-macro2",
@@ -1879,15 +1877,9 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
-[[package]]
-name = "hashbrown"
-version = "0.14.0"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
 name = "heck"
@@ -1897,9 +1889,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd"
 
 [[package]]
 name = "hex"
@@ -1920,9 +1912,9 @@ dependencies = [
 
 [[package]]
 name = "html2pango"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e22f189d26bf7cf4652dbe49da86f3a27628f745469365f1d2575ea8caf54eaf"
+checksum = "a5f061cc3c0538033f81a94417f209e2b1908e3dab8b87b205d84e6109c8091b"
 dependencies = [
  "ammonia",
  "anyhow",
@@ -1950,9 +1942,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
 dependencies = [
  "bytes",
  "fnv",
@@ -1961,9 +1953,9 @@ dependencies = [
 
 [[package]]
 name = "http-body"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
 dependencies = [
  "bytes",
  "http",
@@ -1990,9 +1982,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "hyper"
-version = "0.14.27"
+version = "0.14.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -2005,7 +1997,7 @@ dependencies = [
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.4.9",
+ "socket2 0.5.5",
  "tokio",
  "tower-service",
  "tracing",
@@ -2013,20 +2005,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "hyper-rustls"
-version = "0.24.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97"
-dependencies = [
- "futures-util",
- "http",
- "hyper",
- "rustls",
- "tokio",
- "tokio-rustls",
-]
-
-[[package]]
 name = "hyper-tls"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2041,16 +2019,16 @@ dependencies = [
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.57"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
  "iana-time-zone-haiku",
  "js-sys",
  "wasm-bindgen",
- "windows",
+ "windows-core",
 ]
 
 [[package]]
@@ -2064,20 +2042,19 @@ dependencies = [
 
 [[package]]
 name = "idna"
-version = "0.2.3"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
 dependencies = [
- "matches",
  "unicode-bidi",
  "unicode-normalization",
 ]
 
 [[package]]
 name = "idna"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -2085,9 +2062,9 @@ dependencies = [
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -2095,9 +2072,9 @@ dependencies = [
 
 [[package]]
 name = "image"
-version = "0.24.7"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
+checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
 dependencies = [
  "bytemuck",
  "byteorder",
@@ -2105,7 +2082,6 @@ dependencies = [
  "exr",
  "gif",
  "jpeg-decoder",
- "num-rational",
  "num-traits",
  "png",
  "qoi",
@@ -2120,22 +2096,12 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
 
 [[package]]
 name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown 0.12.3",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.0.1"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad227c3af19d4914570ad36d30409928b75967c298feb9ea1969db3a610bb14e"
+checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.0",
+ "hashbrown",
 ]
 
 [[package]]
@@ -2155,7 +2121,7 @@ checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
 dependencies = [
  "hermit-abi",
  "libc",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -2164,17 +2130,17 @@ version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
 dependencies = [
- "socket2 0.5.4",
+ "socket2 0.5.5",
  "widestring",
- "windows-sys",
+ "windows-sys 0.48.0",
  "winreg",
 ]
 
 [[package]]
 name = "ipnet"
-version = "2.8.0"
+version = "2.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
+checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
 
 [[package]]
 name = "ipnetwork"
@@ -2196,24 +2162,24 @@ dependencies = [
 
 [[package]]
 name = "itertools"
-version = "0.11.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
 dependencies = [
  "either",
 ]
 
 [[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "javascriptcore6"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ab2e7a6ba3112cf23e7bf63f0aefe5058e6b4f1f759d47bf22922f73ed17e79"
+checksum = "d95a69260c40bbf52066f2c6fa520c00c1ec8ab8208636cf3070c0157c5221f8"
 dependencies = [
  "glib",
  "javascriptcore6-sys",
@@ -2222,9 +2188,9 @@ dependencies = [
 
 [[package]]
 name = "javascriptcore6-sys"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5a26b89c59d679b0d57dd98235e3125b132407cc14c3fb6382df4b84475c39f"
+checksum = "fc104f99c5adcd7ed53dd491121c111e05e3e8d40020d3519e98c346ca64186b"
 dependencies = [
  "glib-sys",
  "gobject-sys",
@@ -2240,32 +2206,23 @@ checksum = "47f142fe24a9c9944451e8349de0a56af5f3e7226dc46f3ed4d4ecc0b85af75e"
 
 [[package]]
 name = "jpeg-decoder"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
 dependencies = [
  "rayon",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
-name = "kv-log-macro"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
-dependencies = [
- "log",
-]
-
-[[package]]
 name = "lazy_static"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2279,9 +2236,9 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
 
 [[package]]
 name = "libadwaita"
-version = "0.5.3"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fe7e70c06507ed10a16cda707f358fbe60fe0dc237498f78c686ade92fd979c"
+checksum = "91b4990248b9e1ec5e72094a2ccaea70ec3809f88f6fd52192f2af306b87c5d9"
 dependencies = [
  "gdk-pixbuf",
  "gdk4",
@@ -2295,9 +2252,9 @@ dependencies = [
 
 [[package]]
 name = "libadwaita-sys"
-version = "0.5.3"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e10aaa38de1d53374f90deeb4535209adc40cc5dba37f9704724169bceec69a"
+checksum = "23a748e4e92be1265cd9e93d569c0b5dfc7814107985aa6743d670ab281ea1a8"
 dependencies = [
  "gdk4-sys",
  "gio-sys",
@@ -2311,21 +2268,32 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.148"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libm"
-version = "0.2.7"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc",
+ "redox_syscall",
+]
 
 [[package]]
 name = "libsqlite3-sys"
-version = "0.26.0"
+version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
+checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716"
 dependencies = [
  "pkg-config",
  "vcpkg",
@@ -2365,9 +2333,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.7"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "locale_config"
@@ -2384,9 +2352,9 @@ dependencies = [
 
 [[package]]
 name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -2399,7 +2367,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 dependencies = [
  "serde",
- "value-bag",
 ]
 
 [[package]]
@@ -2410,9 +2377,9 @@ checksum = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7"
 
 [[package]]
 name = "log4rs"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d36ca1786d9e79b8193a68d480a0907b612f109537115c6ff655a3a1967533fd"
+checksum = "0816135ae15bd0391cf284eab37e6e3ee0a6ee63d2ceeb659862bd8d0a984ca6"
 dependencies = [
  "anyhow",
  "arc-swap",
@@ -2423,7 +2390,9 @@ dependencies = [
  "libc",
  "log",
  "log-mdc",
+ "once_cell",
  "parking_lot",
+ "rand",
  "serde",
  "serde-value",
  "serde_json",
@@ -2450,22 +2419,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
 
 [[package]]
-name = "mach2"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8"
-dependencies = [
- "libc",
-]
-
-[[package]]
 name = "magic-crypt"
-version = "3.1.12"
+version = "3.1.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0196bd5c76f5f51d7d6563545f86262fef4c82d75466ba6f6d359c40a523318d"
+checksum = "6c42f95f9d296f2dcb50665f507ed5a68a171453142663ce44d77a4eb217b053"
 dependencies = [
  "aes",
- "base64 0.13.1",
+ "base64",
  "block-modes",
  "crc-any",
  "des",
@@ -2523,12 +2483,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
 
 [[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
-[[package]]
 name = "md-5"
 version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2547,9 +2501,9 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
 
 [[package]]
 name = "memchr"
-version = "2.6.3"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memoffset"
@@ -2576,7 +2530,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0f23f71580015254b020e856feac3df5878c2c7a8812297edd6c0a485ac9dada"
 dependencies = [
  "serde",
- "toml",
+ "toml 0.7.8",
 ]
 
 [[package]]
@@ -2608,11 +2562,11 @@ dependencies = [
 
 [[package]]
 name = "miniflux_api"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c402b227e14d83831bfb5a5d4bc347b1a925889f733b27697610a307b0bd8e89"
+checksum = "babaa4cdaadf81050c03f93f16375cf305a29b2d6f099d66ff40aae93afcfee2"
 dependencies = [
- "base64 0.13.1",
+ "base64",
  "log",
  "reqwest",
  "serde",
@@ -2624,9 +2578,9 @@ dependencies = [
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
  "simd-adler32",
@@ -2634,23 +2588,23 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.8"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
 dependencies = [
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys",
+ "wasi",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "moka"
-version = "0.11.3"
+version = "0.12.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa6e72583bf6830c956235bff0d5afec8cf2952f579ebad18ae7821a917d950f"
+checksum = "b1911e88d5831f748a4097a43862d129e3c6fca831eecac9b8db6d01d93c9de2"
 dependencies = [
- "async-io",
- "async-lock",
+ "async-lock 2.8.0",
+ "async-trait",
  "crossbeam-channel",
  "crossbeam-epoch",
  "crossbeam-utils",
@@ -2659,7 +2613,6 @@ dependencies = [
  "parking_lot",
  "quanta",
  "rustc_version",
- "scheduled-thread-pool",
  "skeptic",
  "smallvec",
  "tagptr",
@@ -2701,12 +2654,12 @@ checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
 [[package]]
 name = "news-flash"
 version = "2.3.0-alpha.0"
-source = "git+https://gitlab.com/news_flash/news_flash.git#b1763aa942149891afa760255724b0a03319e1e4"
+source = "git+https://gitlab.com/news_flash/news_flash.git#46cf25eff46655e314ae38b28c04f0f943b3910a"
 dependencies = [
  "article_scraper",
  "async-trait",
- "base64 0.21.4",
- "bitflags 2.4.0",
+ "base64",
+ "bitflags 2.4.2",
  "bytes",
  "chrono",
  "commafeed_api",
@@ -2721,7 +2674,7 @@ dependencies = [
  "greader_api",
  "hex",
  "image",
- "itertools 0.11.0",
+ "itertools 0.12.1",
  "libxml",
  "log",
  "magic-crypt",
@@ -2738,7 +2691,7 @@ dependencies = [
  "random_color",
  "regex",
  "reqwest",
- "rust-embed 8.0.0",
+ "rust-embed",
  "sanitize-filename",
  "semver",
  "serde",
@@ -2753,13 +2706,13 @@ name = "news_flash_gtk"
 version = "0.0.0"
 dependencies = [
  "ashpd",
- "base64 0.21.4",
+ "base64",
  "bytesize",
  "chrono",
  "clap",
  "color-backtrace",
  "diffus",
- "dirs 5.0.1",
+ "dirs",
  "eyre",
  "feedly_api",
  "futures",
@@ -2779,11 +2732,12 @@ dependencies = [
  "news-flash",
  "once_cell",
  "pango",
+ "parking_lot",
  "percent-encoding",
  "rc-writer",
  "regex",
  "reqwest",
- "rust-embed 8.0.0",
+ "rust-embed",
  "serde",
  "serde_json",
  "thiserror",
@@ -2811,7 +2765,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "488e5fb51484deb6bc5bc22f0b0db4902ae7e391d075f8d1a1b9a9674ea326d3"
 dependencies = [
- "base64 0.21.4",
+ "base64",
  "log",
  "reqwest",
  "serde",
@@ -2846,31 +2800,25 @@ dependencies = [
 ]
 
 [[package]]
-name = "num-integer"
-version = "0.1.45"
+name = "num-conv"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
 
 [[package]]
-name = "num-rational"
-version = "0.4.1"
+name = "num-integer"
+version = "0.1.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
 dependencies = [
- "autocfg",
- "num-integer",
  "num-traits",
 ]
 
 [[package]]
 name = "num-traits"
-version = "0.2.16"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
 ]
@@ -2922,18 +2870,18 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.32.1"
+version = "0.32.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "opaque-debug"
@@ -2943,11 +2891,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
 name = "openssl"
-version = "0.10.57"
+version = "0.10.63"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c"
+checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.2",
  "cfg-if",
  "foreign-types",
  "libc",
@@ -2964,7 +2912,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2975,9 +2923,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.93"
+version = "0.9.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d"
+checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
 dependencies = [
  "cc",
  "libc",
@@ -2987,9 +2935,9 @@ dependencies = [
 
 [[package]]
 name = "opml"
-version = "1.1.5"
+version = "1.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "657e16a7677a52c9bcfca579d77c087bc4240644d7e5491b359bb76ed62c779d"
+checksum = "df2f96426c857a92676dc29a9e2a181eb39321047ac994491c69eae01619ddf2"
 dependencies = [
  "hard-xml",
  "serde",
@@ -3004,9 +2952,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
 
 [[package]]
 name = "ordered-float"
-version = "2.10.0"
+version = "2.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87"
+checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c"
 dependencies = [
  "num-traits",
 ]
@@ -3023,22 +2971,21 @@ dependencies = [
 
 [[package]]
 name = "pango"
-version = "0.18.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06a9e54b831d033206160096b825f2070cf5fda7e35167b1c01e9e774f9202d1"
+checksum = "7809e8af4df8d024a066106b72ca6bc7253a484ae3867041a96103ef8a13188d"
 dependencies = [
  "gio",
  "glib",
  "libc",
- "once_cell",
  "pango-sys",
 ]
 
 [[package]]
 name = "pango-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
+checksum = "f52ef6a881c19fbfe3b1484df5cad411acaaba29dbec843941c3110d19f340ea"
 dependencies = [
  "glib-sys",
  "gobject-sys",
@@ -3048,9 +2995,9 @@ dependencies = [
 
 [[package]]
 name = "parking"
-version = "2.1.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[package]]
 name = "parking_lot"
@@ -3064,22 +3011,22 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.8"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.3.5",
+ "redox_syscall",
  "smallvec",
- "windows-targets",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "phf"
@@ -3107,7 +3054,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
 dependencies = [
  "phf_shared",
- "rand 0.8.5",
+ "rand",
 ]
 
 [[package]]
@@ -3116,7 +3063,7 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
 dependencies = [
- "siphasher",
+ "siphasher 0.3.11",
 ]
 
 [[package]]
@@ -3144,15 +3091,15 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "png"
-version = "0.17.10"
+version = "0.17.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
@@ -3174,10 +3121,30 @@ dependencies = [
  "libc",
  "log",
  "pin-project-lite",
- "windows-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "polling"
+version = "3.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "pin-project-lite",
+ "rustix 0.38.31",
+ "tracing",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3196,7 +3163,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
 dependencies = [
  "once_cell",
- "toml_edit",
+ "toml_edit 0.19.15",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
+dependencies = [
+ "toml_edit 0.21.1",
 ]
 
 [[package]]
@@ -3225,9 +3201,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.67"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -3250,11 +3226,11 @@ dependencies = [
 
 [[package]]
 name = "pulldown-cmark"
-version = "0.9.3"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998"
+checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "memchr",
  "unicase",
 ]
@@ -3270,16 +3246,15 @@ dependencies = [
 
 [[package]]
 name = "quanta"
-version = "0.11.1"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab"
+checksum = "9ca0b7bac0b97248c40bb77288fc52029cf1459c0461ea1b05ee32ccf011de2c"
 dependencies = [
  "crossbeam-utils",
  "libc",
- "mach2",
  "once_cell",
  "raw-cpuid",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
  "web-sys",
  "winapi",
 ]
@@ -3292,9 +3267,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
 
 [[package]]
 name = "quick-xml"
-version = "0.27.1"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffc053f057dd768a56f62cd7e434c42c831d296968997e9ac1f76ea7c2d14c41"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
 dependencies = [
  "encoding_rs",
  "memchr",
@@ -3302,9 +3277,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -3322,37 +3297,13 @@ dependencies = [
 
 [[package]]
 name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc",
- "rand_pcg",
-]
-
-[[package]]
-name = "rand"
 version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 dependencies = [
  "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
+ "rand_chacha",
+ "rand_core",
 ]
 
 [[package]]
@@ -3362,16 +3313,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
  "ppv-lite86",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
+ "rand_core",
 ]
 
 [[package]]
@@ -3380,50 +3322,32 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.10",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
-dependencies = [
- "rand_core 0.5.1",
+ "getrandom",
 ]
 
 [[package]]
 name = "random_color"
-version = "0.6.1"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5f34bd6526786b2ce5141fd37a4084b5da1ebae74595b5b0d05482a7cef7181"
+checksum = "0085421bc527effa7ed6d46bac0a28734663c47abe03d80a5e78e441fad85196"
 dependencies = [
- "rand 0.7.3",
+ "rand",
 ]
 
 [[package]]
 name = "raw-cpuid"
-version = "10.7.0"
+version = "11.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332"
+checksum = "9d86a7c4638d42c44551f4791a20e687dbb4c3de1f33c43dd71e355cd429def1"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
  "either",
  "rayon-core",
@@ -3431,9 +3355,9 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
@@ -3447,38 +3371,29 @@ checksum = "ca8049c74229f22d8cba889ee1d541b05da9c9668d8fe2011bb922250d0be148"
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
- "getrandom 0.2.10",
- "redox_syscall 0.2.16",
+ "getrandom",
+ "libredox",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.9.5"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -3488,9 +3403,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.3.8"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -3499,18 +3414,18 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.5"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "reqwest"
-version = "0.11.20"
+version = "0.11.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1"
+checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
 dependencies = [
  "async-compression",
- "base64 0.21.4",
+ "base64",
  "bytes",
  "cookie",
  "cookie_store",
@@ -3521,7 +3436,6 @@ dependencies = [
  "http",
  "http-body",
  "hyper",
- "hyper-rustls",
  "hyper-tls",
  "ipnet",
  "js-sys",
@@ -3532,14 +3446,14 @@ dependencies = [
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
- "rustls",
  "rustls-pemfile",
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "sync_wrapper",
+ "system-configuration",
  "tokio",
  "tokio-native-tls",
- "tokio-rustls",
  "tokio-socks",
  "tokio-util",
  "tower-service",
@@ -3549,7 +3463,6 @@ dependencies = [
  "wasm-bindgen-futures",
  "wasm-streams",
  "web-sys",
- "webpki-roots",
  "winreg",
 ]
 
@@ -3564,84 +3477,35 @@ dependencies = [
 ]
 
 [[package]]
-name = "ring"
-version = "0.16.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
-dependencies = [
- "cc",
- "libc",
- "once_cell",
- "spin 0.5.2",
- "untrusted",
- "web-sys",
- "winapi",
-]
-
-[[package]]
-name = "rust-embed"
-version = "6.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a36224c3276f8c4ebc8c20f158eca7ca4359c8db89991c4925132aaaf6702661"
-dependencies = [
- "rust-embed-impl 6.8.1",
- "rust-embed-utils 7.8.1",
- "walkdir",
-]
-
-[[package]]
 name = "rust-embed"
-version = "8.0.0"
+version = "8.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1e7d90385b59f0a6bf3d3b757f3ca4ece2048265d70db20a2016043d4509a40"
+checksum = "a82c0bbc10308ed323529fd3c1dce8badda635aa319a5ff0e6466f33b8101e3f"
 dependencies = [
- "rust-embed-impl 8.0.0",
- "rust-embed-utils 8.0.0",
+ "rust-embed-impl",
+ "rust-embed-utils",
  "walkdir",
 ]
 
 [[package]]
 name = "rust-embed-impl"
-version = "6.8.1"
+version = "8.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49b94b81e5b2c284684141a2fb9e2a31be90638caf040bf9afbc5a0416afe1ac"
+checksum = "6227c01b1783cdfee1bcf844eb44594cd16ec71c35305bf1c9fb5aade2735e16"
 dependencies = [
  "proc-macro2",
  "quote",
- "rust-embed-utils 7.8.1",
- "syn 2.0.37",
- "walkdir",
-]
-
-[[package]]
-name = "rust-embed-impl"
-version = "8.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c3d8c6fd84090ae348e63a84336b112b5c3918b3bf0493a581f7bd8ee623c29"
-dependencies = [
- "proc-macro2",
- "quote",
- "rust-embed-utils 8.0.0",
+ "rust-embed-utils",
  "shellexpand",
- "syn 2.0.37",
- "walkdir",
-]
-
-[[package]]
-name = "rust-embed-utils"
-version = "7.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d38ff6bf570dc3bb7100fce9f7b60c33fa71d80e88da3f2580df4ff2bdded74"
-dependencies = [
- "sha2 0.10.8",
+ "syn 2.0.48",
  "walkdir",
 ]
 
 [[package]]
 name = "rust-embed-utils"
-version = "8.0.0"
+version = "8.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "873feff8cb7bf86fdf0a71bb21c95159f4e4a37dd7a4bd1855a940909b583ada"
+checksum = "8cb0a25bfbb2d4b4402179c2cf030387d9990857ce08a32592c6238db9fa8665"
 dependencies = [
  "sha2 0.10.8",
  "walkdir",
@@ -3664,67 +3528,45 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.37.23"
+version = "0.37.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
+checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2"
 dependencies = [
  "bitflags 1.3.2",
  "errno",
  "io-lifetimes",
  "libc",
  "linux-raw-sys 0.3.8",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "rustix"
-version = "0.38.14"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.2",
  "errno",
  "libc",
- "linux-raw-sys 0.4.7",
- "windows-sys",
-]
-
-[[package]]
-name = "rustls"
-version = "0.21.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8"
-dependencies = [
- "log",
- "ring",
- "rustls-webpki",
- "sct",
+ "linux-raw-sys 0.4.13",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rustls-pemfile"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
-dependencies = [
- "base64 0.21.4",
-]
-
-[[package]]
-name = "rustls-webpki"
-version = "0.101.6"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
 dependencies = [
- "ring",
- "untrusted",
+ "base64",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.15"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
 
 [[package]]
 name = "same-file"
@@ -3747,11 +3589,11 @@ dependencies = [
 
 [[package]]
 name = "schannel"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
 dependencies = [
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3770,16 +3612,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
-name = "sct"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
 name = "security-framework"
 version = "2.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3804,18 +3636,18 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.19"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde"
-version = "1.0.188"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
@@ -3832,20 +3664,20 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.188"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.107"
+version = "1.0.113"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
+checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
 dependencies = [
  "itoa",
  "ryu",
@@ -3854,20 +3686,20 @@ dependencies = [
 
 [[package]]
 name = "serde_repr"
-version = "0.1.16"
+version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
+checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
  "serde",
 ]
@@ -3886,14 +3718,15 @@ dependencies = [
 
 [[package]]
 name = "serde_yaml"
-version = "0.8.26"
+version = "0.9.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b"
+checksum = "adf8a49373e98a4c5f0ceb5d05aa7c648d75f63774981ed95b7c7443bbd50c6e"
 dependencies = [
- "indexmap 1.9.3",
+ "indexmap",
+ "itoa",
  "ryu",
  "serde",
- "yaml-rust",
+ "unsafe-libyaml",
 ]
 
 [[package]]
@@ -3933,11 +3766,11 @@ dependencies = [
 
 [[package]]
 name = "shellexpand"
-version = "2.1.2"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4"
+checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b"
 dependencies = [
- "dirs 4.0.0",
+ "dirs",
 ]
 
 [[package]]
@@ -3962,6 +3795,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
 
 [[package]]
+name = "siphasher"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54ac45299ccbd390721be55b412d41931911f654fa99e2cb8bfb57184b2061fe"
+
+[[package]]
 name = "skeptic"
 version = "0.13.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3987,15 +3826,15 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.1"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "socket2"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
 dependencies = [
  "libc",
  "winapi",
@@ -4003,19 +3842,19 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.5.4"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 dependencies = [
  "libc",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "soup3"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f"
+checksum = "3fb6bbb0e56d089517432ca8aac0879e5f343b309783384a7fdbdd6d5232e681"
 dependencies = [
  "futures-channel",
  "gio",
@@ -4026,9 +3865,9 @@ dependencies = [
 
 [[package]]
 name = "soup3-sys"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27"
+checksum = "f9c6d7beef555a91c6129f5e71ecf4b6e9eac8b48914098d713b1537ebbf6917"
 dependencies = [
  "gio-sys",
  "glib-sys",
@@ -4039,12 +3878,6 @@ dependencies = [
 
 [[package]]
 name = "spin"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
-
-[[package]]
-name = "spin"
 version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
@@ -4086,9 +3919,9 @@ dependencies = [
 
 [[package]]
 name = "strsim"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
 
 [[package]]
 name = "syn"
@@ -4103,9 +3936,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.37"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4113,15 +3946,42 @@ dependencies = [
 ]
 
 [[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
+name = "system-configuration"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
 name = "system-deps"
-version = "6.1.1"
+version = "6.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3"
+checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
 dependencies = [
  "cfg-expr",
  "heck",
  "pkg-config",
- "toml",
+ "toml 0.8.10",
  "version-compare",
 ]
 
@@ -4133,27 +3993,26 @@ checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.11"
+version = "0.12.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
+checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
 
 [[package]]
 name = "temp-dir"
-version = "0.1.11"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab"
+checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6"
 
 [[package]]
 name = "tempfile"
-version = "3.8.0"
+version = "3.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
 dependencies = [
  "cfg-if",
  "fastrand 2.0.1",
- "redox_syscall 0.3.5",
- "rustix 0.38.14",
- "windows-sys",
+ "rustix 0.38.31",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -4169,49 +4028,48 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.3.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
 name = "thiserror"
-version = "1.0.49"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.49"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "thread-id"
-version = "4.2.0"
+version = "4.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79474f573561cdc4871a0de34a51c92f7f5a56039113fbb5b9c9f96bdb756669"
+checksum = "f0ec81c46e9eb50deaa257be2f148adf052d1fb7701cfd55ccfab2525280b70b"
 dependencies = [
  "libc",
- "redox_syscall 0.2.16",
  "winapi",
 ]
 
 [[package]]
 name = "tiff"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
 dependencies = [
  "flate2",
  "jpeg-decoder",
@@ -4231,12 +4089,14 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.29"
+version = "0.3.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe"
+checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
 dependencies = [
  "deranged",
  "itoa",
+ "num-conv",
+ "powerfmt",
  "serde",
  "time-core",
  "time-macros",
@@ -4250,10 +4110,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.15"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
 dependencies = [
+ "num-conv",
  "time-core",
 ]
 
@@ -4274,9 +4135,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.32.0"
+version = "1.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
+checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
 dependencies = [
  "backtrace",
  "bytes",
@@ -4284,20 +4145,20 @@ dependencies = [
  "mio",
  "num_cpus",
  "pin-project-lite",
- "socket2 0.5.4",
+ "socket2 0.5.5",
  "tokio-macros",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -4311,16 +4172,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tokio-rustls"
-version = "0.24.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
-dependencies = [
- "rustls",
- "tokio",
-]
-
-[[package]]
 name = "tokio-socks"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4334,9 +4185,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-util"
-version = "0.7.9"
+version = "0.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
 dependencies = [
  "bytes",
  "futures-core",
@@ -4355,14 +4206,26 @@ dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit",
+ "toml_edit 0.19.15",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.22.5",
 ]
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
  "serde",
 ]
@@ -4373,11 +4236,35 @@ version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
- "indexmap 2.0.1",
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow 0.5.40",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow 0.5.40",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99e68c159e8f5ba8a28c4eb7b0c0c190d77bb479047ca713270048145a9ad28a"
+dependencies = [
+ "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow",
+ "winnow 0.6.1",
 ]
 
 [[package]]
@@ -4388,11 +4275,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
 
 [[package]]
 name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if",
  "pin-project-lite",
  "tracing-attributes",
  "tracing-core",
@@ -4400,35 +4286,35 @@ dependencies = [
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 dependencies = [
  "once_cell",
 ]
 
 [[package]]
 name = "triomphe"
-version = "0.1.9"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f"
+checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3"
 
 [[package]]
 name = "trust-dns-proto"
-version = "0.22.0"
+version = "0.23.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f7f83d1e4a0e4358ac54c5c3681e5d7da5efc5a7a632c90bb6d6669ddd9bc26"
+checksum = "3119112651c157f4488931a01e586aa459736e9d6046d3bd9105ffb69352d374"
 dependencies = [
  "async-trait",
  "cfg-if",
@@ -4437,10 +4323,10 @@ dependencies = [
  "futures-channel",
  "futures-io",
  "futures-util",
- "idna 0.2.3",
+ "idna 0.4.0",
  "ipnet",
- "lazy_static",
- "rand 0.8.5",
+ "once_cell",
+ "rand",
  "smallvec",
  "thiserror",
  "tinyvec",
@@ -4451,16 +4337,17 @@ dependencies = [
 
 [[package]]
 name = "trust-dns-resolver"
-version = "0.22.0"
+version = "0.23.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe"
+checksum = "10a3e6c3aff1718b3c73e395d1f35202ba2ffa847c6a62eea0db8fb4cfe30be6"
 dependencies = [
  "cfg-if",
  "futures-util",
  "ipconfig",
- "lazy_static",
  "lru-cache",
+ "once_cell",
  "parking_lot",
+ "rand",
  "resolv-conf",
  "smallvec",
  "thiserror",
@@ -4471,9 +4358,9 @@ dependencies = [
 
 [[package]]
 name = "try-lock"
-version = "0.2.4"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
 
 [[package]]
 name = "typemap-ors"
@@ -4492,10 +4379,11 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "uds_windows"
-version = "1.0.2"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
 dependencies = [
+ "memoffset 0.9.0",
  "tempfile",
  "winapi",
 ]
@@ -4511,9 +4399,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
@@ -4540,19 +4428,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "untrusted"
-version = "0.7.1"
+name = "unsafe-libyaml"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"
 
 [[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
- "idna 0.4.0",
+ "idna 0.5.0",
  "percent-encoding",
  "serde",
 ]
@@ -4571,20 +4459,14 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.4.1"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
+checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
 dependencies = [
- "getrandom 0.2.10",
+ "getrandom",
 ]
 
 [[package]]
-name = "value-bag"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d92ccd67fb88503048c01b59152a04effd0782d035a83a6d256ce6085f08f4a3"
-
-[[package]]
 name = "vcpkg"
 version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4629,21 +4511,15 @@ dependencies = [
 
 [[package]]
 name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -4651,24 +4527,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.37"
+version = "0.4.41"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
+checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -4678,9 +4554,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4688,28 +4564,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
 
 [[package]]
 name = "wasm-streams"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
+checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129"
 dependencies = [
  "futures-util",
  "js-sys",
@@ -4720,9 +4596,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.64"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -4730,9 +4606,9 @@ dependencies = [
 
 [[package]]
 name = "webkit6"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "111922d85b0f570bc1468d190037299fd0eca36f24147f74c1ad20fae5e21370"
+checksum = "9d82bda18116290a9effc1e0f8dbd00236807bf4a9b990b9484bad5ba852fc06"
 dependencies = [
  "gdk4",
  "gio",
@@ -4740,16 +4616,15 @@ dependencies = [
  "gtk4",
  "javascriptcore6",
  "libc",
- "once_cell",
  "soup3",
  "webkit6-sys",
 ]
 
 [[package]]
 name = "webkit6-sys"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfc4fbaf44fd645711e36a97437443e7f06b401fb66ccc3e5ae17eeb6f5cb681"
+checksum = "6c459941f1b22750cbda435ede3f94ed8e8dd8c8608d324ecb0b9a8556b49abd"
 dependencies = [
  "gdk4-sys",
  "gio-sys",
@@ -4763,16 +4638,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "webpki-roots"
-version = "0.25.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
-
-[[package]]
 name = "weezl"
-version = "0.1.7"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
 
 [[package]]
 name = "widestring"
@@ -4812,12 +4681,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
-name = "windows"
-version = "0.48.0"
+name = "windows-core"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -4826,7 +4695,16 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -4835,13 +4713,28 @@ version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
 ]
 
 [[package]]
@@ -4851,46 +4744,97 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
 name = "winnow"
-version = "0.5.15"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winnow"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d90f4e0f530c4c69f62b80d839e9ef3855edc9cba471a160c4d692deed62b401"
 dependencies = [
  "memchr",
 ]
@@ -4902,16 +4846,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
 dependencies = [
  "cfg-if",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "xdg-home"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd"
+checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
 dependencies = [
- "nix",
+ "libc",
  "winapi",
 ]
 
@@ -4934,9 +4878,9 @@ dependencies = [
 
 [[package]]
 name = "xmlparser"
-version = "0.13.5"
+version = "0.13.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd"
+checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
 
 [[package]]
 name = "xmltree"
@@ -4948,25 +4892,16 @@ dependencies = [
 ]
 
 [[package]]
-name = "yaml-rust"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
-dependencies = [
- "linked-hash-map",
-]
-
-[[package]]
 name = "zbus"
-version = "3.14.1"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948"
+checksum = "c45d06ae3b0f9ba1fb2671268b975557d8f5a84bb5ec6e43964f87e763d8bca8"
 dependencies = [
  "async-broadcast",
  "async-executor",
- "async-fs",
- "async-io",
- "async-lock",
+ "async-fs 1.6.0",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
  "async-process",
  "async-recursion",
  "async-task",
@@ -4983,7 +4918,7 @@ dependencies = [
  "nix",
  "once_cell",
  "ordered-stream",
- "rand 0.8.5",
+ "rand",
  "serde",
  "serde_repr",
  "sha1",
@@ -4999,11 +4934,11 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.14.1"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
+checksum = "b4a1ba45ed0ad344b85a2bb5a1fe9830aed23d67812ea39a586e7d0136439c7d"
 dependencies = [
- "proc-macro-crate",
+ "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
  "regex",
@@ -5052,7 +4987,7 @@ version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd"
 dependencies = [
- "proc-macro-crate",
+ "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
diff --git a/pkgs/applications/networking/feedreaders/newsflash/default.nix b/pkgs/applications/networking/feedreaders/newsflash/default.nix
index 5631a8419cc2..c6ed075a0bd0 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsflash/default.nix
@@ -25,22 +25,21 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "newsflash";
-  version = "3.0.2";
+  version = "3.1.3";
 
   src = fetchFromGitLab {
     owner = "news-flash";
     repo = "news_flash_gtk";
     rev = "refs/tags/v.${finalAttrs.version}";
-    sha256 = "sha256-tJKr2bGkdpEb+25eN0ZfHhEDl5Zdf8fdaC/rNMbH8Ws=";
+    hash = "sha256-eaZkuFy+pDL09S8TQjpUUPIy+mFIwBScgc8hgbkRJDc=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "news-flash-2.3.0-alpha.0" = "sha256-H0osT7IrPbQ3RQYJZE7J+n7u4UCT86LAybUF3vvIXkA=";
+      "news-flash-2.3.0-alpha.0" = "sha256-Gr7EyAbIFABZx9GR/WvshF0vfJaul7wz4pro2EbwSM8=";
       "newsblur_api-0.2.0" = "sha256-eysCB19znQF8mRwQ64nSp6KuvJ1Trot4g4WCdQDedo8=";
-      "article_scraper-2.0.0" = "sha256-FnOmrZyYewOuU8Au7fhmSJHN7UPCx/CxBV8UtSHattU=";
-      "commafeed_api-0.1.0" = "sha256-69UAmyUm0WG3qPoWZw4PekXh1RjIP5l3dx3gjWfxJDQ=";
+      "article_scraper-2.0.0" = "sha256-URiteEJ1kXoGfRopGoRI/4iPbzd+F9bQaMJKpkrh/sE=";
     };
   };
 
diff --git a/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch b/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch
index ab4972b11a13..ba316812bbeb 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch
+++ b/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch
@@ -1,14 +1,15 @@
 diff --git a/meson.build b/meson.build
-index 1d7089c..1952e7f 100644
+index e554ddd7..55a5048a 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -58,8 +58,8 @@ meson.add_dist_script(
+@@ -56,10 +56,3 @@ meson.add_dist_script(
+ subdir('data')
+ subdir('po')
  subdir('src')
-
- gnome.post_install(
+-
+-gnome.post_install(
 -  gtk_update_icon_cache: true,
-+  gtk_update_icon_cache: false,
-   glib_compile_schemas: false,
+-  glib_compile_schemas: false,
 -  update_desktop_database: true,
-+  update_desktop_database: false,
- )
+-)
+-
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index c2f13faa10c4..5c2825eb8bdb 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -6,7 +6,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.11.17";
+  version = "3.11.18";
   pyproject = true;
 
   # Fetch from GitHub in order to use `requirements.in`
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "Flexget";
     repo = "Flexget";
     rev = "refs/tags/v${version}";
-    hash = "sha256-C6BVSrF6xM3tnNnGS39T57N9jB5LnOq4W1hcF99CgPk=";
+    hash = "sha256-ykHBGZS/1cRBdMuZ6tz+3QY5cOBxt+Z2Dp3lKuTKj7w=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/headlines/default.nix b/pkgs/applications/networking/headlines/default.nix
index 8db698e963bc..a4e5a8e684c6 100644
--- a/pkgs/applications/networking/headlines/default.nix
+++ b/pkgs/applications/networking/headlines/default.nix
@@ -14,7 +14,7 @@
 , gtkmm4
 , libsecret
 , fetchFromGitLab
-, makeWrapper
+, wrapGAppsHook4
 , xdg-utils
 , youtube-dl
 , ffmpeg
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     pkg-config
-    makeWrapper
+    wrapGAppsHook4
   ];
 
   buildInputs = [
@@ -56,10 +56,10 @@ stdenv.mkDerivation rec {
     gst-plugins-bad
   ]);
 
-  postFixup = ''
-    wrapProgram "$out/bin/headlines" \
-      --prefix PATH : "${lib.makeBinPath [ xdg-utils youtube-dl ffmpeg ]}" \
-      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PATH : "${lib.makeBinPath [ xdg-utils youtube-dl ffmpeg ]}"
+    )
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/beeper/default.nix b/pkgs/applications/networking/instant-messengers/beeper/default.nix
index 21542fc5f475..e555aec38724 100644
--- a/pkgs/applications/networking/instant-messengers/beeper/default.nix
+++ b/pkgs/applications/networking/instant-messengers/beeper/default.nix
@@ -11,11 +11,11 @@
 }:
 let
   pname = "beeper";
-  version = "3.95.22";
+  version = "3.96.30";
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.95.22-build-240206gs9w02ysg-x86_64.AppImage";
-    hash = "sha256-svTHoKLlKoCEL+Cc5VCJBJQSO8b/4T1Ukpwbc2nuHxA=";
+    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.96.30-build-240217e2y4xz3z3-x86_64.AppImage";
+    hash = "sha256-j/ACMLHircmt5yKhQIeZnVaJBDBcB2YYA+XOjcdMjxc=";
   };
   appimage = appimageTools.wrapType2 {
     inherit version pname src;
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 38415b9b5b1d..53473310b6a3 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -4,7 +4,7 @@ let
     if stdenv.isLinux then {
       stable = "0.0.43";
       ptb = "0.0.67";
-      canary = "0.0.277";
+      canary = "0.0.278";
       development = "0.0.13";
     } else {
       stable = "0.0.294";
@@ -25,7 +25,7 @@ let
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-        hash = "sha256-AOhwBr/bOKAQtQ41oaYxU/2708Rt5arBzjpGdWUnHZU=";
+        hash = "sha256-ypnw/CDY02jD8xLpJvS4Y7GjahgvUhcmV7zSDaVkNpk=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
index 869ed18c2cb3..f3505d9856b2 100644
--- a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
@@ -4,7 +4,7 @@
 , imagemagick
 , mesa
 , libdrm
-, flutter
+, flutter316
 , pulseaudio
 , makeDesktopItem
 , gnome
@@ -16,7 +16,7 @@ let
   libwebrtcRpath = lib.makeLibraryPath [ mesa libdrm ];
   pubspecLock = lib.importJSON ./pubspec.lock.json;
 in
-flutter.buildFlutterApplication (rec {
+flutter316.buildFlutterApplication (rec {
   pname = "fluffychat-${targetFlutterPlatform}";
   version = "1.17.1";
 
diff --git a/pkgs/applications/networking/instant-messengers/qq/sources.nix b/pkgs/applications/networking/instant-messengers/qq/sources.nix
index eda78b80edef..0353fcc19fe2 100644
--- a/pkgs/applications/networking/instant-messengers/qq/sources.nix
+++ b/pkgs/applications/networking/instant-messengers/qq/sources.nix
@@ -1,8 +1,8 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2024-01-27
+# Last updated: 2024-02-16
 {
-  version = "3.2.5-21159";
-  urlhash = "feb78c41";
-  arm64_hash = "sha256-3zbhFKQrO1tMSnWJllLJLaVeVpLs44WBbuuyU1LTMIU=";
-  amd64_hash = "sha256-pX99V18gjlMM6+jC9U7E5YvHDODGsrj0twt9K4rJN4Y=";
+  version = "3.2.5-21453";
+  urlhash = "852276c1";
+  arm64_hash = "sha256-g0J1FWG07bkabDHp2nuS48MNut2+N7gk0k5zWcmuQVw=";
+  amd64_hash = "sha256-6Qe4bP3q9RLEIJn9EfqqYaVTF8FRBNcjtVPl+zY7v5c=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
index c1ccec86b366..46c049b9d2f2 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
@@ -2,7 +2,7 @@
 callPackage ./generic.nix { } rec {
   pname = "signal-desktop";
   dir = "Signal";
-  version = "6.44.0";
+  version = "6.46.0";
   url = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/${version}/builds/release/signal-desktop_${version}_arm64.deb";
-  hash = "sha256-M4Xiy8cDQciMzgGl1/eeKZjEaelVtkk6JXJYBP4ua2s=";
+  hash = "sha256-rHmG2brzlQtYd3l5EFhjndPF5T7nQWzUhEe7LsEFVpc=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
index 9a129a9ce628..5886ed586cf5 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
@@ -2,7 +2,7 @@
 callPackage ./generic.nix {} rec {
   pname = "signal-desktop";
   dir = "Signal";
-  version = "6.46.0";
+  version = "6.47.1";
   url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-  hash = "sha256-6s6wFg2mJRaxEyWkZrCefspAdlcDwbjxXpx5CMNGW94=";
+  hash = "sha256-WRdn3T18xhWvlELtwlOs/ZoPuEt/yQgs7JP/1MGN5Ps=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index 0854e5300a66..2f82773b972e 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20240205";
+  version = "20240219-1";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    hash = "sha256-Iwos+WJrCWXbNpuaZTLyc8OEtfMA0EF1DIyLNlsZSx4=";
+    hash = "sha256-gzc72y9AL/JUNp8YJkRKq9rq1NenX+4aOxb5HODy8v4=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
index 98edbce3cb49..2e9ed7aa78a9 100644
--- a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "teams-for-linux";
-  version = "1.4.10";
+  version = "1.4.12";
 
   src = fetchFromGitHub {
     owner = "IsmaelMartinez";
     repo = "teams-for-linux";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-dR9YJJBBxvnJkD42+MwIql3B1dlA6WUSLJ//lW22mmc=";
+    hash = "sha256-LrFF61D2b9+FWnVkb9MYxBJQxMtejuOmGTEtfSj1No4=";
   };
 
   offlineCache = fetchYarnDeps {
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 58cb1c6a71b6..847ab81241b4 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.11.1";
+  version = "3.12.0";
 
   outputs = [ "out" "dev" ];
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    hash = "sha256-gskFI6nxRb5lx6EwWuqghqg7NmCaj0JS7PpV0i4qUqQ=";
+    hash = "sha256-77vsl7BvptNlU/1epn4Eo+3Lnedn5awUgqbkyapW7+A=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/onionshare/default.nix b/pkgs/applications/networking/onionshare/default.nix
index 6cb15ad685d9..af0722a6acd3 100644
--- a/pkgs/applications/networking/onionshare/default.nix
+++ b/pkgs/applications/networking/onionshare/default.nix
@@ -57,7 +57,7 @@ let
     homepage = "https://onionshare.org/";
 
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ lourkeur ];
+    maintainers = with maintainers; [ bbjubjub ];
     mainProgram = "onionshare-cli";
   };
 
diff --git a/pkgs/applications/networking/remote/dayon/default.nix b/pkgs/applications/networking/remote/dayon/default.nix
index 9d0089493570..63e6b0fec6bc 100644
--- a/pkgs/applications/networking/remote/dayon/default.nix
+++ b/pkgs/applications/networking/remote/dayon/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "dayon";
-  version = "13.0.1";
+  version = "13.0.2";
 
   src = fetchFromGitHub {
     owner = "RetGal";
     repo = "dayon";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-nevDC4kfVSgfmJZiCj82mc+/yZcIgub3CP9qi9ISF3o=";
+    hash = "sha256-sKA50D+VYjfKzdZAppIGfU5uJqrCrZPEsk9EEMBxu3I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/appflowy/default.nix b/pkgs/applications/office/appflowy/default.nix
index 05b6171a07fc..046e1273ed1b 100644
--- a/pkgs/applications/office/appflowy/default.nix
+++ b/pkgs/applications/office/appflowy/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "appflowy";
-  version = "0.4.6";
+  version = "0.4.9";
 
   src = fetchzip {
     url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-${version}-linux-x86_64.tar.gz";
-    hash = "sha256-496uXlJ/3ID8fnW/LKwk0Waca4gSQBuKIFMJ4EJGcsA=";
+    hash = "sha256-+Olmp2z5cLDgZikY2n9LI2A9W03pYdCtUE9hdr9Tp2Q=";
     stripRoot = false;
   };
 
@@ -79,5 +79,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/AppFlowy-IO/appflowy/releases/tag/${version}";
     maintainers = with maintainers; [ darkonion0 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "appflowy";
   };
 }
diff --git a/pkgs/applications/office/hledger-check-fancyassertions/default.nix b/pkgs/applications/office/hledger-check-fancyassertions/default.nix
index 9ffac0f31291..366f4fb2ae97 100644
--- a/pkgs/applications/office/hledger-check-fancyassertions/default.nix
+++ b/pkgs/applications/office/hledger-check-fancyassertions/default.nix
@@ -39,5 +39,6 @@ stdenvNoCC.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.DamienCassou ];
     platforms = lib.platforms.all; # GHC can cross-compile
+    mainProgram = "hledger-check-fancyassertions";
   };
 }
diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix
index 4a3272a4e599..a5f0b90095e7 100644
--- a/pkgs/applications/office/homebank/default.nix
+++ b/pkgs/applications/office/homebank/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
   pname = "homebank";
-  version = "5.7.3";
+  version = "5.7.4";
   src = fetchurl {
     url = "https://www.gethomebank.org/public/sources/homebank-${version}.tar.gz";
-    hash = "sha256-ad8XKlmazWZim/mLNmnsFSy5Oni7yv3HQxYX3SXzXcU=";
+    hash = "sha256-Qs5xRsh16gyjyTORtqm/RxTbRiHGP0oJTcxviYW7VOQ=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook intltool ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     description = "Free, easy, personal accounting for everyone";
     homepage = "https://www.gethomebank.org";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ pSub ];
+    maintainers = with maintainers; [ pSub frlan ];
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/applications/office/jameica/default.nix b/pkgs/applications/office/jameica/default.nix
index 655de5227bb0..e6aa7cb21d14 100644
--- a/pkgs/applications/office/jameica/default.nix
+++ b/pkgs/applications/office/jameica/default.nix
@@ -83,5 +83,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ];
     maintainers = with maintainers; [ flokli r3dl3g ];
+    mainProgram = "jameica";
   };
 }
diff --git a/pkgs/applications/office/ledger-web/default.nix b/pkgs/applications/office/ledger-web/default.nix
index ce8b401cb6b9..e19d4492ac91 100644
--- a/pkgs/applications/office/ledger-web/default.nix
+++ b/pkgs/applications/office/ledger-web/default.nix
@@ -19,5 +19,6 @@ bundlerApp {
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg manveru nicknovitski ];
     platforms = platforms.linux;
+    mainProgram = "ledger_web";
   };
 }
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index 81857f99f37d..d055658b294a 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -39,6 +39,7 @@ in appimageTools.wrapType2 {
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
     maintainers  = with maintainers; [ dtzWill atila ];
+    mainProgram = "mendeley-reference-manager";
   };
 
 }
diff --git a/pkgs/applications/office/micropad/default.nix b/pkgs/applications/office/micropad/default.nix
index c693d83c7cfe..c50e14015f3b 100644
--- a/pkgs/applications/office/micropad/default.nix
+++ b/pkgs/applications/office/micropad/default.nix
@@ -96,5 +96,6 @@ in
       license = licenses.mpl20;
       maintainers = with maintainers; [rhysmdnz];
       inherit (electron.meta) platforms;
+      mainProgram = "micropad";
     };
   }
diff --git a/pkgs/applications/office/notion-app-enhanced/default.nix b/pkgs/applications/office/notion-app-enhanced/default.nix
index 84635f42ee45..e9206f9e5153 100644
--- a/pkgs/applications/office/notion-app-enhanced/default.nix
+++ b/pkgs/applications/office/notion-app-enhanced/default.nix
@@ -28,5 +28,6 @@ in appimageTools.wrapType2 {
     license = licenses.unfree;
     maintainers = with maintainers; [ sei40kr ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "notion-app-enhanced";
   };
 }
diff --git a/pkgs/applications/office/p3x-onenote/default.nix b/pkgs/applications/office/p3x-onenote/default.nix
index 29e4f90a957f..c70f3aa52c40 100644
--- a/pkgs/applications/office/p3x-onenote/default.nix
+++ b/pkgs/applications/office/p3x-onenote/default.nix
@@ -47,5 +47,6 @@ appimageTools.wrapType2 rec {
     license = licenses.mit;
     maintainers = with maintainers; [ tiagolobocastro ];
     platforms = [ "x86_64-linux" "aarch64-linux" "armv7l-linux" ];
+    mainProgram = "p3x-onenote";
   };
 }
diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix
index e2f71ff83b0f..319234289515 100644
--- a/pkgs/applications/office/paperless-ngx/default.nix
+++ b/pkgs/applications/office/paperless-ngx/default.nix
@@ -22,13 +22,13 @@
 }:
 
 let
-  version = "2.5.0";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "paperless-ngx";
     repo = "paperless-ngx";
     rev = "refs/tags/v${version}";
-    hash = "sha256-f9XMGGNr4qA/twp7Kbv/34mvgNQT+KZ1rYre1BXVWw0=";
+    hash = "sha256-v6k9clKNBNb2MQp0BTrUL9zfY6SUKfzaaOycmV8RKyk=";
   };
 
   python = python3;
diff --git a/pkgs/applications/office/pdfmm/default.nix b/pkgs/applications/office/pdfmm/default.nix
index 1a61f786de2f..08dd9eea9bbd 100644
--- a/pkgs/applications/office/pdfmm/default.nix
+++ b/pkgs/applications/office/pdfmm/default.nix
@@ -53,5 +53,6 @@ resholve.mkDerivation rec {
     homepage = "https://github.com/jpfleury/pdfmm";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ urandom ];
+    mainProgram = "pdfmm";
   };
 }
diff --git a/pkgs/applications/office/pinpoint/default.nix b/pkgs/applications/office/pinpoint/default.nix
index d7b1984b0d73..99a45371b63c 100644
--- a/pkgs/applications/office/pinpoint/default.nix
+++ b/pkgs/applications/office/pinpoint/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ];
+    mainProgram = "pinpoint";
   };
 }
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index faab6627816a..ce99cb425c54 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -19,14 +19,14 @@
 let
   pname = "qownnotes";
   appname = "QOwnNotes";
-  version = "24.2.0";
+  version = "24.2.5";
 in
 stdenv.mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
-    hash = "sha256-mk7yFlL+NiTZ0JtSY3y/Y1NrN1QYcBxveMImv1zB1l8=";
+    hash = "sha256-xLrt9ng2Le3eEPHyXuoqTUwSH5h6J+93bKFxIAaEduA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/rime-cli/default.nix b/pkgs/applications/office/rime-cli/default.nix
index 5dd412a45022..a5b989528459 100644
--- a/pkgs/applications/office/rime-cli/default.nix
+++ b/pkgs/applications/office/rime-cli/default.nix
@@ -19,5 +19,6 @@ buildGoModule rec {
     description = "A command line tool to add customized vocabulary for Rime IME";
     license = licenses.asl20;
     maintainers = with maintainers; [ urandom ];
+    mainProgram = "rime-cli";
   };
 }
diff --git a/pkgs/applications/office/roam-research/darwin.nix b/pkgs/applications/office/roam-research/darwin.nix
index 2c736c0c1a7f..1369a2352b58 100644
--- a/pkgs/applications/office/roam-research/darwin.nix
+++ b/pkgs/applications/office/roam-research/darwin.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     platforms = [ "x86_64-darwin" "aarch64-darwin" ];
+    mainProgram = "roam-research";
   };
 }
diff --git a/pkgs/applications/office/roam-research/linux.nix b/pkgs/applications/office/roam-research/linux.nix
index 5873bcfdd190..8733ce33026a 100644
--- a/pkgs/applications/office/roam-research/linux.nix
+++ b/pkgs/applications/office/roam-research/linux.nix
@@ -69,5 +69,6 @@ in stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
+    mainProgram = "roam-research";
   };
 }
diff --git a/pkgs/applications/office/super-productivity/default.nix b/pkgs/applications/office/super-productivity/default.nix
index 60b7b9ba1129..a50efea6096b 100644
--- a/pkgs/applications/office/super-productivity/default.nix
+++ b/pkgs/applications/office/super-productivity/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ offline ];
+    mainProgram = "super-productivity";
   };
 }
diff --git a/pkgs/applications/office/teapot/default.nix b/pkgs/applications/office/teapot/default.nix
index 209fa7c4556b..31ff3c860987 100644
--- a/pkgs/applications/office/teapot/default.nix
+++ b/pkgs/applications/office/teapot/default.nix
@@ -73,6 +73,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    mainProgram = "teapot";
   };
 }
 # TODO: patch/fix FLTK building
diff --git a/pkgs/applications/office/timeular/default.nix b/pkgs/applications/office/timeular/default.nix
index 61b9de8029fe..abe5a5e52ddb 100644
--- a/pkgs/applications/office/timeular/default.nix
+++ b/pkgs/applications/office/timeular/default.nix
@@ -42,5 +42,6 @@ in appimageTools.wrapType2 rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ ktor ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "timeular";
   };
 }
diff --git a/pkgs/applications/office/tudu/default.nix b/pkgs/applications/office/tudu/default.nix
index 57204fe86564..df1c5420164f 100644
--- a/pkgs/applications/office/tudu/default.nix
+++ b/pkgs/applications/office/tudu/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage = "https://code.meskio.net/tudu/";
     license = licenses.gpl3;
     platforms = platforms.unix;
+    mainProgram = "tudu";
   };
 }
diff --git a/pkgs/applications/office/tusk/default.nix b/pkgs/applications/office/tusk/default.nix
index 52bb3eff49b7..98f00f2ed54c 100644
--- a/pkgs/applications/office/tusk/default.nix
+++ b/pkgs/applications/office/tusk/default.nix
@@ -48,5 +48,6 @@ in appimageTools.wrapType2 rec {
     license = licenses.mit;
     maintainers = with maintainers; [ tbenst ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "tusk";
   };
 }
diff --git a/pkgs/applications/office/zk/default.nix b/pkgs/applications/office/zk/default.nix
index 066c2d244b72..6cdbb0d63af2 100644
--- a/pkgs/applications/office/zk/default.nix
+++ b/pkgs/applications/office/zk/default.nix
@@ -26,5 +26,6 @@ buildGoModule rec {
     license = licenses.gpl3;
     description = "A zettelkasten plain text note-taking assistant";
     homepage = "https://github.com/mickael-menu/zk";
+    mainProgram = "zk";
   };
 }
diff --git a/pkgs/applications/radio/aldo/default.nix b/pkgs/applications/radio/aldo/default.nix
index cbe906e4672d..3488ddecde39 100644
--- a/pkgs/applications/radio/aldo/default.nix
+++ b/pkgs/applications/radio/aldo/default.nix
@@ -22,5 +22,6 @@ in stdenv.mkDerivation {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux;
+    mainProgram = "aldo";
   };
 }
diff --git a/pkgs/applications/radio/anytone-emu/default.nix b/pkgs/applications/radio/anytone-emu/default.nix
index eea51546057e..5f4731616667 100644
--- a/pkgs/applications/radio/anytone-emu/default.nix
+++ b/pkgs/applications/radio/anytone-emu/default.nix
@@ -38,5 +38,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ janik ];
     platforms = platforms.linux;
+    mainProgram = "anytone-emu";
   };
 }
diff --git a/pkgs/applications/radio/chirp/default.nix b/pkgs/applications/radio/chirp/default.nix
index 6b41c36550ef..066c93361899 100644
--- a/pkgs/applications/radio/chirp/default.nix
+++ b/pkgs/applications/radio/chirp/default.nix
@@ -9,13 +9,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "chirp";
-  version = "unstable-2023-06-02";
+  version = "unstable-2024-02-08";
 
   src = fetchFromGitHub {
     owner = "kk7ds";
     repo = "chirp";
-    rev = "72789c3652c332dc68ba694f8f8f005913fe5c95";
-    hash = "sha256-WQwCX7h9BFLdYOBVVntxQ6g4t3j7QLfNmlHVLzlRh7U=";
+    rev = "902043a937ee3611744f2a4e35cd902c7b0a8d0b";
+    hash = "sha256-oDUtR1xD73rfBRKkbE1f68siO/4oxoLxw16w1qa9fEo=";
   };
   buildInputs = [
     glib
@@ -44,6 +44,7 @@ python3.pkgs.buildPythonApplication rec {
     description = "A free, open-source tool for programming your amateur radio";
     homepage = "https://chirp.danplanet.com/";
     license = licenses.gpl3Plus;
+    maintainers = [ maintainers.emantor ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/radio/cloudlog/default.nix b/pkgs/applications/radio/cloudlog/default.nix
index efdf95fc9841..cefda95c114c 100644
--- a/pkgs/applications/radio/cloudlog/default.nix
+++ b/pkgs/applications/radio/cloudlog/default.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "cloudlog";
-  version = "2.6.3";
+  version = "2.6.4";
 
   src = fetchFromGitHub {
     owner = "magicbug";
     repo = "Cloudlog";
     rev = version;
-    hash = "sha256-axulZxMSgpBtF2cUCUWiVdiEOAalvo6RNtG4xpEmC7o=";
+    hash = "sha256-5QY3llgI2wUp7xQssLMgU5CDx42rNLm77/vNnPv15r4=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/radio/cubicsdr/default.nix b/pkgs/applications/radio/cubicsdr/default.nix
index 2af45d0394cb..839fc9ceaaa1 100644
--- a/pkgs/applications/radio/cubicsdr/default.nix
+++ b/pkgs/applications/radio/cubicsdr/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ lasandell ];
     platforms = platforms.unix;
+    mainProgram = "CubicSDR";
   };
 }
diff --git a/pkgs/applications/radio/dmrconfig/default.nix b/pkgs/applications/radio/dmrconfig/default.nix
index dab93eabe71c..292263c0f269 100644
--- a/pkgs/applications/radio/dmrconfig/default.nix
+++ b/pkgs/applications/radio/dmrconfig/default.nix
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux;
+    mainProgram = "dmrconfig";
   };
 }
diff --git a/pkgs/applications/radio/dsd/default.nix b/pkgs/applications/radio/dsd/default.nix
index c98974740667..72b6f305d3c6 100644
--- a/pkgs/applications/radio/dsd/default.nix
+++ b/pkgs/applications/radio/dsd/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ andrew-d ];
+    mainProgram = "dsd";
   };
 }
diff --git a/pkgs/applications/radio/ebook2cw/default.nix b/pkgs/applications/radio/ebook2cw/default.nix
index 329d87d80f4c..4c1d2a3424e7 100644
--- a/pkgs/applications/radio/ebook2cw/default.nix
+++ b/pkgs/applications/radio/ebook2cw/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.all;
     maintainers = with maintainers; [ earldouglas ];
+    mainProgram = "ebook2cw";
   };
 }
diff --git a/pkgs/applications/radio/flamp/default.nix b/pkgs/applications/radio/flamp/default.nix
index 6d9c58eb9ab9..4e7326af1932 100644
--- a/pkgs/applications/radio/flamp/default.nix
+++ b/pkgs/applications/radio/flamp/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = with maintainers; [ stteague ];
     platforms = platforms.unix;
     broken = stdenv.system == "x86_64-darwin";
+    mainProgram = "flamp";
   };
 })
diff --git a/pkgs/applications/radio/flex-ndax/default.nix b/pkgs/applications/radio/flex-ndax/default.nix
index b1bda9fadce3..d350d481b9f5 100644
--- a/pkgs/applications/radio/flex-ndax/default.nix
+++ b/pkgs/applications/radio/flex-ndax/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     description = "FlexRadio digital audio transport (DAX) connector for PulseAudio";
     license = licenses.mit;
     maintainers = with maintainers; [ mvs ];
+    mainProgram = "nDAX";
   };
 }
diff --git a/pkgs/applications/radio/fllog/default.nix b/pkgs/applications/radio/fllog/default.nix
index b9490e47e5a5..46b99349be4f 100644
--- a/pkgs/applications/radio/fllog/default.nix
+++ b/pkgs/applications/radio/fllog/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ dysinger ];
     platforms = lib.platforms.linux;
+    mainProgram = "fllog";
   };
 }
diff --git a/pkgs/applications/radio/flmsg/default.nix b/pkgs/applications/radio/flmsg/default.nix
index d4b97e3a29dc..510c6e4b3323 100644
--- a/pkgs/applications/radio/flmsg/default.nix
+++ b/pkgs/applications/radio/flmsg/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ dysinger ];
     platforms = lib.platforms.linux;
+    mainProgram = "flmsg";
   };
 }
diff --git a/pkgs/applications/radio/flrig/default.nix b/pkgs/applications/radio/flrig/default.nix
index 83c28d47f7bb..18c4ab1c2052 100644
--- a/pkgs/applications/radio/flrig/default.nix
+++ b/pkgs/applications/radio/flrig/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ dysinger ];
     platforms = lib.platforms.linux;
+    mainProgram = "flrig";
   };
 }
diff --git a/pkgs/applications/radio/flwrap/default.nix b/pkgs/applications/radio/flwrap/default.nix
index 04b96b36c144..96c3125552d6 100644
--- a/pkgs/applications/radio/flwrap/default.nix
+++ b/pkgs/applications/radio/flwrap/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ dysinger ];
     platforms = lib.platforms.linux;
+    mainProgram = "flwrap";
   };
 }
diff --git a/pkgs/applications/radio/freedv/default.nix b/pkgs/applications/radio/freedv/default.nix
index 4af1843b17b7..f02337ff71be 100644
--- a/pkgs/applications/radio/freedv/default.nix
+++ b/pkgs/applications/radio/freedv/default.nix
@@ -92,5 +92,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;
     maintainers = with maintainers; [ mvs wegank ];
     platforms = platforms.unix;
+    mainProgram = "freedv";
   };
 }
diff --git a/pkgs/applications/radio/kalibrate-hackrf/default.nix b/pkgs/applications/radio/kalibrate-hackrf/default.nix
index f10840e1bea9..1d821bba4adf 100644
--- a/pkgs/applications/radio/kalibrate-hackrf/default.nix
+++ b/pkgs/applications/radio/kalibrate-hackrf/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation {
     license = licenses.bsd2;
     platforms = platforms.linux;
     maintainers = [ maintainers.mog ];
+    mainProgram = "kal-hackrf";
   };
 }
diff --git a/pkgs/applications/radio/kappanhang/default.nix b/pkgs/applications/radio/kappanhang/default.nix
index 41037c509219..be8fa24a949e 100644
--- a/pkgs/applications/radio/kappanhang/default.nix
+++ b/pkgs/applications/radio/kappanhang/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mvs ];
+    mainProgram = "kappanhang";
   };
 }
diff --git a/pkgs/applications/radio/minimodem/default.nix b/pkgs/applications/radio/minimodem/default.nix
index c023e76b273e..a09e62dfd191 100644
--- a/pkgs/applications/radio/minimodem/default.nix
+++ b/pkgs/applications/radio/minimodem/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     platforms = with lib.platforms; linux;
     maintainers = with lib.maintainers; [ relrod ];
+    mainProgram = "minimodem";
   };
 }
 
diff --git a/pkgs/applications/radio/noaa-apt/default.nix b/pkgs/applications/radio/noaa-apt/default.nix
index 95ab7f9baadd..65024c24b00e 100644
--- a/pkgs/applications/radio/noaa-apt/default.nix
+++ b/pkgs/applications/radio/noaa-apt/default.nix
@@ -66,5 +66,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = with maintainers; [ trepetti tmarkus ];
     platforms = platforms.all;
     changelog = "https://github.com/martinber/noaa-apt/releases/tag/v${version}";
+    mainProgram = "noaa-apt";
   };
 }
diff --git a/pkgs/applications/radio/pat/default.nix b/pkgs/applications/radio/pat/default.nix
index bddb3b986a33..61cee240e5cf 100644
--- a/pkgs/applications/radio/pat/default.nix
+++ b/pkgs/applications/radio/pat/default.nix
@@ -41,5 +41,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ dotemup sarcasticadmin ];
     platforms = platforms.unix;
+    mainProgram = "pat";
   };
 }
diff --git a/pkgs/applications/radio/rtl_433/default.nix b/pkgs/applications/radio/rtl_433/default.nix
index 8619179efae4..46b9a9ed2ea3 100644
--- a/pkgs/applications/radio/rtl_433/default.nix
+++ b/pkgs/applications/radio/rtl_433/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ earldouglas markuskowa ];
     platforms = platforms.all;
+    mainProgram = "rtl_433";
   };
 }
diff --git a/pkgs/applications/radio/sdrangel/default.nix b/pkgs/applications/radio/sdrangel/default.nix
index 4c547cb4b125..459fc1f48963 100644
--- a/pkgs/applications/radio/sdrangel/default.nix
+++ b/pkgs/applications/radio/sdrangel/default.nix
@@ -52,13 +52,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sdrangel";
-  version = "7.17.3";
+  version = "7.18.0";
 
   src = fetchFromGitHub {
     owner = "f4exb";
     repo = "sdrangel";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-NjahPDHM6qbBXTpDSe8HQPslMO0yTd6/0piNzrFNerM=";
+    hash = "sha256-5+OUOqQb0ekeAVCOr+MftttqTwcDeiV44Oni6i3rO0w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/radio/sdrplay/default.nix b/pkgs/applications/radio/sdrplay/default.nix
index 8e7c14ec5e24..9d9ee298e09c 100644
--- a/pkgs/applications/radio/sdrplay/default.nix
+++ b/pkgs/applications/radio/sdrplay/default.nix
@@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ pmenke zaninime ];
     platforms = platforms.linux;
+    mainProgram = "sdrplay_apiService";
   };
 }
diff --git a/pkgs/applications/radio/sdrpp/default.nix b/pkgs/applications/radio/sdrpp/default.nix
index 76fa70984c20..1ae5c028d28e 100644
--- a/pkgs/applications/radio/sdrpp/default.nix
+++ b/pkgs/applications/radio/sdrpp/default.nix
@@ -134,5 +134,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ sikmir ];
+    mainProgram = "sdrpp";
   };
 }
diff --git a/pkgs/applications/radio/soapyremote/default.nix b/pkgs/applications/radio/soapyremote/default.nix
index ebb34b0a0ce5..c6e7cddd0903 100644
--- a/pkgs/applications/radio/soapyremote/default.nix
+++ b/pkgs/applications/radio/soapyremote/default.nix
@@ -27,5 +27,6 @@ in stdenv.mkDerivation {
     license = licenses.boost;
     maintainers = with maintainers; [ markuskowa ];
     platforms = platforms.unix;
+    mainProgram = "SoapySDRServer";
   };
 }
diff --git a/pkgs/applications/radio/tncattach/default.nix b/pkgs/applications/radio/tncattach/default.nix
index 5d88c84f7174..c536112e63a9 100644
--- a/pkgs/applications/radio/tncattach/default.nix
+++ b/pkgs/applications/radio/tncattach/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ sarcasticadmin ];
     platforms = platforms.linux;
+    mainProgram = "tncattach";
   };
 }
diff --git a/pkgs/applications/radio/xlog/default.nix b/pkgs/applications/radio/xlog/default.nix
index fe2b915e93ad..4e492af65600 100644
--- a/pkgs/applications/radio/xlog/default.nix
+++ b/pkgs/applications/radio/xlog/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.mafo ];
     license = licenses.gpl3;
     platforms = platforms.unix;
+    mainProgram = "xlog";
   };
 }
diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix
index 96182dc835d5..a3faca60c2a6 100644
--- a/pkgs/applications/science/biology/last/default.nix
+++ b/pkgs/applications/science/biology/last/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "last";
-  version = "1540";
+  version = "1541";
 
   src = fetchFromGitLab {
     owner = "mcfrith";
     repo = "last";
     rev = "refs/tags/${version}";
-    hash = "sha256-oGGpPWWQ5EVK9n5BLQwt1Wch2Xn24B+NrKg6+VrsUMY=";
+    hash = "sha256-gEesPeGY2RozoViZpBWNTXFJriKVb/r0Efw9XEXwXmM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/chemistry/avogadro2/default.nix b/pkgs/applications/science/chemistry/avogadro2/default.nix
index dad31b738a84..7b8d69681f46 100644
--- a/pkgs/applications/science/chemistry/avogadro2/default.nix
+++ b/pkgs/applications/science/chemistry/avogadro2/default.nix
@@ -12,13 +12,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "avogadro2";
-  version = "1.98.1";
+  version = "1.99.0";
 
   src = fetchFromGitHub {
     owner = "OpenChemistry";
     repo = "avogadroapp";
     rev = version;
-    hash = "sha256-N35WGYZbgfjKnorzGKCnbBvlrlt9Vr04YIG2R3k+b8A=";
+    hash = "sha256-m8kX4WzOmPE/BZQRePOoUAdMPdWb6pmcqtPvDdEIIao=";
   };
 
   postUnpack = ''
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ openbabel ];
 
-  qtWrapperArgs = [ "--prefix PATH : ${openbabel}/bin" ];
+  qtWrapperArgs = [ "--prefix PATH : ${lib.getBin openbabel}/bin" ];
 
   meta = with lib; {
     description = "Molecule editor and visualizer";
diff --git a/pkgs/applications/science/chemistry/openmolcas/default.nix b/pkgs/applications/science/chemistry/openmolcas/default.nix
index 0aeb01c2916b..8ad979473955 100644
--- a/pkgs/applications/science/chemistry/openmolcas/default.nix
+++ b/pkgs/applications/science/chemistry/openmolcas/default.nix
@@ -13,7 +13,7 @@
 , libxc
 , makeWrapper
 , gsl
-, boost175
+, boost180
 , autoPatchelfHook
   # Note that the CASPT2 module is broken with MPI
   # See https://gitlab.com/Molcas/OpenMolcas/-/issues/169
@@ -41,16 +41,15 @@ let
   };
 
 in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "openmolcas";
-  version = "23.10";
+  version = "24.02";
 
   src = fetchFromGitLab {
     owner = "Molcas";
     repo = "OpenMolcas";
-    # The tag keeps moving, fix a hash instead
-    rev = "c74317e68572d1da82fdce4210b005c2c1b1de53"; # 2023-09-25
-    hash = "sha256-wBrASZ6YFsWsu/TreEZ6Q+VxNQwCwMpyPC8AOqmNxos=";
+    rev = "v${version}";
+    hash = "sha256-4Ek0cnaRfLEbj1Nj31rRp9b2sois4rIFTcpOUq9h2mw=";
   };
 
   patches = [
@@ -59,9 +58,6 @@ stdenv.mkDerivation {
 
     # Required for a local QCMaquis build
     ./qcmaquis.patch
-
-    # PyParsing >= 3.11 compatibility, can be removed on next release
-    ./pyparsing.patch
   ];
 
   postPatch = ''
@@ -93,7 +89,7 @@ stdenv.mkDerivation {
     armadillo
     libxc
     gsl.dev
-    boost175
+    boost180
   ] ++ lib.optionals enableMpi [
     mpi
     globalarrays
@@ -155,7 +151,7 @@ stdenv.mkDerivation {
     homepage = "https://gitlab.com/Molcas/OpenMolcas";
     maintainers = [ maintainers.markuskowa ];
     license = with licenses; [ lgpl21Only bsd3 ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "aarch64-linux" "x86_64-linux" ];
     mainProgram = "pymolcas";
   };
 }
diff --git a/pkgs/applications/science/chemistry/openmolcas/pyparsing.patch b/pkgs/applications/science/chemistry/openmolcas/pyparsing.patch
deleted file mode 100644
index 271b52840ff9..000000000000
--- a/pkgs/applications/science/chemistry/openmolcas/pyparsing.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/Tools/pymolcas/emil_grammar.py b/Tools/pymolcas/emil_grammar.py
-index acbbae8..509c56f 100644
---- a/Tools/pymolcas/emil_grammar.py
-+++ b/Tools/pymolcas/emil_grammar.py
-@@ -15,6 +15,14 @@
- 
- from __future__ import (unicode_literals, division, absolute_import, print_function)
- 
-+try:
-+  u = unicode
-+  del u
-+  py2 = True
-+except NameError:
-+  pass
-+
-+
- from re import sub
- from pyparsing import *
- 
-@@ -24,6 +32,8 @@ def chomp(s):
- 
- def chompAction(s, l, t):
-   try:
-+    if (py2):
-+      pass
-     return list(map(lambda s: chomp(unicode(s)), t))
-   except NameError:
-     return list(map(chomp, t))
-@@ -33,6 +43,8 @@ def removeEMILEnd(s):
- 
- def removeEMILEndAction(s, l, t):
-   try:
-+    if (py2):
-+      pass
-     return list(map(lambda s: removeEMILEnd(unicode(s)), t))
-   except NameError:
-     return list(map(removeEMILEnd, t))
diff --git a/pkgs/applications/science/computer-architecture/qtrvsim/default.nix b/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
index 73c3c9a11f17..c60ee224aa2a 100644
--- a/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
+++ b/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "QtRVSim";
-  version = "0.9.6";
+  version = "0.9.7";
 
   src = fetchFromGitHub {
     owner = "cvut";
     repo = "qtrvsim";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-cC3DvQj2VBnGad6ZDn3x4gHQfsPpySzjTi17PQoaxPU=";
+    sha256 = "sha256-SelmqHauj5Yxg043NZqR4bhqW5clwg1h7UD8mW7j7vE=";
   };
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
diff --git a/pkgs/applications/science/computer-architecture/timeloop/default.nix b/pkgs/applications/science/computer-architecture/timeloop/default.nix
index 4e794aaa29e2..ec8ec3ed8abc 100644
--- a/pkgs/applications/science/computer-architecture/timeloop/default.nix
+++ b/pkgs/applications/science/computer-architecture/timeloop/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "timeloop";
-  version = "unstable-2022-11-29";
+  version = "3.0.3";
 
   src = fetchFromGitHub {
     owner = "NVlabs";
     repo = "timeloop";
-    rev = "905ba953432c812772de935d57fd0a674a89d3c1";
-    hash = "sha256-EXiWXf8hdX4vFRNk9wbFSOsix/zVkwrafGUtFrsoAN0=";
+    rev = "v${version}";
+    hash = "sha256-CGPhrBNzFdERAA/Eym2v0+FvFUe+VkBLnwYEqEMHE9k=";
   };
 
   nativeBuildInputs = [ scons ];
@@ -46,10 +46,14 @@ stdenv.mkDerivation rec {
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-fno-lto";
 
   postPatch = ''
+    # Fix gcc-13 build failure due to missing includes:
+    sed -e '1i #include <cstdint>' -i \
+      include/compound-config/compound-config.hpp
+
     # use nix ar/ranlib
     substituteInPlace ./SConstruct \
-      --replace "env.Replace(AR = \"gcc-ar\")" "" \
-      --replace "env.Replace(RANLIB = \"gcc-ranlib\")" ""
+      --replace-fail "env.Replace(AR = \"gcc-ar\")" "pass" \
+      --replace-fail "env.Replace(RANLIB = \"gcc-ranlib\")" "pass"
     '' + lib.optionalString stdenv.isDarwin ''
     # prevent clang from dying on errors that gcc is fine with
     substituteInPlace ./src/SConscript --replace "-Werror" "-Wno-inconsistent-missing-override"
diff --git a/pkgs/applications/science/electronics/qucs-s/default.nix b/pkgs/applications/science/electronics/qucs-s/default.nix
index 593e9d9187b7..4117638a1fda 100644
--- a/pkgs/applications/science/electronics/qucs-s/default.nix
+++ b/pkgs/applications/science/electronics/qucs-s/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qucs-s";
-  version = "2.1.0";
+  version = "24.1.0";
 
   src = fetchFromGitHub {
     owner = "ra3xdh";
     repo = "qucs_s";
     rev = version;
-    sha256 = "sha256-C7TLOuC0CHredDiWFIAFmOlV8ivX0j4bs3b8IB8FsqE=";
+    sha256 = "sha256-ei9CPlJg+Kfjh7vu5VnT6DNLmmnA8wZ2A1jXnm//Fgo=";
   };
 
   nativeBuildInputs = [ flex bison wrapQtAppsHook cmake ];
diff --git a/pkgs/applications/science/logic/elan/default.nix b/pkgs/applications/science/logic/elan/default.nix
index b0df275085e6..6a899eec4dc8 100644
--- a/pkgs/applications/science/logic/elan/default.nix
+++ b/pkgs/applications/science/logic/elan/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "elan";
-  version = "3.0.0";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "leanprover";
     repo = "elan";
     rev = "v${version}";
-    sha256 = "sha256-VrCEwAoWKhb1qfJUv3OreTzuKEVQADwZpEQIVEhjwHA=";
+    hash = "sha256-IC/xb4tZer2cbwIusdCwXxJS3K7kN/XFoU4mxKW4dVc=";
   };
 
-  cargoHash = "sha256-SMKFSu5C5mc3U266hEa6RB3GH5te3jIrUZAzj3YNa2E=";
+  cargoHash = "sha256-F80iiXb0UpV+N9q7Msef6/Uzas1DGjMKPWuOKrk8tqU=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
diff --git a/pkgs/applications/science/logic/potassco/clingo.nix b/pkgs/applications/science/logic/potassco/clingo.nix
index a3c324d0dbb8..ad3af12429a2 100644
--- a/pkgs/applications/science/logic/potassco/clingo.nix
+++ b/pkgs/applications/science/logic/potassco/clingo.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clingo";
-  version = "5.6.2";
+  version = "5.7.1";
 
   src = fetchFromGitHub {
     owner = "potassco";
     repo = "clingo";
     rev = "v${version}";
-    sha256 = "sha256-2vOscD5jengY3z9gHoY9y9y6RLfdzUj7BNKLyppNRac=";
+    sha256 = "sha256-S0JAfMwg49aryKABbC/2oLCEkndVpMVcFE6X0vkbtNc=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/stp/default.nix b/pkgs/applications/science/logic/stp/default.nix
index 42926a870816..fb41ea07f5a1 100644
--- a/pkgs/applications/science/logic/stp/default.nix
+++ b/pkgs/applications/science/logic/stp/default.nix
@@ -11,6 +11,20 @@ stdenv.mkDerivation rec {
     rev    = version;
     sha256 = "1yg2v4wmswh1sigk47drwsxyayr472mf4i47lqmlcgn9hhbx1q87";
   };
+  patches = [
+    # Fix missing type declaration
+    # due to undeterminisitic compilation
+    # of circularly dependent headers
+    ./stdint.patch
+  ];
+
+  postPatch = ''
+    # Upstream fix for gcc-13 support:
+    #   https://github.com/stp/stp/pull/462
+    # Can't apply it as is as patch context changed in ither patches.
+    # TODO: remove me on 2.4 release
+    sed -e '1i #include <cstdint>' -i include/stp/AST/ASTNode.h
+  '';
 
   buildInputs = [ boost zlib minisat cryptominisat python3 ];
   nativeBuildInputs = [ cmake bison flex perl ];
@@ -26,7 +40,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Simple Theorem Prover";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ McSinyx ];
     platforms = platforms.linux;
     license = licenses.mit;
   };
diff --git a/pkgs/applications/science/logic/stp/stdint.patch b/pkgs/applications/science/logic/stp/stdint.patch
new file mode 100644
index 000000000000..6595d5561731
--- /dev/null
+++ b/pkgs/applications/science/logic/stp/stdint.patch
@@ -0,0 +1,16 @@
+diff --git a/include/stp/AST/ASTNode.h b/include/stp/AST/ASTNode.h
+index 91acd726182c..0a17db23ffbf 100644
+--- a/include/stp/AST/ASTNode.h
++++ b/include/stp/AST/ASTNode.h
+@@ -24,9 +24,10 @@ THE SOFTWARE.
+ #ifndef ASTNODE_H
+ #define ASTNODE_H
+ 
++#include "stp/AST/ASTInternal.h"
+ #include "stp/AST/NodeFactory/HashingNodeFactory.h"
++#include "stp/AST/UsefulDefs.h"
+ #include "stp/Util/Attributes.h"
+-#include "ASTInternal.h"
+ #include "stp/Globals/Globals.h"
+ 
+ namespace stp
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index 7c9d6f5cb0a6..9548db1c7c47 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -214,13 +214,10 @@ stdenv.mkDerivation rec {
   # suppress warnings from compilation of the vendored clang to avoid running into log limits on the Hydra
   NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ "-Wno-shadow" "-Wno-maybe-uninitialized" ];
 
-  # Workaround the xrootd runpath bug #169677 by prefixing [DY]LD_LIBRARY_PATH with ${lib.makeLibraryPath xrootd}.
-  # TODO: Remove the [DY]LDLIBRARY_PATH prefix for xrootd when #200830 get merged.
   postInstall = ''
     for prog in rootbrowse rootcp rooteventselector rootls rootmkdir rootmv rootprint rootrm rootslimtree; do
       wrapProgram "$out/bin/$prog" \
-        --set PYTHONPATH "$out/lib" \
-        --set ${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH "$out/lib:${lib.makeLibraryPath [ xrootd ]}"
+        --set PYTHONPATH "$out/lib"
     done
 
     # Make ldd and sed available to the ROOT executable by prefixing PATH.
@@ -229,8 +226,7 @@ stdenv.mkDerivation rec {
         gnused # sed
         stdenv.cc # c++ ld etc.
         stdenv.cc.libc # ldd
-      ]}" \
-      --prefix ${lib.optionalString stdenv.hostPlatform.isDarwin "DY"}LD_LIBRARY_PATH : "${lib.makeLibraryPath [ xrootd ]}"
+      ]}"
 
     # Patch thisroot.{sh,csh,fish}
 
diff --git a/pkgs/applications/science/misc/sasview/default.nix b/pkgs/applications/science/misc/sasview/default.nix
index ddc0cdfa4e5b..e896b19ede83 100644
--- a/pkgs/applications/science/misc/sasview/default.nix
+++ b/pkgs/applications/science/misc/sasview/default.nix
@@ -1,30 +1,21 @@
 { lib
 , python3
 , fetchFromGitHub
-, fetchpatch
 , wrapQtAppsHook
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sasview";
-  version = "5.0.4";
+  version = "5.0.6";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "SasView";
     repo = "sasview";
-    rev = "v${version}";
-    hash = "sha256-TjcchqA6GCvkr59ZgDuGglan2RxLp+aMjJk28XhvoiY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-cwP9VuvO4GPlbAxCqw31xISTi9NoF5RoBQmjWusrnzc=";
   };
 
-  patches = [
-    # Fix `asscalar` numpy API removal.
-    # See https://github.com/SasView/sasview/pull/2178
-    (fetchpatch {
-      url = "https://github.com/SasView/sasview/commit/b1ab08c2a4e8fdade7f3e4cfecf3dfec38b8f3c5.patch";
-      hash = "sha256-IH8g4XPziVAnkmBdzLH1ii8vN6kyCmOgrQlH2HEbm5o=";
-    })
-  ];
-
   # AttributeError: module 'numpy' has no attribute 'float'.
   postPatch = ''
     substituteInPlace src/sas/sascalc/pr/p_invertor.py \
@@ -33,6 +24,7 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = [
     python3.pkgs.pyqt5
+    python3.pkgs.setuptools
     wrapQtAppsHook
   ];
 
@@ -66,12 +58,21 @@ python3.pkgs.buildPythonApplication rec {
     unittest-xml-reporting
   ];
 
-  pytestFlagsArray = [ "test" ];
+  pytestFlagsArray = [
+    "test"
+  ];
+
+  disabledTests = [
+    # NoKnownLoaderException
+    "test_invalid_cansas"
+    "test_data_reader_exception"
+  ];
 
   meta = with lib; {
-    homepage = "https://www.sasview.org";
     description = "Fitting and data analysis for small angle scattering data";
-    maintainers = with maintainers; [ rprospero ];
+    homepage = "https://www.sasview.org";
+    changelog = "https://github.com/SasView/sasview/releases/tag/v${version}";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ rprospero ];
   };
 }
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index ba9cfb41f09c..465ae196b47d 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "snakemake";
-  version = "8.4.4";
+  version = "8.4.8";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-d3pUVhn9oi1ILDR4sfRh6HypbDn2JZMha27h0twixPc=";
+    hash = "sha256-iF5+slcPTRK/3SmqR+4KK5KAK5LhKAe+nt+U/B5C3/8=";
     # https://github.com/python-versioneer/python-versioneer/issues/217
     postFetch = ''
       sed -i "$out"/snakemake/_version.py -e 's#git_refnames = ".*"#git_refnames = " (tag: v${version})"#'
diff --git a/pkgs/applications/science/physics/xfitter/default.nix b/pkgs/applications/science/physics/xfitter/default.nix
index 1852ef3ff1c8..77b57e08e2bb 100644
--- a/pkgs/applications/science/physics/xfitter/default.nix
+++ b/pkgs/applications/science/physics/xfitter/default.nix
@@ -47,6 +47,8 @@ stdenv.mkDerivation rec {
   env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.libc == "glibc") "-I${libtirpc.dev}/include/tirpc";
   NIX_LDFLAGS = lib.optional (stdenv.hostPlatform.libc == "glibc") "-ltirpc";
 
+  hardeningDisable = [ "format" ];
+
   # workaround wrong library IDs
   postInstall = lib.optionalString stdenv.isDarwin ''
     ln -sv "$out/lib/xfitter/"* "$out/lib/"
diff --git a/pkgs/applications/search/doodle/default.nix b/pkgs/applications/search/doodle/default.nix
index 2016d6afff74..fbe5ee56b319 100644
--- a/pkgs/applications/search/doodle/default.nix
+++ b/pkgs/applications/search/doodle/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ viric ];
     platforms = with lib.platforms; linux;
+    mainProgram = "doodle";
   };
 }
diff --git a/pkgs/applications/search/grepcidr/default.nix b/pkgs/applications/search/grepcidr/default.nix
index bdc660db45fc..231718c810ee 100644
--- a/pkgs/applications/search/grepcidr/default.nix
+++ b/pkgs/applications/search/grepcidr/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = [ maintainers.fadenb ];
+    mainProgram = "grepcidr";
   };
 }
diff --git a/pkgs/applications/search/grepm/default.nix b/pkgs/applications/search/grepm/default.nix
index 14ac6ed69ce8..c3adbb2ab8b0 100644
--- a/pkgs/applications/search/grepm/default.nix
+++ b/pkgs/applications/search/grepm/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation {
     license = licenses.free;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
+    mainProgram = "grepm";
   };
 }
diff --git a/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch b/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch
new file mode 100644
index 000000000000..1f3a71fb3c9b
--- /dev/null
+++ b/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch
@@ -0,0 +1,48 @@
+From 9a0102fe1da038ebe08107ead991964df11b0271 Mon Sep 17 00:00:00 2001
+From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
+Date: Mon, 19 Feb 2024 03:31:20 +0000
+Subject: [PATCH] no qtgui darwin bundle
+
+---
+ qtgui/recoll.pro.in | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/qtgui/recoll.pro.in b/qtgui/recoll.pro.in
+index a0ef314..6dbc3b5 100644
+--- a/qtgui/recoll.pro.in
++++ b/qtgui/recoll.pro.in
+@@ -180,7 +180,7 @@ windows {
+   }
+ }
+ 
+-macx: {
++if (false) {
+   QCBUILDLOC=Qt_6_4_2_for_macOS
+ 
+   # QT += webkit webkitwidgets
+@@ -375,7 +375,7 @@ macx: {
+   QMAKE_BUNDLE_DATA = APP_EXAMPLES APP_EXAMPLES_MAC APP_FILTERS APP_IMAGES APP_DOC
+ }
+ 
+-unix:!macx {
++unix {
+ 
+ VPATH = @srcdir@
+ 
+@@ -400,6 +400,13 @@ VPATH = @srcdir@
+   SOURCES += crontool.cpp \
+         rtitool.cpp
+ 
++  macx {
++    SOURCES += ../utils/closefrom.cpp \
++    ../utils/execmd.cpp \
++    ../utils/netcon.cpp \
++    ../utils/rclionice.cpp
++  }
++
+   FORMS  += crontool.ui \
+         rtitool.ui
+ 
+-- 
+2.43.0
+
diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix
index 67f22a33abce..99d4b79d1cc0 100644
--- a/pkgs/applications/search/recoll/default.nix
+++ b/pkgs/applications/search/recoll/default.nix
@@ -70,11 +70,11 @@ in
 
 mkDerivation rec {
   pname = "recoll";
-  version = "1.37.2";
+  version = "1.37.4";
 
   src = fetchurl {
     url = "https://www.lesbonscomptes.com/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-xLdk3pJSV1YaloSV3TuTdJhujXsxUGrDru+mu86YBTU=";
+    hash = "sha256-MQnXamW7L4hyMbZDmU7XAcLv5roHcfhFGzni8YbDtq0=";
   };
 
   configureFlags = [
@@ -105,6 +105,8 @@ mkDerivation rec {
   patches = [
     # fix "No/bad main configuration file" error
     ./fix-datadir.patch
+    # use the same configure based build for darwin as linux
+    ./0001-no-qtgui-darwin-bundle.patch
   ];
 
   nativeBuildInputs = [
@@ -135,6 +137,10 @@ mkDerivation rec {
     libiconv
   ];
 
+  qtWrapperArgs = [
+    "--prefix PATH : ${filterPath}"
+  ];
+
   # the filters search through ${PATH} using a sh proc 'checkcmds' for the
   # filtering utils. Short circuit this by replacing the filtering command with
   # the absolute path to the filtering command.
@@ -150,8 +156,6 @@ mkDerivation rec {
         substituteInPlace $f --replace /usr/bin/perl   ${lib.getBin (perl.passthru.withPackages (p: [ p.ImageExifTool ]))}/bin/perl
       fi
     done
-    wrapProgram $out/bin/recoll      --prefix PATH : "${filterPath}"
-    wrapProgram $out/bin/recollindex --prefix PATH : "${filterPath}"
     wrapProgram $out/share/recoll/filters/rclaudio.py \
       --prefix PYTHONPATH : $PYTHONPATH
     wrapProgram $out/share/recoll/filters/rclimg \
@@ -163,6 +167,11 @@ mkDerivation rec {
     mv $out/bin/recoll.app $out/Applications
   '';
 
+  # create symlink after fixup to prevent double wrapping of recoll
+  postFixup = lib.optionalString (stdenv.isDarwin && withGui) ''
+    ln -s ../Applications/recoll.app/Contents/MacOS/recoll $out/bin/recoll
+  '';
+
   enableParallelBuilding = true;
 
   meta = with lib; {
diff --git a/pkgs/applications/system/mgmt/default.nix b/pkgs/applications/system/mgmt/default.nix
index 8a8396630815..bfa85ef566fd 100644
--- a/pkgs/applications/system/mgmt/default.nix
+++ b/pkgs/applications/system/mgmt/default.nix
@@ -63,5 +63,6 @@ buildGoModule rec {
     homepage = "https://mgmtconfig.com";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ urandom ];
+    mainProgram = "mgmt";
   };
 }
diff --git a/pkgs/applications/system/psitop/default.nix b/pkgs/applications/system/psitop/default.nix
index cfcdf2488f6a..74edad8b18c0 100644
--- a/pkgs/applications/system/psitop/default.nix
+++ b/pkgs/applications/system/psitop/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://github.com/jamespwilliams/psitop";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "psitop";
   };
 }
diff --git a/pkgs/applications/system/zxfer/default.nix b/pkgs/applications/system/zxfer/default.nix
index b62c1262430c..855be7bc3be0 100644
--- a/pkgs/applications/system/zxfer/default.nix
+++ b/pkgs/applications/system/zxfer/default.nix
@@ -82,5 +82,6 @@ resholve.mkDerivation rec {
     changelog = "https://github.com/allanjude/zxfer/releases/tag/v${version}";
     license = licenses.bsd2;
     maintainers = with lib.maintainers; [ urandom ];
+    mainProgram = "zxfer";
   };
 }
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index 0cc73c17f393..2a249d0426ca 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -30,20 +30,20 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.32.1";
+  version = "0.32.2";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "refs/tags/v${version}";
-    hash = "sha256-d+Xwn+po/pclAy4UZ4pR4KWmriHCLPeMhXxoHp6wHT8=";
+    hash = "sha256-CgL+XXVTGLbNXm7DLenrkCZAfspyNubGOAPUZmKiq2c=";
   };
 
   goModules = (buildGoModule {
     pname = "kitty-go-modules";
     inherit src version;
-    vendorHash = "sha256-WRDP3Uyttz/kWm07tjv7wNguF/a1YgZqutbvFEOHuE0=";
+    vendorHash = "sha256-Ve8s4vgDmByfvyJL8a36+7g3QErkhqVXGCSu6vHFFx0=";
   }).goModules;
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix
index d7abe6812c5c..98a5549faab4 100644
--- a/pkgs/applications/version-management/commitizen/default.nix
+++ b/pkgs/applications/version-management/commitizen/default.nix
@@ -11,7 +11,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "commitizen";
-  version = "3.14.1";
+  version = "3.15.0";
   format = "pyproject";
 
   disabled = python3.pythonOlder "3.8";
@@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "commitizen-tools";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-yRcc87V4XJuTyrngQgPGJozk+hd7SRHERLvsQ/yZKYQ=";
+    hash = "sha256-WXsEkJRis9L9heHj6SkTFFTuGmnDXPMKfr7rYy8vzcI=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/applications/version-management/conform/default.nix b/pkgs/applications/version-management/conform/default.nix
index 7ee825f566ec..4ebe11038ddd 100644
--- a/pkgs/applications/version-management/conform/default.nix
+++ b/pkgs/applications/version-management/conform/default.nix
@@ -2,15 +2,16 @@
 
 buildGoModule rec {
   pname = "conform";
-  version = "0.1.0-alpha.27";
+  version = "0.1.0-alpha.28";
 
   src = fetchFromGitHub {
     owner = "siderolabs";
     repo = "conform";
     rev = "v${version}";
-    sha256 = "sha256-lIXkflWQcUcmRDX9iSszFLKpI8nSgkCCB2+GQn07+DM=";
+    hash = "sha256-qrMOybTjXql+cOggkgSMnK2MQhZr59e5Z4d+jBMUTko=";
   };
-  vendorHash = "sha256-Oigt7tAK4jhBQtfG1wdLHqi11NWu6uJn5fmuqTmR76E=";
+
+  vendorHash = "sha256-hDdNYXy5NIrlqT6yyOglFg2v7HOM9nE+oh7mx2kLdnQ=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/version-management/gh/default.nix b/pkgs/applications/version-management/gh/default.nix
index 33d968c53757..659de8d676a3 100644
--- a/pkgs/applications/version-management/gh/default.nix
+++ b/pkgs/applications/version-management/gh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.43.1";
+  version = "2.44.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-FPKYp3tdYXncHjfo6E6tRnEG9AQ0RU6FaezwMlTOCtA=";
+    hash = "sha256-ZcJY9XNkp1Glo0sQ0O9iadsvW4eterkogjlJmQeP+M4=";
   };
 
   vendorHash = "sha256-r1zcwBz/mJOv1RU4Ilgg73yH37xu7a/BmqgAkiODq0I=";
diff --git a/pkgs/applications/version-management/git-aggregator/default.nix b/pkgs/applications/version-management/git-aggregator/default.nix
index 22127c114110..34365cb5d90d 100644
--- a/pkgs/applications/version-management/git-aggregator/default.nix
+++ b/pkgs/applications/version-management/git-aggregator/default.nix
@@ -37,7 +37,7 @@ python3Packages.buildPythonApplication rec {
     description = "Manage the aggregation of git branches from different remotes to build a consolidated one";
     homepage = "https://github.com/acsone/git-aggregator";
     license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ lourkeur ];
+    maintainers = with maintainers; [ bbjubjub ];
     mainProgram = "gitaggregate";
   };
 }
diff --git a/pkgs/applications/version-management/git-branchless/default.nix b/pkgs/applications/version-management/git-branchless/default.nix
index 6bcfb0a6cdc7..a8041f2698bb 100644
--- a/pkgs/applications/version-management/git-branchless/default.nix
+++ b/pkgs/applications/version-management/git-branchless/default.nix
@@ -37,6 +37,10 @@ rustPlatform.buildRustPackage rec {
     libiconv
   ];
 
+  postInstall = ''
+    $out/bin/git-branchless install-man-pages $out/share/man
+  '';
+
   preCheck = ''
     export TEST_GIT=${git}/bin/git
     export TEST_GIT_EXEC_PATH=$(${git}/bin/git --exec-path)
diff --git a/pkgs/applications/version-management/git-ignore/default.nix b/pkgs/applications/version-management/git-ignore/default.nix
index ca931ac2786d..d15c646a2d01 100644
--- a/pkgs/applications/version-management/git-ignore/default.nix
+++ b/pkgs/applications/version-management/git-ignore/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-ignore";
-  version = "1.2.2";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "sondr3";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-kIRuoY0dM2t+aY4iYdik9gUpG+81sDiJLD11Bmx68FI=";
+    hash = "sha256-kfc4LIFjLMltCn3BPaEfxc/yOZxFjYioyobTQZN/RmY=";
   };
 
-  cargoHash = "sha256-6sb+OW5VtA6vY6fDtsaZePZD53ehH7QawxJJlUNsrnM=";
+  cargoHash = "sha256-HoW10XzWIjxsqoKVKQkMf5in7pOODGnUM0cRZP1OJpg=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index e43448fd2f1d..563e7362d51d 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -18,13 +18,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "meld";
-  version = "3.22.0";
+  version = "3.22.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-P8EHyY7251NY/9Kw0UyF3bSP4UoR6TmpQyL6qo6QxA0=";
+    sha256 = "sha256-bdO9MtvUNBq6djD7lTd393x3aB7qIjazZB1iKo+QaDY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/version-management/stgit/default.nix b/pkgs/applications/version-management/stgit/default.nix
index 63213cc38b7a..06de22c65b19 100644
--- a/pkgs/applications/version-management/stgit/default.nix
+++ b/pkgs/applications/version-management/stgit/default.nix
@@ -18,15 +18,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stgit";
-  version = "2.4.4";
+  version = "2.4.5";
 
   src = fetchFromGitHub {
     owner = "stacked-git";
     repo = "stgit";
     rev = "v${version}";
-    hash = "sha256-KyyvTyPJ4LJ/H2rqutPlswrjINR+V8mJNi6iq8Om1j0=";
+    hash = "sha256-zESuJJ68CCTGSDwGBeguAV78KETp+FUKnNNJx+4zorw=";
   };
-  cargoHash = "sha256-Vlv2NRB4iggG3aCZwNZWhl7KfmYxryG2joY0jnBFhZ0=";
+  cargoHash = "sha256-ITR6RREx55q3hxYrHj+fOv0C8fAzphR4q/A5tTd9CDg=";
 
   nativeBuildInputs = [
     pkg-config installShellFiles makeWrapper asciidoc xmlto docbook_xsl
diff --git a/pkgs/applications/video/ani-cli/default.nix b/pkgs/applications/video/ani-cli/default.nix
index 375a930b0294..f4d174474df2 100644
--- a/pkgs/applications/video/ani-cli/default.nix
+++ b/pkgs/applications/video/ani-cli/default.nix
@@ -21,13 +21,13 @@ assert withMpv || withVlc || withIina;
 
 stdenvNoCC.mkDerivation rec {
   pname = "ani-cli";
-  version = "4.7";
+  version = "4.8";
 
   src = fetchFromGitHub {
     owner = "pystardust";
     repo = "ani-cli";
     rev = "v${version}";
-    hash = "sha256-Ll4bHKrDZukoQX35iiMI6rMSgiTC6wp7fHUnOMPagOA=";
+    hash = "sha256-vntCiWaONndjU622c1BoCoASQxQf/i7yO0x+70OxzPU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/video/crunchy-cli/default.nix b/pkgs/applications/video/crunchy-cli/default.nix
deleted file mode 100644
index 3efeeb8544d4..000000000000
--- a/pkgs/applications/video/crunchy-cli/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib
-, stdenv
-, clangStdenv
-, darwin
-, xcbuild
-, openssl
-, pkg-config
-, rustPlatform
-, fetchFromGitHub
-}:
-
-rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
-  pname = "crunchy-cli";
-  version = "3.0.0-dev.10";
-
-  src = fetchFromGitHub {
-    owner = "crunchy-labs";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-uc19SmVfa5BZYDidlEgV6GNvcm9Dj0mSjdwHP5S+O4A=";
-  };
-
-  cargoHash = "sha256-H3D55qMUAF6t45mRbGZl+DORAl1H1a7AOe+lQP0WUUQ=";
-
-  nativeBuildInputs = [
-    pkg-config
-  ] ++ lib.optionals stdenv.isDarwin [
-    xcbuild
-  ];
-
-  buildInputs = [
-    openssl
-  ] ++ lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.Security
-  ];
-
-  meta = with lib; {
-    description = "A pure Rust written Crunchyroll cli client and downloader";
-    homepage = "https://github.com/crunchy-labs/crunchy-cli";
-    license = with licenses; [ gpl3 ];
-    maintainers = with maintainers; [ stepbrobd ];
-    mainProgram = "crunchy-cli";
-  };
-}
-
diff --git a/pkgs/applications/video/frigate/default.nix b/pkgs/applications/video/frigate/default.nix
index 6a93401d985d..d6437d09f421 100644
--- a/pkgs/applications/video/frigate/default.nix
+++ b/pkgs/applications/video/frigate/default.nix
@@ -3,6 +3,7 @@
 , python3
 , fetchFromGitHub
 , fetchurl
+, fetchpatch2
 , frigate
 , nixosTests
 }:
@@ -58,6 +59,14 @@ python.pkgs.buildPythonApplication rec {
 
   inherit src;
 
+  patches = [
+    (fetchpatch2 {
+      name = "frigate-flask3.0-compat.patch";
+      url = "https://github.com/blakeblackshear/frigate/commit/56bdacc1c661eff8a323e033520e75e2ba0a3842.patch";
+      hash = "sha256-s/goUJxIbjq/woCEOEZECdcZoJDoWc1eM63sd60cxeY=";
+    })
+  ];
+
   postPatch = ''
     echo 'VERSION = "${version}"' > frigate/version.py
 
@@ -97,6 +106,7 @@ python.pkgs.buildPythonApplication rec {
     click
     flask
     imutils
+    markupsafe
     matplotlib
     norfair
     numpy
diff --git a/pkgs/applications/video/kodi/unwrapped.nix b/pkgs/applications/video/kodi/unwrapped.nix
index 0728fb73bb26..ec84aa9ff6b3 100644
--- a/pkgs/applications/video/kodi/unwrapped.nix
+++ b/pkgs/applications/video/kodi/unwrapped.nix
@@ -23,6 +23,7 @@
 , joystickSupport ? true, cwiid
 , nfsSupport ? true, libnfs
 , pulseSupport ? true, libpulseaudio
+, pipewireSupport ? true, pipewire
 , rtmpSupport ? true, rtmpdump
 , sambaSupport ? true, samba
 , udevSupport ? true, udev
@@ -140,6 +141,7 @@ in stdenv.mkDerivation {
     ++ lib.optional  joystickSupport cwiid
     ++ lib.optional  nfsSupport      libnfs
     ++ lib.optional  pulseSupport    libpulseaudio
+    ++ lib.optional  pipewireSupport pipewire
     ++ lib.optional  rtmpSupport     rtmpdump
     ++ lib.optional  sambaSupport    samba
     ++ lib.optional  udevSupport     udev
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index 01a875d667b7..163729d879b9 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -227,6 +227,10 @@ in stdenv'.mkDerivation (finalAttrs: {
     cp mpv_identify.sh umpv $out/bin/
     popd
     pushd $out/share/applications
+
+    # patch out smb protocol reference, since our ffmpeg can't handle it
+    substituteInPlace mpv.desktop --replace-fail "smb," ""
+
     sed -e '/Icon=/ ! s|mpv|umpv|g; s|^Exec=.*|Exec=umpv %U|' \
       mpv.desktop > umpv.desktop
     printf "NoDisplay=true\n" >> umpv.desktop
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
index a5d63ec68746..3068718b08f0 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-move-transition";
-  version = "2.9.8";
+  version = "2.10.0";
 
   src = fetchFromGitHub {
     owner = "exeldro";
     repo = "obs-move-transition";
     rev = version;
-    sha256 = "sha256-GOLmwXAK2g8IyI+DFH2sBOR2iknYdgYevytZpt3Cc7Q=";
+    sha256 = "sha256-HMhIGOslAtk5npunRZkOcFQZDSIB7c8qcFW3l9kgkzo=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/video/open-in-mpv/default.nix b/pkgs/applications/video/open-in-mpv/default.nix
index 4af06adf347e..e6f820528882 100644
--- a/pkgs/applications/video/open-in-mpv/default.nix
+++ b/pkgs/applications/video/open-in-mpv/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "open-in-mpv";
-  version = "2.1.0-unstable-2023-05-13";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "Baldomo";
     repo = "open-in-mpv";
-    rev = "07fc639b2882a9a68e539f0fc34b61e247c355fa";
-    hash = "sha256-XkoXvSh5uu96isXc1at36mxSCPylHgMLN97qSpj2cyc=";
+    rev = "v${version}";
+    hash = "sha256-+sP8/wILBkT3NnhENDYZbOwqOufkFyMJFpQxquuUBEs=";
   };
 
   vendorHash = "sha256-G6GZO2+CfEAYcf7zBcqDa808A0eJjM8dq7+4VGZ+P4c=";
diff --git a/pkgs/applications/video/qctools/default.nix b/pkgs/applications/video/qctools/default.nix
new file mode 100644
index 000000000000..cbe565fe73c8
--- /dev/null
+++ b/pkgs/applications/video/qctools/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchurl, qmake, wrapQtAppsHook, ffmpeg, qtmultimedia, qwt }:
+
+stdenv.mkDerivation rec {
+  pname = "qctools";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url = "https://mediaarea.net/download/source/${pname}/${version}/${pname}_${version}.tar.xz";
+    hash = "sha256-ClF8KiVjV2JTCjz/ueioojhiHZf8UW9WONaJrIx4Npo=";
+  };
+
+  sourceRoot = "${pname}/Project/QtCreator";
+
+  nativeBuildInputs = [ qmake wrapQtAppsHook ];
+
+  buildInputs = [ ffmpeg qtmultimedia qwt ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dt $out/bin qctools-cli/qcli qctools-gui/QCTools
+    cd ../GNU/GUI
+    install -Dm644 qctools.desktop $out/share/applications/qctools.desktop
+    install -Dm644 qctools.metainfo.xml $out/share/metainfo/qctools.metainfo.xml
+    cd ../../../Source/Resource
+    install -Dm 0644 Logo.png $out/share/icons/hicolor/256x256/apps/qctools.png
+    install -Dm 0644 Logo.png $out/share/pixmaps/qctools.png
+    cd ../../Project/QtCreator
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Audiovisual analytics and filtering of video files";
+    homepage = "https://mediaarea.net/QCTools";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix
index 962604f79106..9b3dfda74839 100644
--- a/pkgs/applications/video/streamlink/default.nix
+++ b/pkgs/applications/video/streamlink/default.nix
@@ -6,12 +6,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "streamlink";
-  version = "6.5.1";
+  version = "6.6.1";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IH+0zpnDW/6xuPfHa5bPy0B2rWiBxh6upVPC7BPZfFc=";
+    hash = "sha256-MfHiBgUHjTEUGfYVMOZ9R/7bWg8HOLt8/QQw2vGRA7E=";
   };
 
   nativeCheckInputs = with python3Packages; [
diff --git a/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock b/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
index 52afc0d15f83..533a473d036e 100644
--- a/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
+++ b/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
@@ -5,7 +5,7 @@ version = 3
 [[package]]
 name = "acpi_tables"
 version = "0.1.0"
-source = "git+https://github.com/rust-vmm/acpi_tables?branch=main#1a733bf690ccc10bdfeacad33e3c9f6cce0008fd"
+source = "git+https://github.com/rust-vmm/acpi_tables?branch=main#76e8552f57f76ca918e19c0a7b7480d2fa2c7241"
 dependencies = [
  "zerocopy",
 ]
@@ -50,9 +50,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.1"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
@@ -65,28 +65,28 @@ dependencies = [
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.0"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "3.0.1"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
 dependencies = [
  "anstyle",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.75"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
 
 [[package]]
 name = "api_client"
@@ -135,13 +135,15 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "1.9.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
+checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
 dependencies = [
  "concurrent-queue",
- "event-listener 2.5.3",
+ "event-listener 4.0.0",
+ "event-listener-strategy",
  "futures-core",
+ "pin-project-lite",
 ]
 
 [[package]]
@@ -223,7 +225,7 @@ dependencies = [
  "cfg-if",
  "event-listener 3.0.0",
  "futures-lite 1.13.0",
- "rustix 0.38.8",
+ "rustix 0.38.25",
  "windows-sys 0.48.0",
 ]
 
@@ -235,7 +237,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -265,13 +267,13 @@ checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1"
 
 [[package]]
 name = "async-trait"
-version = "0.1.74"
+version = "0.1.76"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
+checksum = "531b97fb4cd3dfdce92c35dedbfdc1f0b9d8091c8ca943d6dae340ef5012d514"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -312,13 +314,13 @@ dependencies = [
 
 [[package]]
 name = "bitfield-struct"
-version = "0.5.4"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eac32db62a43cf33353ce30b4a208b08193ea2086a1c6c004acb0073c706a29d"
+checksum = "a26b8cea8bb6a81b75a84603b9e096f05fa86db057904ef29be1deee900532bd"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -338,7 +340,7 @@ name = "block"
 version = "0.1.0"
 dependencies = [
  "byteorder",
- "crc32c",
+ "crc-any",
  "io-uring",
  "libc",
  "log",
@@ -366,17 +368,18 @@ dependencies = [
 
 [[package]]
 name = "blocking"
-version = "1.3.1"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
  "async-channel",
- "async-lock 2.7.0",
+ "async-lock 3.2.0",
  "async-task",
- "atomic-waker",
- "fastrand 1.9.0",
- "futures-lite 1.13.0",
- "log",
+ "fastrand 2.0.0",
+ "futures-io",
+ "futures-lite 2.1.0",
+ "piper",
+ "tracing",
 ]
 
 [[package]]
@@ -436,7 +439,7 @@ checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
 
 [[package]]
 name = "cloud-hypervisor"
-version = "37.0.0"
+version = "38.0.0"
 dependencies = [
  "anyhow",
  "api_client",
@@ -473,9 +476,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
 name = "concurrent-queue"
-version = "2.3.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
 dependencies = [
  "crossbeam-utils",
 ]
@@ -490,12 +493,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "crc32c"
-version = "0.6.4"
+name = "crc-any"
+version = "2.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8f48d60e5b4d2c53d5c2b1d8a58c849a70ae5e5509b08a48d047e3b65714a74"
+checksum = "c01a5e1f881f6fb6099a7bdf949e946719fd4f1fefa56264890574febf0eb6d0"
 dependencies = [
- "rustc_version",
+ "debug-helper",
 ]
 
 [[package]]
@@ -509,18 +512,15 @@ dependencies = [
 
 [[package]]
 name = "crc64"
-version = "1.0.0"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55626594feae15d266d52440b26ff77de0e22230cf0c113abe619084c1ddc910"
+checksum = "2707e3afba5e19b75d582d88bc79237418f2a2a2d673d01cf9b03633b46e98f3"
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crypto-common"
@@ -534,9 +534,9 @@ dependencies = [
 
 [[package]]
 name = "darling"
-version = "0.20.3"
+version = "0.20.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
+checksum = "c376d08ea6aa96aafe61237c7200d1241cb177b7d3a542d791f2d118e9cbb955"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -544,30 +544,36 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.20.3"
+version = "0.20.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
+checksum = "33043dcd19068b8192064c704b3f83eb464f91f1ff527b44a4e2b08d9cdb8855"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
  "strsim",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.20.3"
+version = "0.20.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
+checksum = "c5a91391accf613803c2a9bf9abccdbaa07c54b4244a5b64883f9c3c137c86be"
 dependencies = [
  "darling_core",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
+name = "debug-helper"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e"
+
+[[package]]
 name = "derivative"
 version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -605,9 +611,9 @@ dependencies = [
 
 [[package]]
 name = "dhat"
-version = "0.3.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f2aaf837aaf456f6706cb46386ba8dffd4013a757e36f4ea05c20dd46b209a3"
+checksum = "98cd11d84628e233de0ce467de10b8633f4ddaecafadefc86e13b84b8739b827"
 dependencies = [
  "backtrace",
  "lazy_static",
@@ -668,14 +674,14 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.10.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
 dependencies = [
  "humantime",
  "is-terminal",
@@ -801,9 +807,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
 name = "futures"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -816,9 +822,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -826,15 +832,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -843,9 +849,9 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
@@ -877,32 +883,32 @@ dependencies = [
 
 [[package]]
 name = "futures-macro"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -918,9 +924,9 @@ dependencies = [
 
 [[package]]
 name = "gdbstub"
-version = "0.7.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09a8b954f9d02b74fe8e89a1c77bd9a6b8206713ebf1b272bfad9573b4a86f88"
+checksum = "6341b3480afbb34eaefc7f92713bc92f2d83e338aaa1c44192f9c2956f4a4903"
 dependencies = [
  "bitflags 2.4.1",
  "cfg-if",
@@ -952,9 +958,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -1121,7 +1127,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
  "hermit-abi",
- "rustix 0.38.8",
+ "rustix 0.38.25",
  "windows-sys 0.48.0",
 ]
 
@@ -1142,8 +1148,8 @@ dependencies = [
 
 [[package]]
 name = "kvm-bindings"
-version = "0.6.0"
-source = "git+https://github.com/cloud-hypervisor/kvm-bindings?branch=ch-v0.6.0-tdx#7d9ffb47e5b9b1989577258800a0f57c93f1445f"
+version = "0.7.0"
+source = "git+https://github.com/cloud-hypervisor/kvm-bindings?branch=ch-v0.7.0#2dcf85d4f8aa55befcaa996b699ddb18ec9ed059"
 dependencies = [
  "serde",
  "serde_derive",
@@ -1152,9 +1158,11 @@ dependencies = [
 
 [[package]]
 name = "kvm-ioctls"
-version = "0.13.0"
-source = "git+https://github.com/rust-vmm/kvm-ioctls?branch=main#23a3bb045a467e60bb00328a0b13cea13b5815d0"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9002dff009755414f22b962ec6ae6980b07d6d8b06e5297b1062019d72bd6a8c"
 dependencies = [
+ "bitflags 2.4.1",
  "kvm-bindings",
  "libc",
  "vmm-sys-util",
@@ -1168,9 +1176,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libssh2-sys"
@@ -1200,9 +1208,9 @@ dependencies = [
 
 [[package]]
 name = "linux-loader"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "132a531b85b3a164012ab682c72f8f2cce7757f187be5f60782fd2b4cda9cb34"
+checksum = "eb68dd3452f25a8defaf0ae593509cff0c777683e4d8924f59ac7c5f89267a83"
 dependencies = [
  "vm-memory",
 ]
@@ -1215,9 +1223,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.5"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_api"
@@ -1259,7 +1267,7 @@ dependencies = [
 [[package]]
 name = "micro_http"
 version = "0.1.0"
-source = "git+https://github.com/firecracker-microvm/micro-http?branch=main#a4d632f2c5ea45712c0d2002dc909a63879e85c3"
+source = "git+https://github.com/firecracker-microvm/micro-http?branch=main#e75dfa1eeea23b69caa7407bc2c3a76d7b7262fb"
 dependencies = [
  "libc",
  "vmm-sys-util",
@@ -1287,7 +1295,7 @@ dependencies = [
 [[package]]
 name = "mshv-bindings"
 version = "0.1.1"
-source = "git+https://github.com/rust-vmm/mshv?branch=main#0dd4d3452a7f2e95199f4b58380acc41458474de"
+source = "git+https://github.com/rust-vmm/mshv?branch=main#9d0c11fe9fedfbcf56a5d62fbf4bad80cdf91340"
 dependencies = [
  "libc",
  "serde",
@@ -1299,7 +1307,7 @@ dependencies = [
 [[package]]
 name = "mshv-ioctls"
 version = "0.1.1"
-source = "git+https://github.com/rust-vmm/mshv?branch=main#0dd4d3452a7f2e95199f4b58380acc41458474de"
+source = "git+https://github.com/rust-vmm/mshv?branch=main#9d0c11fe9fedfbcf56a5d62fbf4bad80cdf91340"
 dependencies = [
  "libc",
  "mshv-bindings",
@@ -1385,9 +1393,9 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "open-enum"
@@ -1420,9 +1428,9 @@ dependencies = [
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.93"
+version = "0.9.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d"
+checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
 dependencies = [
  "cc",
  "libc",
@@ -1549,22 +1557,22 @@ dependencies = [
 
 [[package]]
 name = "pin-project"
-version = "1.1.3"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
+checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.3"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1580,6 +1588,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
+name = "piper"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
+dependencies = [
+ "atomic-waker",
+ "fastrand 2.0.0",
+ "futures-io",
+]
+
+[[package]]
 name = "pkg-config"
 version = "0.3.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1630,7 +1649,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1710,18 +1729,18 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.70"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -1766,8 +1785,10 @@ checksum = "8edc89eaa583cf6bc4c6ef16a219f0a60d342ca3bf0eae793560038ac8af1795"
 name = "rate_limiter"
 version = "0.1.0"
 dependencies = [
+ "epoll",
  "libc",
  "log",
+ "thiserror",
  "vmm-sys-util",
 ]
 
@@ -1837,7 +1858,7 @@ checksum = "bce3a7139d2ee67d07538ee5dba997364fbc243e7e7143e96eb830c74bfaa082"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1853,15 +1874,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
-name = "rustc_version"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
-dependencies = [
- "semver",
-]
-
-[[package]]
 name = "rustix"
 version = "0.37.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1877,14 +1889,14 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.8"
+version = "0.38.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
+checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
 dependencies = [
  "bitflags 2.4.1",
  "errno",
  "libc",
- "linux-raw-sys 0.4.5",
+ "linux-raw-sys 0.4.13",
  "windows-sys 0.48.0",
 ]
 
@@ -1910,36 +1922,30 @@ dependencies = [
 ]
 
 [[package]]
-name = "semver"
-version = "1.0.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
-
-[[package]]
 name = "serde"
-version = "1.0.168"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d614f89548720367ded108b3c843be93f3a341e22d5674ca0dd5cd57f34926af"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.168"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fe589678c688e44177da4f27152ee2d190757271dc7f1d5b6b9f68d869d641"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.107"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
+checksum = "cb0652c533506ad7a2e353cce269330d6afd8bdfb6d75e0ace5b35aacbd7b9e9"
 dependencies = [
  "itoa",
  "ryu",
@@ -1954,7 +1960,7 @@ checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1976,7 +1982,7 @@ dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2024,9 +2030,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.0"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "socket2"
@@ -2084,9 +2090,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.31"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2112,7 +2118,7 @@ dependencies = [
  "cfg-if",
  "fastrand 2.0.0",
  "redox_syscall 0.3.5",
- "rustix 0.38.8",
+ "rustix 0.38.25",
  "windows-sys 0.48.0",
 ]
 
@@ -2131,7 +2137,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
 dependencies = [
- "rustix 0.38.8",
+ "rustix 0.38.25",
  "windows-sys 0.48.0",
 ]
 
@@ -2152,22 +2158,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "83a48fd946b02c0a526b2e9481c8e2a17755e47039164a86c4070446e3a4614d"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "e7fbe9b594d6568a6a1443250a7e67d80b74e1e96f6d1715e1e21cc1888291d3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2219,11 +2225,10 @@ dependencies = [
 
 [[package]]
 name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if",
  "pin-project-lite",
  "tracing-attributes",
  "tracing-core",
@@ -2231,20 +2236,20 @@ dependencies = [
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 dependencies = [
  "once_cell",
 ]
@@ -2300,9 +2305,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "versionize"
-version = "0.1.10"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dca4b7062e7e6d685901e815c35f9671e059de97c1c0905eeff8592f3fff442f"
+checksum = "62929d59c7f6730b7298fcb363760550f4db6e353fbac4076d447d0e82799d6d"
 dependencies = [
  "bincode",
  "crc64",
@@ -2317,8 +2322,8 @@ dependencies = [
 
 [[package]]
 name = "versionize_derive"
-version = "0.1.4"
-source = "git+https://github.com/cloud-hypervisor/versionize_derive?branch=ch#e502b1d4aabab342386f0c53780d49f21a6a1df6"
+version = "0.1.6"
+source = "git+https://github.com/cloud-hypervisor/versionize_derive?branch=ch-0.1.6#7906da996152e2d0ab08f5526440683bf3ca7834"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2328,7 +2333,7 @@ dependencies = [
 [[package]]
 name = "vfio-bindings"
 version = "0.4.0"
-source = "git+https://github.com/rust-vmm/vfio?branch=main#59c604fa6e42080f0a47c124ba29454fe4cb7475"
+source = "git+https://github.com/rust-vmm/vfio?branch=main#0daff4d4c159e842cf18b8b90457a45032b2df5a"
 dependencies = [
  "vmm-sys-util",
 ]
@@ -2336,7 +2341,7 @@ dependencies = [
 [[package]]
 name = "vfio-ioctls"
 version = "0.2.0"
-source = "git+https://github.com/rust-vmm/vfio?branch=main#59c604fa6e42080f0a47c124ba29454fe4cb7475"
+source = "git+https://github.com/rust-vmm/vfio?branch=main#0daff4d4c159e842cf18b8b90457a45032b2df5a"
 dependencies = [
  "byteorder",
  "kvm-bindings",
@@ -2354,7 +2359,7 @@ dependencies = [
 [[package]]
 name = "vfio_user"
 version = "0.1.0"
-source = "git+https://github.com/rust-vmm/vfio-user?branch=main#6c72e997e61d9e84b8ee691ad63ece6c717cf5aa"
+source = "git+https://github.com/rust-vmm/vfio-user?branch=main#a1f6e52829e069b6d698b2cfeecac742e4653186"
 dependencies = [
  "bitflags 1.3.2",
  "libc",
@@ -2370,9 +2375,9 @@ dependencies = [
 
 [[package]]
 name = "vhost"
-version = "0.9.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "289adfce099c71f8310f895932ccd978f352ca494ea47496dbe20d4241888b82"
+checksum = "2b64e816d0d49769fbfaa1494eb77cc2a3ddc526ead05c7f922cb7d64106286f"
 dependencies = [
  "bitflags 2.4.1",
  "libc",
@@ -2382,9 +2387,9 @@ dependencies = [
 
 [[package]]
 name = "vhost-user-backend"
-version = "0.11.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61255322e3ebe93fb77d9f6d99577eca7089bbea4174076c5353a8024a463061"
+checksum = "72c8c447d076ac508d78cb45664d203df7989e891656dce260a7e93d72352c9a"
 dependencies = [
  "libc",
  "log",
@@ -2474,9 +2479,9 @@ dependencies = [
 
 [[package]]
 name = "virtio-queue"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73a01db2cfb6c4b9bc20608b1336263d16714ea8db05de9fec2a254e076f9385"
+checksum = "e3f69a13d6610db9312acbb438b0390362af905d37634a2106be70c0f734986d"
 dependencies = [
  "log",
  "virtio-bindings",
@@ -2513,9 +2518,9 @@ source = "git+https://github.com/rust-vmm/vm-fdt?branch=main#77212bd0d62913e445c
 
 [[package]]
 name = "vm-memory"
-version = "0.13.1"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5376c9ee5ebe2103a310d8241936cfb93c946734b0479a4fa5bdf7a64abbacd8"
+checksum = "74ffc42216c32c35f858fa4bfdcd9b61017dfd691e0240268fdc85dbf59e5459"
 dependencies = [
  "arc-swap",
  "libc",
@@ -2579,6 +2584,7 @@ dependencies = [
  "option_parser",
  "pci",
  "range_map_vec",
+ "rate_limiter",
  "seccompiler",
  "serde",
  "serde_json",
@@ -2605,9 +2611,9 @@ dependencies = [
 
 [[package]]
 name = "vmm-sys-util"
-version = "0.11.1"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd64fe09d8e880e600c324e7d664760a17f56e9672b7495a86381b49e4f72f46"
+checksum = "1d1435039746e20da4f8d507a72ee1b916f7b4b05af7a91c093d2c6561934ede"
 dependencies = [
  "bitflags 1.3.2",
  "libc",
@@ -2657,7 +2663,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
@@ -2679,7 +2685,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -2740,6 +2746,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-targets"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2770,6 +2785,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2782,6 +2812,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2794,6 +2830,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2806,6 +2848,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2818,6 +2866,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2830,6 +2884,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2842,6 +2902,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2854,10 +2920,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
 name = "winnow"
-version = "0.5.18"
+version = "0.5.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32"
+checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
 dependencies = [
  "memchr",
 ]
@@ -2940,9 +3012,9 @@ dependencies = [
 
 [[package]]
 name = "zerocopy"
-version = "0.7.21"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "686b7e407015242119c33dab17b8f61ba6843534de936d94368856528eae4dcc"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
 dependencies = [
  "byteorder",
  "zerocopy-derive",
@@ -2950,13 +3022,13 @@ dependencies = [
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.21"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "020f3dfe25dfc38dfea49ce62d5d45ecdd7f0d8a724fa63eb36b6eba4ec76806"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
diff --git a/pkgs/applications/virtualization/cloud-hypervisor/default.nix b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
index 8c0d6e9e1c1b..44bbdcd66313 100644
--- a/pkgs/applications/virtualization/cloud-hypervisor/default.nix
+++ b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
@@ -2,27 +2,26 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cloud-hypervisor";
-  version = "37.0";
+  version = "38.0";
 
   src = fetchFromGitHub {
     owner = "cloud-hypervisor";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-zNk3KkKl0bEZUdsWe+9FEMKVepZeQWGasDIn68NEVyw=";
+    hash = "sha256-Lhug7DCa+QutlvksL6EFQa04UK/sWebDIkqQmwPUpX4=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "acpi_tables-0.1.0" = "sha256-FYjzwCSjuTUDCCQPC2ccDpwRRaG1eT5XgV/b8uSu8uc=";
+      "acpi_tables-0.1.0" = "sha256-syDq+db1hTne6QoP0vMGUv4tB0J9arQG2Ea2hHW1k3M=";
       "igvm-0.1.0" = "sha256-l+Qyhdy3b8h8hPLHg5M0os8aSkjM55hAP5nqi0AGmjo=";
-      "kvm-bindings-0.6.0" = "sha256-wGdAuPwsgRIqx9dh0m+hC9A/Akz9qg9BM+p06Fi5ACM=";
-      "kvm-ioctls-0.13.0" = "sha256-jHnFGwBWnAa2lRu4a5eRNy1Y26NX5MV8alJ86VR++QE=";
-      "micro_http-0.1.0" = "sha256-Ov75Gs+wSmsxOHJu024nWtOJp0cKpS8bkxJJGW6jiKw=";
-      "mshv-bindings-0.1.1" = "sha256-4ADpLvi9hmHsMyGtqDQ2Msa3aMZmJsi4BPW7B5ZfAMw=";
-      "versionize_derive-0.1.4" = "sha256-oGuREJ5+FDs8ihmv99WmjIPpL2oPdOr4REk6+7cV/7o=";
-      "vfio-bindings-0.4.0" = "sha256-grOV+7W1tB4YDRAFbDNQp5nQ1WaivH+N+qHTIj4WA+E=";
-      "vfio_user-0.1.0" = "sha256-Vi6dBu1mUwyWh7ryKDOBS6GeUD2sqqIrt/bth/LDW6s=";
+      "kvm-bindings-0.7.0" = "sha256-hXv5N3TTwGQaVxdQ/DTzLt+uwLxFnstJwNhxRD2K8TM=";
+      "micro_http-0.1.0" = "sha256-gyeOop6AMXEIbLXhJMN/oYGGU8Un8Y0nFZc9ucCa0y4=";
+      "mshv-bindings-0.1.1" = "sha256-yWvkpOcW3lV47s+rWnN4Bki8tt8CkiPVZ0I36nrWMi4=";
+      "versionize_derive-0.1.6" = "sha256-eI9fM8WnEBZvskPhU67IWeN6QAPg2u5EBT+AOxfb/fY=";
+      "vfio-bindings-0.4.0" = "sha256-Dk4T2dMzPZ+Aoq1YSXX2z1Nky8zvyDl7b+A8NH57Hkc=";
+      "vfio_user-0.1.0" = "sha256-LJ84k9pMkSAaWkuaUd+2LnPXnNgrP5LdbPOc1Yjz5xA=";
       "vm-fdt-0.2.0" = "sha256-lKW4ZUraHomSDyxgNlD5qTaBTZqM0Fwhhh/08yhrjyE=";
     };
   };
diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix
index 95cada54296a..3e70bd390e16 100644
--- a/pkgs/applications/virtualization/crosvm/default.nix
+++ b/pkgs/applications/virtualization/crosvm/default.nix
@@ -1,32 +1,22 @@
-{ lib, rustPlatform, fetchgit, fetchpatch
+{ lib, rustPlatform, fetchgit
 , pkg-config, protobuf, python3, wayland-scanner
 , libcap, libdrm, libepoxy, minijail, virglrenderer, wayland, wayland-protocols
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "crosvm";
-  version = "120.0";
+  version = "121.3";
 
   src = fetchgit {
     url = "https://chromium.googlesource.com/chromiumos/platform/crosvm";
-    rev = "0a9d1cb8be29e49c355ea8b18cd58506dbbaf6e5";
-    sha256 = "BbCcsxJU25VgWVday4rGPXaJSuAWebNGo3MiYPIBBto=";
+    rev = "1e7125327a29b7b7a0593caf339d382728c55cf6";
+    sha256 = "Rjs46TtOhFZxqnEyqa4IyrRs7HnDZ/DJZ9DPEe7Oux0=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    (fetchpatch {
-      name = "test-page-size-fix.patch";
-      url = "https://chromium.googlesource.com/crosvm/crosvm/+/d9bc6e99ff5ac31d7d88b684c938af01a0872fc1%5E%21/?format=TEXT";
-      decode = "base64 -d";
-      includes = [ "src/crosvm/config.rs" ];
-      hash = "sha256-3gfNzp0WhtNr+8CWSISCJau208EMIo3RJhM+4SyeV3o=";
-    })
-  ];
-
   separateDebugInfo = true;
 
-  cargoHash = "sha256-YXfKZeRL3gfWztf36lVNbCCwUqW+0w3q7X7v0arCrvk=";
+  cargoHash = "sha256-7nfeg/q8baLvB0CoRWKU60TRfLAaRkeRxGojPvKpOLs=";
 
   nativeBuildInputs = [
     pkg-config protobuf python3 rustPlatform.bindgenHook wayland-scanner
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index 336321d09a20..72e9f18c8167 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -39,13 +39,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "1.14.1";
+  version = "1.14.3";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    hash = "sha256-IEfHww+kAPKcTe5bWM+YuDe6PHlSdZQVEunlBMQ29Ic=";
+    hash = "sha256-BsDkPwHi8nUcxw6KSrsMvVCdD6/BxVDuiBkAdv8H2xc=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/virtualization/ddev/default.nix b/pkgs/applications/virtualization/ddev/default.nix
index 3709b8dbd901..cf4a13dee031 100644
--- a/pkgs/applications/virtualization/ddev/default.nix
+++ b/pkgs/applications/virtualization/ddev/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ddev";
-  version = "1.22.6";
+  version = "1.22.7";
 
   src = fetchFromGitHub {
     owner = "ddev";
     repo = "ddev";
     rev = "v${version}";
-    hash = "sha256-i+uubmCQwJALt7YRuANpEN2AAn9i6880MaXkayIZ82g=";
+    hash = "sha256-bFQW12VzH+/OXTRBavEdfxnGowJt5TKM3r0UD64ALVs=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix
index f6f2e5f5a843..e3f0ec1b97bd 100644
--- a/pkgs/applications/virtualization/docker/compose.nix
+++ b/pkgs/applications/virtualization/docker/compose.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-compose";
-  version = "2.24.5";
+  version = "2.24.6";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    hash = "sha256-mn6HkGLQM5kx6yzV4IK+GTV6pCoIm1CNjQ8AZLv3sMw=";
+    hash = "sha256-CrQM9fTXGI3uGAk2yk/+enBr9LuMhNFLFBYHT78lNWc=";
   };
 
   postPatch = ''
@@ -16,7 +16,7 @@ buildGoModule rec {
     rm -rf e2e/
   '';
 
-  vendorHash = "sha256-KR+4OZKabshnGpkPq8vtEutvQUE+3jVwAlfAwFVlscU=";
+  vendorHash = "sha256-0YZ36fouuVjj12a7d9F8OkJAmtLIHo0bZhcmOYO5Ki4=";
 
   ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix
index ee95b55a0b90..d9bab2169623 100644
--- a/pkgs/applications/virtualization/firecracker/default.nix
+++ b/pkgs/applications/virtualization/firecracker/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, lib, stdenv }:
 
 let
-  version = "1.5.0";
+  version = "1.6.0";
   # nixpkgs-update: no auto update
 
   suffix = {
@@ -23,8 +23,8 @@ stdenv.mkDerivation {
 
   sourceRoot = ".";
   src = dlbin {
-    x86_64-linux = "sha256-TzNPWcLDKOv12eJ9PHckdJ7tfdlozPoXj2fbdOzHfAk=";
-    aarch64-linux = "sha256-cHNMfcoHCBw+BnWx9USny8jyvH97gXCCJW1aKvPXgCs=";
+    x86_64-linux = "sha256-FflAYvWTcigIchVrAaUgg6IRleEtis6eh6fCqrZ5lb8=";
+    aarch64-linux = "sha256-4O0kPMl7RbMjszUNql0OQrl/4or/e8ZCHPngqq0CNxk=";
   };
 
   dontConfigure = true;
@@ -54,6 +54,6 @@ stdenv.mkDerivation {
     mainProgram = "firecracker";
     license = licenses.asl20;
     platforms = [ "x86_64-linux" "aarch64-linux" ];
-    maintainers = with maintainers; [ thoughtpolice endocrimes ];
+    maintainers = with maintainers; [ thoughtpolice endocrimes qjoly ];
   };
 }
diff --git a/pkgs/applications/virtualization/spike/default.nix b/pkgs/applications/virtualization/spike/default.nix
index df967339f8f0..29597860ecc7 100644
--- a/pkgs/applications/virtualization/spike/default.nix
+++ b/pkgs/applications/virtualization/spike/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, dtc, pkgsCross }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, dtc, pkgsCross }:
 
 stdenv.mkDerivation rec {
   pname = "spike";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-4D2Fezej0ioOOupw3kgMT5VLs+/jXQjwvek6v0AVMzI=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fesvr-fix-compilation-with-gcc-13.patch";
+      url = "https://github.com/riscv-software-src/riscv-isa-sim/commit/0a7bb5403d0290cea8b2356179d92e4c61ffd51d.patch";
+      hash = "sha256-JUMTbGawvLkoOWKkruzLzUFQytVR3wqTlGu/eegRFEE=";
+    })
+  ];
+
   nativeBuildInputs = [ dtc ];
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/window-managers/gamescope/default.nix b/pkgs/applications/window-managers/gamescope/default.nix
index 2326d686c2a2..eb78ae71a14f 100644
--- a/pkgs/applications/window-managers/gamescope/default.nix
+++ b/pkgs/applications/window-managers/gamescope/default.nix
@@ -13,6 +13,7 @@
 , glm
 , gbenchmark
 , libcap
+, libavif
 , SDL2
 , pipewire
 , pixman
@@ -26,6 +27,7 @@
 , libdisplay-info
 , lib
 , makeBinaryWrapper
+, nix-update-script
 , enableExecutable ? true
 , enableWsi ? true
 }:
@@ -39,14 +41,14 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gamescope";
-  version = "3.13.19";
+  version = "3.14.1";
 
   src = fetchFromGitHub {
     owner = "ValveSoftware";
     repo = "gamescope";
     rev = "refs/tags/${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-WKQgVbuHvTbZnvTU5imV35AKZ4AF0EDsdESBZwVH7+M=";
+    hash = "sha256-lJt6JVolorQdrhumkW9yjyItxqpw6ZtEUbkjNqzHfb8=";
   };
 
   patches = [
@@ -108,6 +110,7 @@ stdenv.mkDerivation (finalAttrs: {
     xorg.libXres
     xorg.libXtst
     xorg.libXxf86vm
+    libavif
     libdrm
     libliftoff
     SDL2
@@ -131,6 +134,8 @@ stdenv.mkDerivation (finalAttrs: {
     cp -r ${joshShaders}/* $out/share/gamescope/reshade/
   '';
 
+  passthru.updateScript = nix-update-script {};
+
   meta = with lib; {
     description = "SteamOS session compositing window manager";
     homepage = "https://github.com/ValveSoftware/gamescope";
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix b/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
index 71ac28ca749d..421d0d328539 100644
--- a/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
+++ b/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
@@ -24,13 +24,13 @@ let
     hy3 = { fetchFromGitHub, cmake, hyprland }:
       mkHyprlandPlugin rec {
         pluginName = "hy3";
-        version = "0.34.0";
+        version = "0.35.0";
 
         src = fetchFromGitHub {
           owner = "outfoxxed";
           repo = "hy3";
           rev = "hl${version}";
-          hash = "sha256-Jd1bSwelh7WA8aeYrV+CxxtpsmSITUDruKdNNLHdV7c=";
+          hash = "sha256-lFe7Lf0K5ePTh4gflnvBohOGH4ayGDtNkbg/XtoNqRo=";
         };
 
         nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix b/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix
index ea24741ba516..5f9cedd9e05e 100644
--- a/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix
+++ b/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "hyprshade";
-  version = "0.12.1";
+  version = "3.0.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "loqusion";
     repo = "hyprshade";
     rev = "refs/tags/${version}";
-    hash = "sha256-xcFX1YApwEN40jPgRT0H/7SiODxXGYVTPUkSZ8OFIWs=";
+    hash = "sha256-E5FNVzmzxzqhIZ4i8PwiKB8q4LwpsV961Bc77kSym8A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/miriway/default.nix b/pkgs/applications/window-managers/miriway/default.nix
index f46d907768ce..b8528a374125 100644
--- a/pkgs/applications/window-managers/miriway/default.nix
+++ b/pkgs/applications/window-managers/miriway/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "miriway";
-  version = "unstable-2024-01-30";
+  version = "unstable-2024-02-14";
 
   src = fetchFromGitHub {
     owner = "Miriway";
     repo = "Miriway";
-    rev = "429ace6c7d9ea6799a01875ff61f1e554d5eabd9";
-    hash = "sha256-8qsDyHbJJMxevMIi6Kde+zr2yJAtFaq19TTcAGXMnrE=";
+    rev = "ad4d311269dc25789f7412211ddddad383d9700c";
+    hash = "sha256-kPrsyrAHvwrktBFITuhpFKyjmedv04ONFhuxiBDlAJA=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/window-managers/picom/default.nix b/pkgs/applications/window-managers/picom/default.nix
deleted file mode 100644
index bf197ab08f35..000000000000
--- a/pkgs/applications/window-managers/picom/default.nix
+++ /dev/null
@@ -1,120 +0,0 @@
-{ asciidoc
-, dbus
-, docbook_xml_dtd_45
-, docbook_xsl
-, fetchFromGitHub
-, lib
-, libconfig
-, libdrm
-, libev
-, libGL
-, libepoxy
-, libX11
-, libxcb
-, libxdg_basedir
-, libXext
-, libxml2
-, libxslt
-, makeWrapper
-, meson
-, ninja
-, pcre2
-, pixman
-, pkg-config
-, stdenv
-, uthash
-, xcbutil
-, xcbutilimage
-, xcbutilrenderutil
-, xorgproto
-, xwininfo
-, withDebug ? false
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "picom";
-  version = "11.2";
-
-  src = fetchFromGitHub {
-    owner = "yshui";
-    repo = "picom";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-7ohtI890CutwprPEY5njqWou0fD6T9eu51EBSQ2/lWs=";
-    fetchSubmodules = true;
-  };
-
-  nativeBuildInputs = [
-    asciidoc
-    docbook_xml_dtd_45
-    docbook_xsl
-    makeWrapper
-    meson
-    ninja
-    pkg-config
-    uthash
-  ];
-
-  buildInputs = [
-    dbus
-    libconfig
-    libdrm
-    libev
-    libGL
-    libepoxy
-    libX11
-    libxcb
-    libxdg_basedir
-    libXext
-    libxml2
-    libxslt
-    pcre2
-    pixman
-    xcbutil
-    xcbutilimage
-    xcbutilrenderutil
-    xorgproto
-  ];
-
-  # Use "debugoptimized" instead of "debug" so perhaps picom works better in
-  # normal usage too, not just temporary debugging.
-  mesonBuildType = if withDebug then "debugoptimized" else "release";
-  dontStrip = withDebug;
-
-  mesonFlags = [
-    "-Dwith_docs=true"
-  ];
-
-  installFlags = [ "PREFIX=$(out)" ];
-
-  # In debug mode, also copy src directory to store. If you then run `gdb picom`
-  # in the bin directory of picom store path, gdb finds the source files.
-  postInstall = ''
-    wrapProgram $out/bin/picom-trans \
-      --prefix PATH : ${lib.makeBinPath [ xwininfo ]}
-  '' + lib.optionalString withDebug ''
-    cp -r ../src $out/
-  '';
-
-  meta = with lib; {
-    description = "A fork of XCompMgr, a sample compositing manager for X servers";
-    longDescription = ''
-      A fork of XCompMgr, which is a sample compositing manager for X
-      servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE
-      extensions. It enables basic eye-candy effects. This fork adds
-      additional features, such as additional effects, and a fork at a
-      well-defined and proper place.
-
-      The package can be installed in debug mode as:
-
-        picom.override { withDebug = true; }
-
-      For gdb to find the source files, you need to run gdb in the bin directory
-      of picom package in the nix store.
-    '';
-    license = licenses.mit;
-    homepage = "https://github.com/yshui/picom";
-    maintainers = with maintainers; [ ertes gepbird twey thiagokokada ];
-    platforms = platforms.linux;
-    mainProgram = "picom";
-  };
-})
diff --git a/pkgs/applications/window-managers/picom/picom-allusive.nix b/pkgs/applications/window-managers/picom/picom-allusive.nix
deleted file mode 100644
index e0086142f1c3..000000000000
--- a/pkgs/applications/window-managers/picom/picom-allusive.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ picom, lib, fetchFromGitHub, installShellFiles, pcre }:
-
-picom.overrideAttrs (oldAttrs: rec {
-  pname = "picom-allusive";
-  version = "1.2.5";
-
-  src = fetchFromGitHub {
-    owner = "allusive-dev";
-    repo = "picom-allusive";
-    rev = version;
-    hash = "sha256-yM4TJjoVs+i33m/u/oWlx1TDKJrgwlfiGu72DOL/tl8=";
-  };
-
-  nativeBuildInputs = [ installShellFiles pcre ] ++ oldAttrs.nativeBuildInputs;
-
-  postInstall = ''
-    installManPage $src/man/picom.1.gz
-  '' + (lib.optionalString (oldAttrs ? postInstall) oldAttrs.postInstall);
-
-  meta = (builtins.removeAttrs oldAttrs.meta [ "longDescription" ]) // {
-    description = "A fork of picom featuring improved animations and other features";
-    homepage = "https://github.com/allusive-dev/picom-allusive";
-    license = with lib.licenses; [ mit mpl20 ];
-    maintainers = with lib.maintainers; [ allusive iogamaster ];
-  };
-})
diff --git a/pkgs/applications/window-managers/picom/picom-jonaburg.nix b/pkgs/applications/window-managers/picom/picom-jonaburg.nix
deleted file mode 100644
index d04cf5f4ecd6..000000000000
--- a/pkgs/applications/window-managers/picom/picom-jonaburg.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ picom, lib, fetchFromGitHub, pcre }:
-
-picom.overrideAttrs (oldAttrs: rec {
-  pname = "picom-jonaburg";
-  version = "unstable-2022-03-19";
-  src = fetchFromGitHub {
-    owner = "jonaburg";
-    repo = "picom";
-    rev = "e3c19cd7d1108d114552267f302548c113278d45";
-    sha256 = "sha256-4voCAYd0fzJHQjJo4x3RoWz5l3JJbRvgIXn1Kg6nz6Y=";
-  };
-
-  nativeBuildInputs = [ pcre ] ++ oldAttrs.nativeBuildInputs;
-
-  meta = with lib; {
-    description = "A fork of picom featuring animations and improved rounded corners.";
-    homepage = "https://github.com/jonaburg/picom";
-    maintainers = with maintainers; oldAttrs.meta.maintainers ++ [ michaelBelsanti ];
-  };
-})
diff --git a/pkgs/applications/window-managers/picom/picom-next.nix b/pkgs/applications/window-managers/picom/picom-next.nix
deleted file mode 100644
index 22c748088074..000000000000
--- a/pkgs/applications/window-managers/picom/picom-next.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib
-, fetchFromGitHub
-, libXinerama
-, pcre
-, pcre2
-, picom
-, xcbutil
-}:
-
-picom.overrideAttrs (oldAttrs: {
-  pname = "picom-next";
-  version = "unstable-2023-08-03";
-
-  buildInputs = [
-    pcre2
-    xcbutil
-  ]
-  # remove dependencies that are not used anymore
-  ++ (lib.subtractLists [
-    libXinerama
-    pcre
-  ]
-    oldAttrs.buildInputs);
-
-  src = fetchFromGitHub {
-    owner = "yshui";
-    repo = "picom";
-    rev = "5d6957d3da1bf99311a676eab94c69ef4276bedf";
-    hash = "sha256-Mzf0533roLSODjMCPKyGSMbP7lIbT+PoLTZfoIBAI6g=";
-  };
-
-  meta = oldAttrs.meta // {
-    maintainers = with lib.maintainers; oldAttrs.meta.maintainers ++ [ GKasparov ];
-  };
-})