about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/system
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/system')
-rw-r--r--nixpkgs/pkgs/tools/system/actkbd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/amdgpu_top/Cargo.lock1860
-rw-r--r--nixpkgs/pkgs/tools/system/amdgpu_top/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/system/augeas/bootstrap.diff15
-rw-r--r--nixpkgs/pkgs/tools/system/augeas/default.nix56
-rw-r--r--nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/awstats/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/bar/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/btop/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/chase/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/clinfo/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/colorls/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/confd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/consul-template/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/ctop/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/daemon/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/daemonize/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/datefudge/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/dcfldd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/ddh/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/ddrescueview/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/dfc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/dfrs/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/disk-filltest/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/dog/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/dool/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/envconsul/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/epilys-bb/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/facter/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/foreman/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/foremost/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/gdmap/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/gdu/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/gkraken/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/go-audit/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/gohai/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/gopsuinfo/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/gotop/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/gptman/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/gt5/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/gtop/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/hardinfo/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/hddfancontrol/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/hiera-eyaml/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/honcho/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/hostctl/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/hw-probe/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/idle3tools/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/illum/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/inxi/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/ioping/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/system/jobber/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/jsvc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/jump/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/kmon/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/lact/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/system/lact/pci-ids.patch10
-rw-r--r--nixpkgs/pkgs/tools/system/localtime/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/logrotate/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/lr/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/lshw/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/mediawriter/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/memtester/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/minijail/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/mlc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/monit/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/mq-cli/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/nats-top/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/opencl-info/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/osquery/Use-locale.h-instead-of-removed-xlocale.h-header.patch31
-rw-r--r--nixpkgs/pkgs/tools/system/osquery/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/system/pcstat/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/procodile/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/ps_mem/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/psensor/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/psstop/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/r10k/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/retry/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/rofi-systemd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/runitor/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/rwc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/s-tui/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/s0ix-selftest-tool/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/safe-rm/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/safecopy/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/setserial/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/skeema/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/snooze/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/stacer/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/stress-ng/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/stress/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/stressapptest/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/supercronic/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/symlinks/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/syslog-ng/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/thermald/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/thinkfan/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/tm/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/tp-auto-kbbl/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/ts/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/ttop/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/system/tuptime/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/ufiformat/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/undaemonize/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/vbetool/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/wsysmon/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/xe/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/yeshup/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/zfxtop/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/zps/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/system/zx/default.nix1
113 files changed, 1731 insertions, 438 deletions
diff --git a/nixpkgs/pkgs/tools/system/actkbd/default.nix b/nixpkgs/pkgs/tools/system/actkbd/default.nix
index 61be7e5a4a92..5dd024e573d4 100644
--- a/nixpkgs/pkgs/tools/system/actkbd/default.nix
+++ b/nixpkgs/pkgs/tools/system/actkbd/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     homepage = "http://users.softlab.ece.ntua.gr/~thkala/projects/actkbd/";
     platforms = platforms.linux;
+    mainProgram = "actkbd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/amdgpu_top/Cargo.lock b/nixpkgs/pkgs/tools/system/amdgpu_top/Cargo.lock
index 4cdf08310103..f19bf1d67a41 100644
--- a/nixpkgs/pkgs/tools/system/amdgpu_top/Cargo.lock
+++ b/nixpkgs/pkgs/tools/system/amdgpu_top/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
 
 [[package]]
 name = "ab_glyph"
-version = "0.2.20"
+version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe21446ad43aa56417a767f3e2f3d7c4ca522904de1dd640529a76e9c5c3b33c"
+checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225"
 dependencies = [
  "ab_glyph_rasterizer",
  "owned_ttf_parser",
@@ -20,9 +20,9 @@ checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046"
 
 [[package]]
 name = "accesskit"
-version = "0.11.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02c98a5d094590335462354da402d754fe2cb78f0e6ce5024611c28ed539c1de"
+checksum = "76eb1adf08c5bcaa8490b9851fd53cca27fa9880076f178ea9d29f05196728a8"
 dependencies = [
  "enumn",
  "serde",
@@ -36,38 +36,54 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "ahash"
-version = "0.8.3"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
 dependencies = [
  "cfg-if",
  "getrandom",
  "once_cell",
  "serde",
  "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
 ]
 
 [[package]]
 name = "amdgpu_top"
-version = "0.1.11"
+version = "0.3.1"
 dependencies = [
  "amdgpu_top_gui",
  "amdgpu_top_json",
  "amdgpu_top_tui",
+ "gix",
  "libamdgpu_top",
 ]
 
 [[package]]
 name = "amdgpu_top_gui"
-version = "0.1.0"
+version = "0.3.1"
 dependencies = [
  "eframe",
+ "egui_plot",
+ "i18n-embed",
+ "i18n-embed-fl",
  "libamdgpu_top",
+ "once_cell",
+ "rust-embed",
 ]
 
 [[package]]
 name = "amdgpu_top_json"
-version = "0.1.0"
+version = "0.3.1"
 dependencies = [
  "libamdgpu_top",
  "serde_json",
@@ -75,7 +91,7 @@ dependencies = [
 
 [[package]]
 name = "amdgpu_top_tui"
-version = "0.1.0"
+version = "0.3.1"
 dependencies = [
  "cursive",
  "libamdgpu_top",
@@ -83,12 +99,12 @@ dependencies = [
 
 [[package]]
 name = "android-activity"
-version = "0.4.1"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c77a0045eda8b888c76ea473c2b0515ba6f471d318f8927c5c72240937035a6"
+checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0"
 dependencies = [
  "android-properties",
- "bitflags",
+ "bitflags 1.3.2",
  "cc",
  "jni-sys",
  "libc",
@@ -96,7 +112,7 @@ dependencies = [
  "ndk",
  "ndk-context",
  "ndk-sys",
- "num_enum",
+ "num_enum 0.6.1",
 ]
 
 [[package]]
@@ -107,22 +123,21 @@ checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04"
 
 [[package]]
 name = "anyhow"
-version = "1.0.71"
+version = "1.0.75"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
 
 [[package]]
 name = "arboard"
-version = "3.2.0"
+version = "3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6041616acea41d67c4a984709ddab1587fd0b10efe5cc563fee954d2f011854"
+checksum = "ac57f2b058a76363e357c056e4f74f1945bf734d37b8b3ef49066c4787dde0fc"
 dependencies = [
  "clipboard-win",
  "log",
  "objc",
  "objc-foundation",
  "objc_id",
- "once_cell",
  "parking_lot",
  "thiserror",
  "winapi",
@@ -130,22 +145,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "arrayref"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
-
-[[package]]
-name = "arrayvec"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
-
-[[package]]
-name = "atomic_refcell"
-version = "0.1.9"
+name = "arc-swap"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "857253367827bd9d0fd973f0ef15506a96e79e41b0ad7aa691203a4e3214f6c8"
+checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
 
 [[package]]
 name = "autocfg"
@@ -155,9 +158,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "base64"
-version = "0.13.1"
+version = "0.21.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
 
 [[package]]
 name = "bitflags"
@@ -166,12 +169,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
+name = "bitflags"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "block"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
 
 [[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
 name = "block-sys"
 version = "0.1.0-beta.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -191,49 +212,70 @@ dependencies = [
 ]
 
 [[package]]
+name = "bstr"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
+dependencies = [
+ "memchr",
+ "regex-automata",
+ "serde",
+]
+
+[[package]]
+name = "btoi"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9dd6407f73a9b8b6162d8a2ef999fe6afd7cc15902ebf42c5cd296addf17e0ad"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
 name = "bumpalo"
-version = "3.12.0"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytemuck"
-version = "1.13.1"
+version = "1.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
+checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
 dependencies = [
  "bytemuck_derive",
 ]
 
 [[package]]
 name = "bytemuck_derive"
-version = "1.4.1"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192"
+checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
+ "syn 2.0.39",
 ]
 
 [[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"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "calloop"
-version = "0.10.5"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a59225be45a478d772ce015d9743e49e92798ece9e34eda9a6aa2a6a7f40192"
+checksum = "52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8"
 dependencies = [
+ "bitflags 1.3.2",
  "log",
  "nix 0.25.1",
  "slotmap",
@@ -243,11 +285,12 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -289,12 +332,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "clru"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807"
+
+[[package]]
 name = "cocoa"
 version = "0.24.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "block",
  "cocoa-foundation",
  "core-foundation",
@@ -306,15 +355,14 @@ dependencies = [
 
 [[package]]
 name = "cocoa-foundation"
-version = "0.1.1"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "931d3837c286f56e3c58423ce4eba12d08db2374461a785c86f672b08b5650d6"
+checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "block",
  "core-foundation",
  "core-graphics-types",
- "foreign-types",
  "libc",
  "objc",
 ]
@@ -357,7 +405,7 @@ version = "0.22.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "core-foundation",
  "core-graphics-types",
  "foreign-types",
@@ -366,13 +414,21 @@ dependencies = [
 
 [[package]]
 name = "core-graphics-types"
-version = "0.1.1"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b"
+checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "core-foundation",
- "foreign-types",
+ "libc",
+]
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
+dependencies = [
  "libc",
 ]
 
@@ -387,9 +443,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.7"
+version = "0.5.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c"
+checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
 dependencies = [
  "cfg-if",
  "crossbeam-utils",
@@ -397,9 +453,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.15"
+version = "0.8.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
 dependencies = [
  "cfg-if",
 ]
@@ -410,7 +466,7 @@ version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "crossterm_winapi",
  "libc",
  "mio",
@@ -422,14 +478,24 @@ dependencies = [
 
 [[package]]
 name = "crossterm_winapi"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ae1b35a484aa10e07fe0638d02301c5ad24de82d310ccbd2f3693da5f09bf1c"
+checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
 dependencies = [
  "winapi",
 ]
 
 [[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
 name = "cursive"
 version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -470,9 +536,9 @@ dependencies = [
 
 [[package]]
 name = "darling"
-version = "0.14.4"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
+checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -480,56 +546,68 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.14.4"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
+checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.14.4"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
+checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
 dependencies = [
  "darling_core",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.39",
 ]
 
 [[package]]
-name = "directories-next"
-version = "2.0.0"
+name = "dashmap"
+version = "5.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
  "cfg-if",
- "dirs-sys-next",
+ "hashbrown",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core",
 ]
 
 [[package]]
-name = "dirs"
-version = "4.0.0"
+name = "deranged"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
+checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
 dependencies = [
- "dirs-sys",
+ "powerfmt",
 ]
 
 [[package]]
-name = "dirs-sys"
-version = "0.3.7"
+name = "digest"
+version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
 dependencies = [
- "libc",
- "redox_users",
- "winapi",
+ "block-buffer",
+ "crypto-common",
+]
+
+[[package]]
+name = "directories-next"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc"
+dependencies = [
+ "cfg-if",
+ "dirs-sys-next",
 ]
 
 [[package]]
@@ -550,12 +628,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
 
 [[package]]
+name = "displaydoc"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
 name = "dlib"
-version = "0.5.0"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794"
+checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
 dependencies = [
- "libloading",
+ "libloading 0.8.1",
 ]
 
 [[package]]
@@ -565,10 +654,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 
 [[package]]
+name = "dunce"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
+
+[[package]]
 name = "ecolor"
-version = "0.22.0"
+version = "0.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e479a7fa3f23d4e794f8b2f8b3568dd4e47886ad1b12c9c095e141cb591eb63"
+checksum = "cfdf4e52dbbb615cfd30cf5a5265335c217b5fd8d669593cea74a517d9c605af"
 dependencies = [
  "bytemuck",
  "serde",
@@ -576,9 +671,9 @@ dependencies = [
 
 [[package]]
 name = "eframe"
-version = "0.22.0"
+version = "0.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf4596583a2c680c55b6feaa748f74890c4f9cb9c7cb69d6117110444cb65b2f"
+checksum = "26d9efede6c8905d3fc51a5ec9a506d4da4011bbcae0253d0304580fe40af3f5"
 dependencies = [
  "bytemuck",
  "cocoa",
@@ -593,10 +688,12 @@ dependencies = [
  "js-sys",
  "log",
  "objc",
+ "parking_lot",
  "percent-encoding",
  "raw-window-handle",
  "ron",
  "serde",
+ "static_assertions",
  "thiserror",
  "wasm-bindgen",
  "wasm-bindgen-futures",
@@ -607,9 +704,9 @@ dependencies = [
 
 [[package]]
 name = "egui"
-version = "0.22.0"
+version = "0.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3aef8ec3ae1b772f340170c65bf27d5b8c28f543a0116c844d2ac08d01123e7"
+checksum = "8bd69fed5fcf4fbb8225b24e80ea6193b61e17a625db105ef0c4d71dde6eb8b7"
 dependencies = [
  "accesskit",
  "ahash",
@@ -622,26 +719,26 @@ dependencies = [
 
 [[package]]
 name = "egui-winit"
-version = "0.22.0"
+version = "0.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a49155fd4a0a4fb21224407a91de0030847972ef90fc64edb63621caea61cb2"
+checksum = "c15479a96d9fadccf5dac690bdc6373b97b8e1c0dd28367058f25a5298da0195"
 dependencies = [
  "arboard",
  "egui",
- "instant",
  "log",
  "raw-window-handle",
  "serde",
  "smithay-clipboard",
+ "web-time",
  "webbrowser",
  "winit",
 ]
 
 [[package]]
 name = "egui_glow"
-version = "0.22.0"
+version = "0.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f8c2752cdf1b0ef5fcda59a898cacabad974d4f5880e92a420b2c917022da64"
+checksum = "ce6726c08798822280038bbad2e32f4fc3cbed800cd51c6e34e99cd2d60cc1bc"
 dependencies = [
  "bytemuck",
  "egui",
@@ -653,10 +750,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "egui_plot"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7f33a00fe8eb1ba56535b3dbacdecc7a1365a328908a97c5f3c81bb466be72b"
+dependencies = [
+ "egui",
+]
+
+[[package]]
 name = "emath"
-version = "0.22.0"
+version = "0.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3857d743a6e0741cdd60b622a74c7a36ea75f5f8f11b793b41d905d2c9721a4b"
+checksum = "1ef2b29de53074e575c18b694167ccbe6e5191f7b25fe65175a0d905a32eeec0"
 dependencies = [
  "bytemuck",
  "serde",
@@ -664,65 +770,64 @@ dependencies = [
 
 [[package]]
 name = "enum-map"
-version = "2.5.0"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "988f0d17a0fa38291e5f41f71ea8d46a5d5497b9054d5a759fae2cbb819f2356"
+checksum = "ed40247825a1a0393b91b51d475ea1063a6cbbf0847592e7f13fb427aca6a716"
 dependencies = [
  "enum-map-derive",
 ]
 
 [[package]]
 name = "enum-map-derive"
-version = "0.11.0"
+version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a4da76b3b6116d758c7ba93f7ec6a35d2e2cf24feda76c6e38a375f4d5c59f2"
+checksum = "7933cd46e720348d29ed1493f89df9792563f272f96d8f13d18afe03b32f8cb8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "enumn"
-version = "0.1.8"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48016319042fb7c87b78d2993084a831793a897a5cd1a2a67cab9d1eeb4b7d76"
+checksum = "c2ad8cef1d801a4686bfd8919f0b30eac4c8e48968c437a6405ded4fb5272d2b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "enumset"
-version = "1.0.12"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19be8061a06ab6f3a6cf21106c873578bf01bd42ad15e0311a9c76161cb1c753"
+checksum = "226c0da7462c13fb57e5cc9e0dc8f0635e7d27f276a3a7fd30054647f669007d"
 dependencies = [
  "enumset_derive",
 ]
 
 [[package]]
 name = "enumset_derive"
-version = "0.6.1"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03e7b551eba279bf0fa88b83a46330168c1560a52a94f5126f892f0b364ab3e0"
+checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af"
 dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "epaint"
-version = "0.22.0"
+version = "0.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09333964d4d57f40a85338ba3ca5ed4716070ab184dcfed966b35491c5c64f3b"
+checksum = "58067b840d009143934d91d8dcb8ded054d8301d7c11a517ace0a99bb1e1595e"
 dependencies = [
  "ab_glyph",
  "ahash",
- "atomic_refcell",
  "bytemuck",
  "ecolor",
  "emath",
@@ -733,6 +838,22 @@ dependencies = [
 ]
 
 [[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.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c18ee0ed65a5f1f81cac6b1d213b69c35fa47d4252ad41f1486dbd8226fe36e"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "error-code"
 version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -743,22 +864,90 @@ dependencies = [
 ]
 
 [[package]]
+name = "faster-hex"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "239f7bfb930f820ab16a9cd95afc26f88264cf6905c960b340a615384aa3338a"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
 name = "fdeflate"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
+checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868"
 dependencies = [
  "simd-adler32",
 ]
 
 [[package]]
+name = "find-crate"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59a98bbaacea1c0eb6a0876280051b892eb73594fd90cf3b20e9c817029c57d2"
+dependencies = [
+ "toml 0.5.11",
+]
+
+[[package]]
 name = "flate2"
-version = "1.0.25"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
- "miniz_oxide 0.6.2",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "fluent"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7"
+dependencies = [
+ "fluent-bundle",
+ "unic-langid",
+]
+
+[[package]]
+name = "fluent-bundle"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffd"
+dependencies = [
+ "fluent-langneg",
+ "fluent-syntax",
+ "intl-memoizer",
+ "intl_pluralrules",
+ "rustc-hash",
+ "self_cell",
+ "smallvec",
+ "unic-langid",
+]
+
+[[package]]
+name = "fluent-langneg"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94"
+dependencies = [
+ "unic-langid",
+]
+
+[[package]]
+name = "fluent-syntax"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78"
+dependencies = [
+ "thiserror",
 ]
 
 [[package]]
@@ -784,14 +973,24 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
 dependencies = [
  "percent-encoding",
 ]
 
 [[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
 name = "gethostname"
 version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -803,9 +1002,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
  "cfg-if",
  "libc",
@@ -813,6 +1012,466 @@ dependencies = [
 ]
 
 [[package]]
+name = "gix"
+version = "0.55.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "002667cd1ebb789313d0d0afe3d23b2821cf3b0e91605095f0e6d8751f0ceeea"
+dependencies = [
+ "gix-actor",
+ "gix-commitgraph",
+ "gix-config",
+ "gix-date",
+ "gix-diff",
+ "gix-discover",
+ "gix-features",
+ "gix-fs",
+ "gix-glob",
+ "gix-hash",
+ "gix-hashtable",
+ "gix-lock",
+ "gix-macros",
+ "gix-object",
+ "gix-odb",
+ "gix-pack",
+ "gix-path",
+ "gix-ref",
+ "gix-refspec",
+ "gix-revision",
+ "gix-revwalk",
+ "gix-sec",
+ "gix-tempfile",
+ "gix-trace",
+ "gix-traverse",
+ "gix-url",
+ "gix-utils",
+ "gix-validate",
+ "once_cell",
+ "parking_lot",
+ "smallvec",
+ "thiserror",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "gix-actor"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "948a5f9e43559d16faf583694f1c742eb401ce24ce8e6f2238caedea7486433c"
+dependencies = [
+ "bstr",
+ "btoi",
+ "gix-date",
+ "itoa",
+ "thiserror",
+ "winnow",
+]
+
+[[package]]
+name = "gix-chunk"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b42ea64420f7994000130328f3c7a2038f639120518870436d31b8bde704493"
+dependencies = [
+ "thiserror",
+]
+
+[[package]]
+name = "gix-commitgraph"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e8bc78b1a6328fa6d8b3a53b6c73997af37fd6bfc1d6c49f149e63bda5cbb36"
+dependencies = [
+ "bstr",
+ "gix-chunk",
+ "gix-features",
+ "gix-hash",
+ "memmap2 0.7.1",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-config"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cae98c6b4c66c09379bc35274b172587d6b0ac369a416c39128ad8c6454f9bb"
+dependencies = [
+ "bstr",
+ "gix-config-value",
+ "gix-features",
+ "gix-glob",
+ "gix-path",
+ "gix-ref",
+ "gix-sec",
+ "memchr",
+ "once_cell",
+ "smallvec",
+ "thiserror",
+ "unicode-bom",
+ "winnow",
+]
+
+[[package]]
+name = "gix-config-value"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea7505b97f4d8e7933e29735a568ba2f86d8de466669d9f0e8321384f9972f47"
+dependencies = [
+ "bitflags 2.4.1",
+ "bstr",
+ "gix-path",
+ "libc",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-date"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7df669639582dc7c02737642f76890b03b5544e141caba68a7d6b4eb551e0d"
+dependencies = [
+ "bstr",
+ "itoa",
+ "thiserror",
+ "time",
+]
+
+[[package]]
+name = "gix-diff"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "931394f69fb8c9ed6afc0aae3487bd869e936339bcc13ed8884472af072e0554"
+dependencies = [
+ "gix-hash",
+ "gix-object",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-discover"
+version = "0.26.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a45d5cf0321178883e38705ab2b098f625d609a7d4c391b33ac952eff2c490f2"
+dependencies = [
+ "bstr",
+ "dunce",
+ "gix-hash",
+ "gix-path",
+ "gix-ref",
+ "gix-sec",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-features"
+version = "0.36.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51f4365ba17c4f218d7fd9ec102b8d2d3cb0ca200a835e81151ace7778aec827"
+dependencies = [
+ "crc32fast",
+ "flate2",
+ "gix-hash",
+ "gix-trace",
+ "libc",
+ "once_cell",
+ "prodash",
+ "sha1_smol",
+ "thiserror",
+ "walkdir",
+]
+
+[[package]]
+name = "gix-fs"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8cd171c0cae97cd0dc57e7b4601cb1ebf596450e263ef3c02be9107272c877bd"
+dependencies = [
+ "gix-features",
+]
+
+[[package]]
+name = "gix-glob"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fac08925dbc14d414bd02eb45ffb4cecd912d1fce3883f867bd0103c192d3e4"
+dependencies = [
+ "bitflags 2.4.1",
+ "bstr",
+ "gix-features",
+ "gix-path",
+]
+
+[[package]]
+name = "gix-hash"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1884c7b41ea0875217c1be9ce91322f90bde433e91d374d0e1276073a51ccc60"
+dependencies = [
+ "faster-hex",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-hashtable"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "409268480841ad008e81c17ca5a293393fbf9f2b6c2f85b8ab9de1f0c5176a16"
+dependencies = [
+ "gix-hash",
+ "hashbrown",
+ "parking_lot",
+]
+
+[[package]]
+name = "gix-lock"
+version = "11.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4feb1dcd304fe384ddc22edba9dd56a42b0800032de6537728cea2f033a4f37"
+dependencies = [
+ "gix-tempfile",
+ "gix-utils",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d8acb5ee668d55f0f2d19a320a3f9ef67a6999ad483e11135abcc2464ed18b6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "gix-object"
+version = "0.38.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "740f2a44267f58770a1cb3a3d01d14e67b089c7136c48d4bddbb3cfd2bf86a51"
+dependencies = [
+ "bstr",
+ "btoi",
+ "gix-actor",
+ "gix-date",
+ "gix-features",
+ "gix-hash",
+ "gix-validate",
+ "itoa",
+ "smallvec",
+ "thiserror",
+ "winnow",
+]
+
+[[package]]
+name = "gix-odb"
+version = "0.54.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8630b56cb80d8fa684d383dad006a66401ee8314e12fbf0e566ddad8c115143b"
+dependencies = [
+ "arc-swap",
+ "gix-date",
+ "gix-features",
+ "gix-hash",
+ "gix-object",
+ "gix-pack",
+ "gix-path",
+ "gix-quote",
+ "parking_lot",
+ "tempfile",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-pack"
+version = "0.44.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1431ba2e30deff1405920693d54ab231c88d7c240dd6ccc936ee223d8f8697c3"
+dependencies = [
+ "clru",
+ "gix-chunk",
+ "gix-features",
+ "gix-hash",
+ "gix-hashtable",
+ "gix-object",
+ "gix-path",
+ "gix-tempfile",
+ "memmap2 0.7.1",
+ "parking_lot",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-path"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a1d370115171e3ae03c5c6d4f7d096f2981a40ddccb98dfd704c773530ba73b"
+dependencies = [
+ "bstr",
+ "gix-trace",
+ "home",
+ "once_cell",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-quote"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "475c86a97dd0127ba4465fbb239abac9ea10e68301470c9791a6dd5351cdc905"
+dependencies = [
+ "bstr",
+ "btoi",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-ref"
+version = "0.38.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ec2f6d07ac88d2fb8007ee3fa3e801856fb9d82e7366ec0ca332eb2c9d74a52"
+dependencies = [
+ "gix-actor",
+ "gix-date",
+ "gix-features",
+ "gix-fs",
+ "gix-hash",
+ "gix-lock",
+ "gix-object",
+ "gix-path",
+ "gix-tempfile",
+ "gix-validate",
+ "memmap2 0.7.1",
+ "thiserror",
+ "winnow",
+]
+
+[[package]]
+name = "gix-refspec"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccb0974cc41dbdb43a180c7f67aa481e1c1e160fcfa8f4a55291fd1126c1a6e7"
+dependencies = [
+ "bstr",
+ "gix-hash",
+ "gix-revision",
+ "gix-validate",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-revision"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ca97ac73459a7f3766aa4a5638a6e37d56d4c7962bc1986fbaf4883d0772588"
+dependencies = [
+ "bstr",
+ "gix-date",
+ "gix-hash",
+ "gix-hashtable",
+ "gix-object",
+ "gix-revwalk",
+ "gix-trace",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-revwalk"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a16d8c892e4cd676d86f0265bf9d40cefd73d8d94f86b213b8b77d50e77efae0"
+dependencies = [
+ "gix-commitgraph",
+ "gix-date",
+ "gix-hash",
+ "gix-hashtable",
+ "gix-object",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-sec"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92b9542ac025a8c02ed5d17b3fc031a111a384e859d0be3532ec4d58c40a0f28"
+dependencies = [
+ "bitflags 2.4.1",
+ "gix-path",
+ "libc",
+ "windows",
+]
+
+[[package]]
+name = "gix-tempfile"
+version = "11.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05cc2205cf10d99f70b96e04e16c55d4c7cf33efc151df1f793e29fd12a931f8"
+dependencies = [
+ "gix-fs",
+ "libc",
+ "once_cell",
+ "parking_lot",
+ "tempfile",
+]
+
+[[package]]
+name = "gix-trace"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96b6d623a1152c3facb79067d6e2ecdae48130030cf27d6eb21109f13bd7b836"
+
+[[package]]
+name = "gix-traverse"
+version = "0.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14d050ec7d4e1bb76abf0636cf4104fb915b70e54e3ced9a4427c999100ff38a"
+dependencies = [
+ "gix-commitgraph",
+ "gix-date",
+ "gix-hash",
+ "gix-hashtable",
+ "gix-object",
+ "gix-revwalk",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gix-url"
+version = "0.25.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1b9ac8ed32ad45f9fc6c5f8c0be2ed911e544a5a19afd62d95d524ebaa95671"
+dependencies = [
+ "bstr",
+ "gix-features",
+ "gix-path",
+ "home",
+ "thiserror",
+ "url",
+]
+
+[[package]]
+name = "gix-utils"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b85d89dc728613e26e0ed952a19583744e7f5240fcd4aa30d6c824ffd8b52f0f"
+dependencies = [
+ "fastrand",
+]
+
+[[package]]
+name = "gix-validate"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e05cab2b03a45b866156e052aa38619f4ece4adcb2f79978bfc249bc3b21b8c5"
+dependencies = [
+ "bstr",
+ "thiserror",
+]
+
+[[package]]
 name = "gl_generator"
 version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -825,9 +1484,9 @@ dependencies = [
 
 [[package]]
 name = "glow"
-version = "0.12.1"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e007a07a24de5ecae94160f141029e9a347282cfe25d1d58d85d845cf3130f1"
+checksum = "ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728"
 dependencies = [
  "js-sys",
  "slotmap",
@@ -837,11 +1496,11 @@ dependencies = [
 
 [[package]]
 name = "glutin"
-version = "0.30.7"
+version = "0.30.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f89bab9ec7715de13d5d5402238e66f48e3a5ae636ebb45aba4013c962e2ff15"
+checksum = "8fc93b03242719b8ad39fb26ed2b01737144ce7bd4bfc7adadcef806596760fe"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg_aliases",
  "cgl",
  "core-foundation",
@@ -849,12 +1508,12 @@ dependencies = [
  "glutin_egl_sys",
  "glutin_glx_sys",
  "glutin_wgl_sys",
- "libloading",
+ "libloading 0.7.4",
  "objc2",
  "once_cell",
  "raw-window-handle",
  "wayland-sys 0.30.1",
- "windows-sys",
+ "windows-sys 0.45.0",
  "x11-dl",
 ]
 
@@ -872,12 +1531,12 @@ dependencies = [
 
 [[package]]
 name = "glutin_egl_sys"
-version = "0.4.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5aaf0abb5c4148685b33101ae326a207946b4d3764d6cdc79f8316cdaa8367d"
+checksum = "af784eb26c5a68ec85391268e074f0aa618c096eadb5d6330b0911cf34fe57c5"
 dependencies = [
  "gl_generator",
- "windows-sys",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
@@ -901,9 +1560,88 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.12.3"
+version = "0.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+
+[[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "i18n-config"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+checksum = "0c9ce3c48cbc21fd5b22b9331f32b5b51f6ad85d969b99e793427332e76e7640"
+dependencies = [
+ "log",
+ "serde",
+ "serde_derive",
+ "thiserror",
+ "toml 0.8.8",
+ "unic-langid",
+]
+
+[[package]]
+name = "i18n-embed"
+version = "0.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94205d95764f5bb9db9ea98fa77f89653365ca748e27161f5bbea2ffd50e459c"
+dependencies = [
+ "arc-swap",
+ "fluent",
+ "fluent-langneg",
+ "fluent-syntax",
+ "i18n-embed-impl",
+ "intl-memoizer",
+ "lazy_static",
+ "locale_config",
+ "log",
+ "parking_lot",
+ "rust-embed",
+ "thiserror",
+ "unic-langid",
+ "walkdir",
+]
+
+[[package]]
+name = "i18n-embed-fl"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fc1f8715195dffc4caddcf1cf3128da15fe5d8a137606ea8856c9300047d5a2"
+dependencies = [
+ "dashmap",
+ "find-crate",
+ "fluent",
+ "fluent-syntax",
+ "i18n-config",
+ "i18n-embed",
+ "lazy_static",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "strsim",
+ "syn 2.0.39",
+ "unic-langid",
+]
+
+[[package]]
+name = "i18n-embed-impl"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2a4d5bff745c9a6e1459c490059281b353a4ab0a4e1e58b3eeeaef71f97d07b"
+dependencies = [
+ "find-crate",
+ "i18n-config",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
 
 [[package]]
 name = "ident_case"
@@ -913,9 +1651,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[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",
@@ -923,9 +1661,9 @@ dependencies = [
 
 [[package]]
 name = "image"
-version = "0.24.6"
+version = "0.24.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "527909aa81e20ac3a44803521443a765550f09b5130c2c2fa1ea59c2f8f50a3a"
+checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
 dependencies = [
  "bytemuck",
  "byteorder",
@@ -937,11 +1675,11 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "1.9.3"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
- "autocfg",
+ "equivalent",
  "hashbrown",
 ]
 
@@ -958,10 +1696,29 @@ dependencies = [
 ]
 
 [[package]]
+name = "intl-memoizer"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f"
+dependencies = [
+ "type-map",
+ "unic-langid",
+]
+
+[[package]]
+name = "intl_pluralrules"
+version = "7.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972"
+dependencies = [
+ "unic-langid",
+]
+
+[[package]]
 name = "itoa"
-version = "1.0.6"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "jni"
@@ -976,7 +1733,7 @@ dependencies = [
  "log",
  "thiserror",
  "walkdir",
- "windows-sys",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
@@ -987,18 +1744,18 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
 name = "jobserver"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.61"
+version = "0.3.65"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
+checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1017,7 +1774,7 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libamdgpu_top"
-version = "0.1.10"
+version = "0.3.1"
 dependencies = [
  "anyhow",
  "libdrm_amdgpu_sys",
@@ -1025,15 +1782,14 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.141"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
 
 [[package]]
 name = "libdrm_amdgpu_sys"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e6441089848c428085639f12ef420bcae8ac6650f4cf1d7f9215611a34176bb"
+version = "0.2.2"
+source = "git+https://github.com/Umio-Yasuno/libdrm-amdgpu-sys-rs#39b31fd54578d332f8085c033a1ef073b627be6e"
 dependencies = [
  "libc",
 ]
@@ -1049,10 +1805,61 @@ dependencies = [
 ]
 
 [[package]]
+name = "libloading"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
+name = "libredox"
+version = "0.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
+
+[[package]]
+name = "locale_config"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
+dependencies = [
+ "lazy_static",
+ "objc",
+ "objc-foundation",
+ "regex",
+ "winapi",
+]
+
+[[package]]
 name = "lock_api"
-version = "0.4.9"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -1060,12 +1867,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.17"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
-]
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "malloc_buf"
@@ -1078,9 +1882,9 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
 
 [[package]]
 name = "memmap2"
@@ -1092,6 +1896,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "memmap2"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6"
+dependencies = [
+ "libc",
+]
+
+[[package]]
 name = "memoffset"
 version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1108,15 +1921,6 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "miniz_oxide"
 version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
@@ -1127,14 +1931,14 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.6"
+version = "0.8.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
 dependencies = [
  "libc",
  "log",
  "wasi",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -1143,10 +1947,10 @@ version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "jni-sys",
  "ndk-sys",
- "num_enum",
+ "num_enum 0.5.11",
  "raw-window-handle",
  "thiserror",
 ]
@@ -1172,7 +1976,7 @@ version = "0.24.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if",
  "libc",
  "memoffset",
@@ -1185,7 +1989,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
 dependencies = [
  "autocfg",
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if",
  "libc",
  "memoffset",
@@ -1209,9 +2013,9 @@ dependencies = [
 
 [[package]]
 name = "num"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
+checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af"
 dependencies = [
  "num-complex",
  "num-integer",
@@ -1222,9 +2026,9 @@ dependencies = [
 
 [[package]]
 name = "num-complex"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d"
+checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
 dependencies = [
  "num-traits",
 ]
@@ -1263,9 +2067,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
 dependencies = [
  "autocfg",
 ]
@@ -1276,7 +2080,16 @@ version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
 dependencies = [
- "num_enum_derive",
+ "num_enum_derive 0.5.11",
+]
+
+[[package]]
+name = "num_enum"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1"
+dependencies = [
+ "num_enum_derive 0.6.1",
 ]
 
 [[package]]
@@ -1292,6 +2105,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "num_enum_derive"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
 name = "num_threads"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1328,9 +2153,9 @@ checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7"
 
 [[package]]
 name = "objc2"
-version = "0.3.0-beta.3"
+version = "0.3.0-beta.3.patch-leaks.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe31e5425d3d0b89a15982c024392815da40689aceb34bad364d58732bcfd649"
+checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468"
 dependencies = [
  "block2",
  "objc-sys",
@@ -1357,27 +2182,24 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.17.1"
+version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "orbclient"
-version = "0.3.44"
+version = "0.3.47"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e9829e16c5e112e94efb5e2ad1fe17f8c1c99bb0fcdc8c65c44e935d904767d"
+checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166"
 dependencies = [
- "cfg-if",
- "redox_syscall 0.2.16",
- "wasm-bindgen",
- "web-sys",
+ "libredox 0.0.2",
 ]
 
 [[package]]
 name = "owned_ttf_parser"
-version = "0.18.1"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e25e9fb15717794fae58ab55c26e044103aad13186fbb625893f9a3bbcc24228"
+checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7"
 dependencies = [
  "ttf-parser",
 ]
@@ -1403,66 +2225,102 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.7"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.2.16",
+ "redox_syscall 0.4.1",
  "smallvec",
- "windows-sys",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
 name = "percent-encoding"
-version = "2.2.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.26"
+version = "0.3.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
+checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
 
 [[package]]
 name = "png"
-version = "0.17.8"
+version = "0.17.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaeebc51f9e7d2c150d3f3bfeb667f2aa985db5ef1e3d212847bdedb488beeaa"
+checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "crc32fast",
  "fdeflate",
  "flate2",
- "miniz_oxide 0.7.1",
+ "miniz_oxide",
 ]
 
 [[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
 name = "proc-macro-crate"
 version = "1.3.1"
 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-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",
+ "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",
+ "version_check",
 ]
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.56"
+version = "1.0.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
+name = "prodash"
+version = "26.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "794b5bf8e2d19b53dcdcec3e4bba628e20f5b6062503ba89281fa7037dd7bbcf"
+
+[[package]]
 name = "quote"
-version = "1.0.26"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
  "proc-macro2",
 ]
@@ -1475,49 +2333,132 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 dependencies = [
- "bitflags",
+ "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",
+ "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",
- "redox_syscall 0.2.16",
+ "libredox 0.0.1",
  "thiserror",
 ]
 
 [[package]]
+name = "regex"
+version = "1.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
 name = "ron"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "300a51053b1cb55c80b7a9fde4120726ddf25ca241a1cbb926626f62fb136bff"
+checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
 dependencies = [
  "base64",
- "bitflags",
+ "bitflags 2.4.1",
  "serde",
+ "serde_derive",
+]
+
+[[package]]
+name = "rust-embed"
+version = "8.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1e7d90385b59f0a6bf3d3b757f3ca4ece2048265d70db20a2016043d4509a40"
+dependencies = [
+ "rust-embed-impl",
+ "rust-embed-utils",
+ "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",
+ "syn 2.0.39",
+ "walkdir",
+]
+
+[[package]]
+name = "rust-embed-utils"
+version = "8.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "873feff8cb7bf86fdf0a71bb21c95159f4e4a37dd7a4bd1855a940909b583ada"
+dependencies = [
+ "sha2",
+ "walkdir",
+]
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustix"
+version = "0.38.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
+dependencies = [
+ "bitflags 2.4.1",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.13"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
 name = "same-file"
@@ -1536,48 +2477,41 @@ checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
-name = "sctk-adwaita"
-version = "0.5.4"
+name = "self_cell"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cda4e97be1fd174ccc2aae81c8b694e803fa99b34e8fd0f057a9d70698e3ed09"
-dependencies = [
- "ab_glyph",
- "log",
- "memmap2",
- "smithay-client-toolkit",
- "tiny-skia",
-]
+checksum = "1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8af"
 
 [[package]]
 name = "serde"
-version = "1.0.159"
+version = "1.0.192"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065"
+checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.159"
+version = "1.0.192"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c614d17805b093df4b147b51339e7e44bf05ef59fba1e45d83500bcfb4d8585"
+checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.95"
+version = "1.0.108"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
 dependencies = [
  "itoa",
  "ryu",
@@ -1585,10 +2519,36 @@ dependencies = [
 ]
 
 [[package]]
+name = "serde_spanned"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "sha1_smol"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
+
+[[package]]
+name = "sha2"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
 name = "signal-hook"
-version = "0.3.15"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
+checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
 dependencies = [
  "libc",
  "signal-hook-registry",
@@ -1616,9 +2576,9 @@ dependencies = [
 
 [[package]]
 name = "simd-adler32"
-version = "0.3.5"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
 
 [[package]]
 name = "slotmap"
@@ -1631,22 +2591,22 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
 
 [[package]]
 name = "smithay-client-toolkit"
-version = "0.16.0"
+version = "0.16.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f307c47d32d2715eb2e0ece5589057820e0e5e70d07c247d1063e844e107f454"
+checksum = "870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "calloop",
  "dlib",
  "lazy_static",
  "log",
- "memmap2",
+ "memmap2 0.5.10",
  "nix 0.24.3",
  "pkg-config",
  "wayland-client",
@@ -1671,16 +2631,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
 
 [[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
 name = "str-buf"
 version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0"
 
 [[package]]
-name = "strict-num"
-version = "0.1.0"
+name = "strsim"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9df65f20698aeed245efdde3628a6b559ea1239bbb871af1b6e3b58c413b2bd1"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
 name = "syn"
@@ -1695,9 +2661,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.15"
+version = "2.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1705,34 +2671,49 @@ dependencies = [
 ]
 
 [[package]]
+name = "tempfile"
+version = "3.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "redox_syscall 0.4.1",
+ "rustix",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "time"
-version = "0.3.20"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
+checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
 dependencies = [
+ "deranged",
  "itoa",
  "libc",
  "num_threads",
+ "powerfmt",
  "serde",
  "time-core",
  "time-macros",
@@ -1740,42 +2721,26 @@ dependencies = [
 
 [[package]]
 name = "time-core"
-version = "0.1.0"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.8"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
+checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
 dependencies = [
  "time-core",
 ]
 
 [[package]]
-name = "tiny-skia"
-version = "0.8.3"
+name = "tinystr"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfef3412c6975196fdfac41ef232f910be2bb37b9dd3313a49a1a6bc815a5bdb"
+checksum = "d5d0e245e80bdc9b4e5356fc45a72184abbc3861992603f515270e9340f5a219"
 dependencies = [
- "arrayref",
- "arrayvec",
- "bytemuck",
- "cfg-if",
- "png",
- "tiny-skia-path",
-]
-
-[[package]]
-name = "tiny-skia-path"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4b5edac058fc98f51c935daea4d805b695b38e2f151241cad125ade2a2ac20d"
-dependencies = [
- "arrayref",
- "bytemuck",
- "strict-num",
+ "displaydoc",
 ]
 
 [[package]]
@@ -1794,27 +2759,98 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
+name = "toml"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.21.0",
+]
+
+[[package]]
 name = "toml_datetime"
-version = "0.6.1"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow",
+]
 
 [[package]]
 name = "toml_edit"
-version = "0.19.8"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13"
+checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
 dependencies = [
  "indexmap",
+ "serde",
+ "serde_spanned",
  "toml_datetime",
  "winnow",
 ]
 
 [[package]]
 name = "ttf-parser"
-version = "0.18.1"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4"
+
+[[package]]
+name = "type-map"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46"
+dependencies = [
+ "rustc-hash",
+]
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0609f771ad9c6155384897e1df4d948e692667cc0588548b68eb44d052b27633"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "unic-langid"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "398f9ad7239db44fd0f80fe068d12ff22d78354080332a5077dc6f52f14dcf2f"
+dependencies = [
+ "unic-langid-impl",
+]
+
+[[package]]
+name = "unic-langid-impl"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e35bfd2f2b8796545b55d7d3fd3e89a0613f68a0d1c8bc28cb7ff96b411a35ff"
+dependencies = [
+ "serde",
+ "tinystr",
+]
 
 [[package]]
 name = "unicode-bidi"
@@ -1823,10 +2859,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
 
 [[package]]
+name = "unicode-bom"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98e90c70c9f0d4d1ee6d0a7d04aa06cb9bbd53d8cfbdd62a0269a7c2eb640552"
+
+[[package]]
 name = "unicode-ident"
-version = "1.0.8"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
@@ -1845,15 +2887,15 @@ checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
 name = "url"
-version = "2.3.1"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -1874,9 +2916,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "walkdir"
-version = "2.3.3"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -1890,9 +2932,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.88"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -1900,24 +2942,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.88"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.15",
+ "syn 2.0.39",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.34"
+version = "0.4.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
+checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -1927,9 +2969,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.88"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -1937,22 +2979,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.88"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
+ "syn 2.0.39",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.88"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
 
 [[package]]
 name = "wayland-client"
@@ -1960,7 +3002,7 @@ version = "0.29.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "downcast-rs",
  "libc",
  "nix 0.24.3",
@@ -1999,7 +3041,7 @@ version = "0.29.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "wayland-client",
  "wayland-commons",
  "wayland-scanner",
@@ -2041,9 +3083,19 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.61"
+version = "0.3.65"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
+checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "web-time"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57099a701fb3a8043f993e8228dc24229c7b942e2b009a1b962e54489ba1d3bf"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -2051,12 +3103,12 @@ dependencies = [
 
 [[package]]
 name = "webbrowser"
-version = "0.8.9"
+version = "0.8.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b692165700260bbd40fbc5ff23766c03e339fbaca907aeea5cb77bf0a553ca83"
+checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71"
 dependencies = [
  "core-foundation",
- "dirs",
+ "home",
  "jni",
  "log",
  "ndk-context",
@@ -2084,9 +3136,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
  "winapi",
 ]
@@ -2107,12 +3159,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
+name = "windows"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
 name = "windows-sys"
 version = "0.45.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.42.2",
+]
+
+[[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]]
@@ -2121,13 +3191,28 @@ version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
 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.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[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]]
@@ -2137,49 +3222,91 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
 
 [[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_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
 
 [[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_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
 
 [[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_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
 
 [[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_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
 name = "winit"
-version = "0.28.3"
+version = "0.28.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f504e8c117b9015f618774f8d58cd4781f5a479bc41079c064f974cbb253874"
+checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94"
 dependencies = [
  "android-activity",
- "bitflags",
+ "bitflags 1.3.2",
  "cfg_aliases",
  "core-foundation",
  "core-graphics",
@@ -2195,7 +3322,6 @@ dependencies = [
  "percent-encoding",
  "raw-window-handle",
  "redox_syscall 0.3.5",
- "sctk-adwaita",
  "smithay-client-toolkit",
  "wasm-bindgen",
  "wayland-client",
@@ -2203,15 +3329,15 @@ dependencies = [
  "wayland-protocols",
  "wayland-scanner",
  "web-sys",
- "windows-sys",
+ "windows-sys 0.45.0",
  "x11-dl",
 ]
 
 [[package]]
 name = "winnow"
-version = "0.4.1"
+version = "0.5.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae8970b36c66498d8ff1d66685dc86b91b29db0c7739899012f63a63814b4b28"
+checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
 dependencies = [
  "memchr",
 ]
@@ -2266,6 +3392,26 @@ checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a"
 
 [[package]]
 name = "xml-rs"
-version = "0.8.4"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
+checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
+
+[[package]]
+name = "zerocopy"
+version = "0.7.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8cd369a67c0edfef15010f980c3cbe45d7f651deac2cd67ce097cd801de16557"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2f140bda219a26ccc0cdb03dba58af72590c53b22642577d88a927bc5c87d6b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
diff --git a/nixpkgs/pkgs/tools/system/amdgpu_top/default.nix b/nixpkgs/pkgs/tools/system/amdgpu_top/default.nix
index b8f753bc5a46..73742692af0c 100644
--- a/nixpkgs/pkgs/tools/system/amdgpu_top/default.nix
+++ b/nixpkgs/pkgs/tools/system/amdgpu_top/default.nix
@@ -14,16 +14,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "amdgpu_top";
-  version = "0.1.11";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "Umio-Yasuno";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-jeKwvecB67U+TACr4uXGjRWvRG3GUleiqyu5MYlFwq0=";
+    hash = "sha256-bkrXm3lXJr+sZ09GeVHgfIp8JO3a/Ejrsm1Cm4eY4IU=";
   };
 
   cargoLock = {
+    outputHashes = {
+      "libdrm_amdgpu_sys-0.2.2" = "sha256-2QXT/6octEzokW8+0mHx02R8qQ3kCBDxZT4yyfDkM5A=";
+    };
     lockFile = ./Cargo.lock;
   };
 
@@ -54,5 +57,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ geri1701 ];
     platforms = platforms.linux;
+    mainProgram = "amdgpu_top";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/augeas/bootstrap.diff b/nixpkgs/pkgs/tools/system/augeas/bootstrap.diff
new file mode 100644
index 000000000000..3740134c5478
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/augeas/bootstrap.diff
@@ -0,0 +1,15 @@
+diff --git a/bootstrap b/bootstrap
+index a84eb39..cac656d 100755
+--- a/bootstrap
++++ b/bootstrap
+@@ -53,9 +53,6 @@ case ${GNULIB_SRCDIR--} in
+     echo "$0: getting gnulib files..."
+     git submodule update || exit $?
+     GNULIB_SRCDIR=.gnulib
+-  else
+-    echo >&2 "$0: invalid gnulib srcdir: $GNULIB_SRCDIR"
+-    exit 1
+   fi
+   ;;
+ esac
+
diff --git a/nixpkgs/pkgs/tools/system/augeas/default.nix b/nixpkgs/pkgs/tools/system/augeas/default.nix
index bea2edd553d4..e30de64f5ad1 100644
--- a/nixpkgs/pkgs/tools/system/augeas/default.nix
+++ b/nixpkgs/pkgs/tools/system/augeas/default.nix
@@ -1,23 +1,65 @@
-{ lib, stdenv, fetchurl, pkg-config, readline, libxml2 }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, bison
+, flex
+, perl # for pod2man
+, pkg-config
+, readline
+, libxml2
+}:
 
 stdenv.mkDerivation rec {
   pname = "augeas";
-  version = "1.12.0";
+  version = "1.14.1";
 
-  src = fetchurl {
-    url = "http://download.augeas.net/${pname}-${version}.tar.gz";
-    sha256 = "11ybhb13wkkilsn7b416a1dn61m1xrq0lbdpkhp5w61jrk4l469j";
+  src = fetchFromGitHub {
+    owner = "hercules-team";
+    repo = "augeas";
+    rev = "release-${version}";
+    fetchSubmodules = true;
+    hash = "sha256-U5tm3LDUeI/idHtL2Zy33BigkyvHunXPjToDC59G9VE=";
   };
-  nativeBuildInputs = [ pkg-config ];
+
+  patches = [
+    # already have the submodules so don't fail when .git doesn't exist.
+    ./bootstrap.diff
+  ];
+
+  postPatch = ''
+    ./bootstrap --gnulib-srcdir=.gnulib
+  '';
+
+  nativeBuildInputs = [
+    autoreconfHook
+    bison
+    flex
+    perl
+    pkg-config
+  ];
+
   buildInputs = [ readline libxml2 ];
 
   enableParallelBuilding = true;
 
+  doCheck = true;
+
+  checkPhase = ''
+    runHook preCheck
+    patchShebangs --build gnulib/tests tests
+    make -j $NIX_BUILD_CORES check
+    runHook postCheck
+  '';
+
+  outputs = [ "out" "dev" ];
+
   meta = with lib; {
     description = "Configuration editing tool";
     license = licenses.lgpl21Only;
     homepage = "https://augeas.net/";
-    changelog = "https://augeas.net/news.html";
+    changelog = "https://github.com/hercules-team/augeas/releases/tag/release-${version}";
+    mainProgram = "augtool";
     maintainers = with maintainers; [ offline ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix b/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix
index 7233a41142ed..f6bfe6db6958 100644
--- a/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix
+++ b/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix
@@ -23,5 +23,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ maxbrunet ];
     platforms = platforms.linux;
+    mainProgram = "automatic-timezoned";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/awstats/default.nix b/nixpkgs/pkgs/tools/system/awstats/default.nix
index 21b76adf3e59..e1479e6192cb 100644
--- a/nixpkgs/pkgs/tools/system/awstats/default.nix
+++ b/nixpkgs/pkgs/tools/system/awstats/default.nix
@@ -63,5 +63,6 @@ perlPackages.buildPerlPackage rec {
     homepage = "https://awstats.org";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
+    mainProgram = "awstats";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/bar/default.nix b/nixpkgs/pkgs/tools/system/bar/default.nix
index 9ff8d2080f7f..1109def2bf30 100644
--- a/nixpkgs/pkgs/tools/system/bar/default.nix
+++ b/nixpkgs/pkgs/tools/system/bar/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.rdnetto ];
     platforms = lib.platforms.all;
+    mainProgram = "bar";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/btop/default.nix b/nixpkgs/pkgs/tools/system/btop/default.nix
index a4a5156525dd..6a51b29d1d1c 100644
--- a/nixpkgs/pkgs/tools/system/btop/default.nix
+++ b/nixpkgs/pkgs/tools/system/btop/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ rmcgibbo ];
+    mainProgram = "btop";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/chase/default.nix b/nixpkgs/pkgs/tools/system/chase/default.nix
index d20d33235cf8..40f09089fdff 100644
--- a/nixpkgs/pkgs/tools/system/chase/default.nix
+++ b/nixpkgs/pkgs/tools/system/chase/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.polyrod ];
     platforms = platforms.all;
+    mainProgram = "chase";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/clinfo/default.nix b/nixpkgs/pkgs/tools/system/clinfo/default.nix
index 746f83690e7d..50e72498bf64 100644
--- a/nixpkgs/pkgs/tools/system/clinfo/default.nix
+++ b/nixpkgs/pkgs/tools/system/clinfo/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.cc0;
     maintainers = with maintainers; [ athas r-burns ];
     platforms = platforms.unix;
+    mainProgram = "clinfo";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/colorls/default.nix b/nixpkgs/pkgs/tools/system/colorls/default.nix
index 8243590cd7d5..3dc460140cb6 100644
--- a/nixpkgs/pkgs/tools/system/colorls/default.nix
+++ b/nixpkgs/pkgs/tools/system/colorls/default.nix
@@ -14,5 +14,6 @@ bundlerApp {
     license     = with licenses; mit;
     maintainers = with maintainers; [ lukebfox nicknovitski cbley ];
     platforms   = ruby.meta.platforms;
+    mainProgram = "colorls";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/confd/default.nix b/nixpkgs/pkgs/tools/system/confd/default.nix
index 25f03e1a665f..bdbba9bc9f21 100644
--- a/nixpkgs/pkgs/tools/system/confd/default.nix
+++ b/nixpkgs/pkgs/tools/system/confd/default.nix
@@ -20,5 +20,6 @@ buildGoPackage rec {
     homepage = "https://github.com/kelseyhightower/confd";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.zimbatm ];
+    mainProgram = "confd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/consul-template/default.nix b/nixpkgs/pkgs/tools/system/consul-template/default.nix
index a6364ffb6b11..735c91b7a0f8 100644
--- a/nixpkgs/pkgs/tools/system/consul-template/default.nix
+++ b/nixpkgs/pkgs/tools/system/consul-template/default.nix
@@ -27,5 +27,6 @@ buildGoModule rec {
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.mpl20;
     maintainers = with maintainers; [ cpcloud pradeepchhetri ];
+    mainProgram = "consul-template";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/ctop/default.nix b/nixpkgs/pkgs/tools/system/ctop/default.nix
index e3a9e82d8a22..6cf30afa3fd7 100644
--- a/nixpkgs/pkgs/tools/system/ctop/default.nix
+++ b/nixpkgs/pkgs/tools/system/ctop/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     homepage = "https://ctop.sh/";
     license = licenses.mit;
     maintainers = with maintainers; [ apeyroux marsam ];
+    mainProgram = "ctop";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/daemon/default.nix b/nixpkgs/pkgs/tools/system/daemon/default.nix
index 7d63b12850ea..0a7b57934717 100644
--- a/nixpkgs/pkgs/tools/system/daemon/default.nix
+++ b/nixpkgs/pkgs/tools/system/daemon/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.sander ];
     platforms = platforms.unix;
+    mainProgram = "daemon";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/daemonize/default.nix b/nixpkgs/pkgs/tools/system/daemonize/default.nix
index b3cf2a4356f6..3a1340e606d0 100644
--- a/nixpkgs/pkgs/tools/system/daemonize/default.nix
+++ b/nixpkgs/pkgs/tools/system/daemonize/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
     homepage = "http://software.clapper.org/daemonize/";
     license = licenses.bsd3;
     platforms = with platforms; linux ++ freebsd ++ darwin;
+    mainProgram = "daemonize";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/datefudge/default.nix b/nixpkgs/pkgs/tools/system/datefudge/default.nix
index d83e4aa383bc..e32fb70e2e09 100644
--- a/nixpkgs/pkgs/tools/system/datefudge/default.nix
+++ b/nixpkgs/pkgs/tools/system/datefudge/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ leenaars ];
+    mainProgram = "datefudge";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/dcfldd/default.nix b/nixpkgs/pkgs/tools/system/dcfldd/default.nix
index 7047d41c5bb5..395b4431acee 100644
--- a/nixpkgs/pkgs/tools/system/dcfldd/default.nix
+++ b/nixpkgs/pkgs/tools/system/dcfldd/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
 
     platforms = platforms.all;
     maintainers = with maintainers; [ qknight ];
+    mainProgram = "dcfldd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/ddh/default.nix b/nixpkgs/pkgs/tools/system/ddh/default.nix
index cba8ade1f428..33618da36376 100644
--- a/nixpkgs/pkgs/tools/system/ddh/default.nix
+++ b/nixpkgs/pkgs/tools/system/ddh/default.nix
@@ -22,5 +22,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.lgpl3Only;
     maintainers = with maintainers; [ h7x4 ];
     platforms = platforms.all;
+    mainProgram = "ddh";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/ddrescueview/default.nix b/nixpkgs/pkgs/tools/system/ddrescueview/default.nix
index c22c74cd4a84..3576c0eb6537 100644
--- a/nixpkgs/pkgs/tools/system/ddrescueview/default.nix
+++ b/nixpkgs/pkgs/tools/system/ddrescueview/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ orivej ];
+    mainProgram = "ddrescueview";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/dfc/default.nix b/nixpkgs/pkgs/tools/system/dfc/default.nix
index 6478e699539f..0ad1d745b066 100644
--- a/nixpkgs/pkgs/tools/system/dfc/default.nix
+++ b/nixpkgs/pkgs/tools/system/dfc/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [qknight];
     platforms = lib.platforms.all;
+    mainProgram = "dfc";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/dfrs/default.nix b/nixpkgs/pkgs/tools/system/dfrs/default.nix
index f9bbbd12388f..002e421900b9 100644
--- a/nixpkgs/pkgs/tools/system/dfrs/default.nix
+++ b/nixpkgs/pkgs/tools/system/dfrs/default.nix
@@ -18,5 +18,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/anthraxx/dfrs";
     license = licenses.mit;
     maintainers = with maintainers; [ wamserma ];
+    mainProgram = "dfrs";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/disk-filltest/default.nix b/nixpkgs/pkgs/tools/system/disk-filltest/default.nix
index ecfa14aa91be..aeef6732236f 100644
--- a/nixpkgs/pkgs/tools/system/disk-filltest/default.nix
+++ b/nixpkgs/pkgs/tools/system/disk-filltest/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ caadar ];
     platforms = platforms.all;
+    mainProgram = "disk-filltest";
   };
 
 }
diff --git a/nixpkgs/pkgs/tools/system/dog/default.nix b/nixpkgs/pkgs/tools/system/dog/default.nix
index 6d15f5bbd52b..b8ed50c0c63e 100644
--- a/nixpkgs/pkgs/tools/system/dog/default.nix
+++ b/nixpkgs/pkgs/tools/system/dog/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ qknight ];
     platforms = platforms.all;
+    mainProgram = "dog";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/dool/default.nix b/nixpkgs/pkgs/tools/system/dool/default.nix
index 27d98a49ef7d..a54bcd4b14e8 100644
--- a/nixpkgs/pkgs/tools/system/dool/default.nix
+++ b/nixpkgs/pkgs/tools/system/dool/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ figsoda ];
     platforms = platforms.unix;
+    mainProgram = "dool";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/envconsul/default.nix b/nixpkgs/pkgs/tools/system/envconsul/default.nix
index 5f21a0bcafdc..f3e5609d9abd 100644
--- a/nixpkgs/pkgs/tools/system/envconsul/default.nix
+++ b/nixpkgs/pkgs/tools/system/envconsul/default.nix
@@ -29,5 +29,6 @@ buildGoModule rec {
     description = "Read and set environmental variables for processes from Consul";
     license = licenses.mpl20;
     maintainers = with maintainers; [ pradeepchhetri ];
+    mainProgram = "envconsul";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/epilys-bb/default.nix b/nixpkgs/pkgs/tools/system/epilys-bb/default.nix
index 169e10bc30c4..44a1e566c5d4 100644
--- a/nixpkgs/pkgs/tools/system/epilys-bb/default.nix
+++ b/nixpkgs/pkgs/tools/system/epilys-bb/default.nix
@@ -19,5 +19,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ cafkafk ];
     platforms = platforms.linux;
+    mainProgram = "bb";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/facter/default.nix b/nixpkgs/pkgs/tools/system/facter/default.nix
index c6c091c1fba1..02c48d302ac3 100644
--- a/nixpkgs/pkgs/tools/system/facter/default.nix
+++ b/nixpkgs/pkgs/tools/system/facter/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = [ maintainers.womfoo ];
     platforms = platforms.unix;
+    mainProgram = "facter";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/foreman/default.nix b/nixpkgs/pkgs/tools/system/foreman/default.nix
index ce2f20176290..8a7cfde32ee0 100644
--- a/nixpkgs/pkgs/tools/system/foreman/default.nix
+++ b/nixpkgs/pkgs/tools/system/foreman/default.nix
@@ -11,5 +11,6 @@ bundlerEnv {
     license = licenses.mit;
     maintainers = with maintainers; [ zimbatm ];
     platforms = ruby.meta.platforms;
+    mainProgram = "foreman";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/foremost/default.nix b/nixpkgs/pkgs/tools/system/foremost/default.nix
index 140ce91fd66c..a1a09826c537 100644
--- a/nixpkgs/pkgs/tools/system/foremost/default.nix
+++ b/nixpkgs/pkgs/tools/system/foremost/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.publicDomain;
     maintainers = [ maintainers.jiegec ];
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "foremost";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/gdmap/default.nix b/nixpkgs/pkgs/tools/system/gdmap/default.nix
index 2d5cafc4de1c..900dabf834b5 100644
--- a/nixpkgs/pkgs/tools/system/gdmap/default.nix
+++ b/nixpkgs/pkgs/tools/system/gdmap/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
+    mainProgram = "gdmap";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/gdu/default.nix b/nixpkgs/pkgs/tools/system/gdu/default.nix
index 1b6f44fd700b..ba95a6730630 100644
--- a/nixpkgs/pkgs/tools/system/gdu/default.nix
+++ b/nixpkgs/pkgs/tools/system/gdu/default.nix
@@ -55,5 +55,6 @@ buildGoModule rec {
     changelog = "https://github.com/dundee/gdu/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab zowoq ];
+    mainProgram = "gdu";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/gkraken/default.nix b/nixpkgs/pkgs/tools/system/gkraken/default.nix
index f37a21db79f4..330d9f1129f7 100644
--- a/nixpkgs/pkgs/tools/system/gkraken/default.nix
+++ b/nixpkgs/pkgs/tools/system/gkraken/default.nix
@@ -82,5 +82,6 @@ python3Packages.buildPythonApplication rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ OPNA2608 ];
     platforms = platforms.linux;
+    mainProgram = "gkraken";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/go-audit/default.nix b/nixpkgs/pkgs/tools/system/go-audit/default.nix
index 83bd7827fff5..38fd38897390 100644
--- a/nixpkgs/pkgs/tools/system/go-audit/default.nix
+++ b/nixpkgs/pkgs/tools/system/go-audit/default.nix
@@ -25,5 +25,6 @@ buildGoModule rec {
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
     platforms = platforms.linux;
+    mainProgram = "go-audit";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/gohai/default.nix b/nixpkgs/pkgs/tools/system/gohai/default.nix
index 64d051a923f2..5fa84e873ba3 100644
--- a/nixpkgs/pkgs/tools/system/gohai/default.nix
+++ b/nixpkgs/pkgs/tools/system/gohai/default.nix
@@ -27,5 +27,6 @@ buildGoModule rec {
       information. It is used by the Datadog agent to provide detailed
       system metrics.
     '';
+    mainProgram = "gohai";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/gopsuinfo/default.nix b/nixpkgs/pkgs/tools/system/gopsuinfo/default.nix
index df8cd5026eaf..b4a1003e40cf 100644
--- a/nixpkgs/pkgs/tools/system/gopsuinfo/default.nix
+++ b/nixpkgs/pkgs/tools/system/gopsuinfo/default.nix
@@ -37,5 +37,6 @@ buildGoModule rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ otini ];
     platforms = platforms.linux;
+    mainProgram = "gopsuinfo";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/gotop/default.nix b/nixpkgs/pkgs/tools/system/gotop/default.nix
index 966406971a55..9681d3286cef 100644
--- a/nixpkgs/pkgs/tools/system/gotop/default.nix
+++ b/nixpkgs/pkgs/tools/system/gotop/default.nix
@@ -49,5 +49,6 @@ buildGoModule rec {
     changelog = "https://github.com/xxxserxxx/gotop/raw/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = [ maintainers.magnetophon ];
+    mainProgram = "gotop";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/gptman/default.nix b/nixpkgs/pkgs/tools/system/gptman/default.nix
index e8fc661dd72d..3e3fc623a9e7 100644
--- a/nixpkgs/pkgs/tools/system/gptman/default.nix
+++ b/nixpkgs/pkgs/tools/system/gptman/default.nix
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/rust-disk-partition-management/gptman";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ akshgpt7 ];
+    mainProgram = "gptman";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/gt5/default.nix b/nixpkgs/pkgs/tools/system/gt5/default.nix
index edd1a8ecfd48..49d9fe651d49 100644
--- a/nixpkgs/pkgs/tools/system/gt5/default.nix
+++ b/nixpkgs/pkgs/tools/system/gt5/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [viric];
     platforms = with lib.platforms; all;
+    mainProgram = "gt5";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/gtop/default.nix b/nixpkgs/pkgs/tools/system/gtop/default.nix
index 766719dfb347..327f09a91fb3 100644
--- a/nixpkgs/pkgs/tools/system/gtop/default.nix
+++ b/nixpkgs/pkgs/tools/system/gtop/default.nix
@@ -23,5 +23,6 @@ buildNpmPackage rec {
     homepage = "https://github.com/aksakalli/gtop";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ tfc ];
+    mainProgram = "gtop";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/hardinfo/default.nix b/nixpkgs/pkgs/tools/system/hardinfo/default.nix
index 66669b5e850c..99ffe50786ec 100644
--- a/nixpkgs/pkgs/tools/system/hardinfo/default.nix
+++ b/nixpkgs/pkgs/tools/system/hardinfo/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ bjornfor ];
     platforms = [ "x86_64-linux" "i686-linux" ]; # ARMv7 and AArch64 are unsupported
+    mainProgram = "hardinfo";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/hddfancontrol/default.nix b/nixpkgs/pkgs/tools/system/hddfancontrol/default.nix
index 117acd7f7531..64409cbcdba0 100644
--- a/nixpkgs/pkgs/tools/system/hddfancontrol/default.nix
+++ b/nixpkgs/pkgs/tools/system/hddfancontrol/default.nix
@@ -30,5 +30,6 @@ python3Packages.buildPythonPackage rec {
     homepage = "https://github.com/desbma/hddfancontrol";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ benley ];
+    mainProgram = "hddfancontrol";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/hiera-eyaml/default.nix b/nixpkgs/pkgs/tools/system/hiera-eyaml/default.nix
index be6fb1c7462a..1f48d37f5847 100644
--- a/nixpkgs/pkgs/tools/system/hiera-eyaml/default.nix
+++ b/nixpkgs/pkgs/tools/system/hiera-eyaml/default.nix
@@ -13,5 +13,6 @@ bundlerEnv {
     license = licenses.mit;
     maintainers = with maintainers; [ benley nicknovitski ];
     platforms = platforms.unix;
+    mainProgram = "eyaml";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/honcho/default.nix b/nixpkgs/pkgs/tools/system/honcho/default.nix
index 1fef47933bb5..08c0fb3f6b58 100644
--- a/nixpkgs/pkgs/tools/system/honcho/default.nix
+++ b/nixpkgs/pkgs/tools/system/honcho/default.nix
@@ -34,5 +34,6 @@ python3Packages.buildPythonApplication rec {
     homepage = "https://github.com/nickstenning/honcho";
     maintainers = with maintainers; [ benley ];
     platforms = platforms.unix;
+    mainProgram = "honcho";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/hostctl/default.nix b/nixpkgs/pkgs/tools/system/hostctl/default.nix
index 9f349423f9f0..76c41d85ecdf 100644
--- a/nixpkgs/pkgs/tools/system/hostctl/default.nix
+++ b/nixpkgs/pkgs/tools/system/hostctl/default.nix
@@ -42,5 +42,6 @@ buildGoModule rec {
     homepage = "https://guumaster.github.io/hostctl/";
     license = licenses.mit;
     maintainers = with maintainers; [ blaggacao ];
+    mainProgram = "hostctl";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/hw-probe/default.nix b/nixpkgs/pkgs/tools/system/hw-probe/default.nix
index 501ae69dbfd2..8b190087ffd5 100644
--- a/nixpkgs/pkgs/tools/system/hw-probe/default.nix
+++ b/nixpkgs/pkgs/tools/system/hw-probe/default.nix
@@ -136,5 +136,6 @@ stdenv.mkDerivation rec {
     platforms = with platforms; (linux ++ freebsd ++ netbsd ++ openbsd);
     license = with licenses; [ lgpl21 bsdOriginal ];
     maintainers = with maintainers; [ rehno-lindeque  ];
+    mainProgram = "hw-probe";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/idle3tools/default.nix b/nixpkgs/pkgs/tools/system/idle3tools/default.nix
index c0386fb66bcf..d66a7f9b66a8 100644
--- a/nixpkgs/pkgs/tools/system/idle3tools/default.nix
+++ b/nixpkgs/pkgs/tools/system/idle3tools/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3;
     maintainers = with lib.maintainers; [viric];
     platforms = with lib.platforms; linux;
+    mainProgram = "idle3ctl";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/illum/default.nix b/nixpkgs/pkgs/tools/system/illum/default.nix
index c9e87bef6214..3d33be9ed635 100644
--- a/nixpkgs/pkgs/tools/system/illum/default.nix
+++ b/nixpkgs/pkgs/tools/system/illum/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.dancek ];
     license = lib.licenses.agpl3;
+    mainProgram = "illum-d";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/inxi/default.nix b/nixpkgs/pkgs/tools/system/inxi/default.nix
index b03a7c14a7d6..a376146032ac 100644
--- a/nixpkgs/pkgs/tools/system/inxi/default.nix
+++ b/nixpkgs/pkgs/tools/system/inxi/default.nix
@@ -58,5 +58,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ ];
+    mainProgram = "inxi";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/ioping/default.nix b/nixpkgs/pkgs/tools/system/ioping/default.nix
index 9af290503f49..f610258cf503 100644
--- a/nixpkgs/pkgs/tools/system/ioping/default.nix
+++ b/nixpkgs/pkgs/tools/system/ioping/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = licenses.gpl3Plus;
     homepage = "https://github.com/koct9i/ioping";
+    mainProgram = "ioping";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix b/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix
index 63300964f672..332f58749654 100644
--- a/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix
+++ b/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix
@@ -1,6 +1,10 @@
-{ lib, stdenv, fetchurl
+{ lib
+, stdenv
+, fetchurl
 , jdk
-, ant, cunit, ncurses
+, ant
+, cunit
+, ncurses
 }:
 
 stdenv.mkDerivation rec {
@@ -12,18 +16,25 @@ stdenv.mkDerivation rec {
     hash = "sha256-t16i1WqvDqr4J5sDldeUk6+DAyN/6oWGV6eME5yj+i4=";
   };
 
-  buildInputs = [ jdk ];
-  nativeBuildInputs = [ ant cunit ncurses ];
+  strictDeps = true;
+
+  buildInputs = [ cunit ncurses ];
+
+  nativeBuildInputs = [ ant jdk ];
+
+  postConfigure = ''
+    substituteInPlace default.properties \
+      --replace "javac.target.version=1.4" "javac.target.version=8"
+  '';
 
   buildPhase = ''
     runHook preBuild
 
-    export ANT_HOME=${ant}
-    export JAVA_HOME=${jdk}/lib/openjdk/jre/
+    export JAVA_HOME=${jdk}/lib/openjdk/
     export JAVA_TOOL_OPTIONS=-Djava.home=$JAVA_HOME
     export CLASSPATH=${jdk}/lib/openjdk/lib/tools.jar
 
-    ${if stdenv.isi686 then "./build32.sh" else "./build64.sh"}
+    ant -f build.xml -Dbits=${if stdenv.isi686 then "32" else "64"}
 
     runHook postBuild
   '';
@@ -46,5 +57,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ maintainers.suhr ];
+    mainProgram = "wrapper";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/jobber/default.nix b/nixpkgs/pkgs/tools/system/jobber/default.nix
index d226d82d8cd8..d9620e49977b 100644
--- a/nixpkgs/pkgs/tools/system/jobber/default.nix
+++ b/nixpkgs/pkgs/tools/system/jobber/default.nix
@@ -36,5 +36,6 @@ buildGoModule rec {
     description = "An alternative to cron, with sophisticated status-reporting and error-handling";
     license = licenses.mit;
     maintainers = with maintainers; [ urandom ];
+    mainProgram = "jobber";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/jsvc/default.nix b/nixpkgs/pkgs/tools/system/jsvc/default.nix
index 4dcc773ebf43..9d1b07895fc3 100644
--- a/nixpkgs/pkgs/tools/system/jsvc/default.nix
+++ b/nixpkgs/pkgs/tools/system/jsvc/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [ rsynnest ];
     license     = lib.licenses.asl20;
     platforms = with lib.platforms; unix;
+    mainProgram = "jsvc";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/jump/default.nix b/nixpkgs/pkgs/tools/system/jump/default.nix
index 3ff64996d013..483ea356f0e9 100644
--- a/nixpkgs/pkgs/tools/system/jump/default.nix
+++ b/nixpkgs/pkgs/tools/system/jump/default.nix
@@ -31,5 +31,6 @@ buildGoModule rec {
     homepage = "https://github.com/gsamokovarov/jump";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
+    mainProgram = "jump";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/kmon/default.nix b/nixpkgs/pkgs/tools/system/kmon/default.nix
index 4b9b2d009932..df7ccfa4cf25 100644
--- a/nixpkgs/pkgs/tools/system/kmon/default.nix
+++ b/nixpkgs/pkgs/tools/system/kmon/default.nix
@@ -30,5 +30,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ figsoda misuzu matthiasbeyer ];
+    mainProgram = "kmon";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/lact/default.nix b/nixpkgs/pkgs/tools/system/lact/default.nix
index e91326972949..16ce41007ea7 100644
--- a/nixpkgs/pkgs/tools/system/lact/default.nix
+++ b/nixpkgs/pkgs/tools/system/lact/default.nix
@@ -1,6 +1,7 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
+, blueprint-compiler
 , pkg-config
 , wrapGAppsHook
 , gdk-pixbuf
@@ -13,18 +14,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lact";
-  version = "0.4.4";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ilya-zlobintsev";
     repo = "LACT";
     rev = "v${version}";
-    hash = "sha256-5tFXwx76KudojKnynCB+cnHcClB/JJD+9ugwxHG5xy4=";
+    hash = "sha256-B3YAlEKELbHGIQ8AIvortYZsHY6wsuaFxm9lC9Uh+Zg=";
   };
 
-  cargoHash = "sha256-QnJmczOep9XtPoNolrO2DSj+g6qLLowd4rgWQilnV+U=";
+  cargoHash = "sha256-MbE6OrYJGPoQPQggxa9dssx8Nc6/5w53V58E1yLLeq0=";
 
   nativeBuildInputs = [
+    blueprint-compiler
     pkg-config
     wrapGAppsHook
   ];
@@ -53,7 +55,7 @@ rustPlatform.buildRustPackage rec {
 
     pushd $cargoDepsCopy/pciid-parser
     oldHash=$(sha256sum src/lib.rs | cut -d " " -f 1)
-    sed 's|@hwdata@|${hwdata}|g' < ${./pci-ids.patch} | patch -p1
+    substituteInPlace src/lib.rs --subst-var-by hwdata ${hwdata}
     substituteInPlace .cargo-checksum.json \
       --replace $oldHash $(sha256sum src/lib.rs | cut -d " " -f 1)
     popd
@@ -76,5 +78,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
     platforms = platforms.linux;
+    mainProgram = "lact";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/lact/pci-ids.patch b/nixpkgs/pkgs/tools/system/lact/pci-ids.patch
deleted file mode 100644
index e861ade68ace..000000000000
--- a/nixpkgs/pkgs/tools/system/lact/pci-ids.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/lib.rs
-+++ b/src/lib.rs
-@@ -18,7 +18,7 @@ use std::{
- };
- use tracing::trace;
- 
--const DB_PATHS: &[&str] = &["/usr/share/hwdata/pci.ids", "/usr/share/misc/pci.ids"];
-+const DB_PATHS: &[&str] = &["@hwdata@/share/hwdata/pci.ids"];
- #[cfg(feature = "online")]
- const URL: &str = "https://pci-ids.ucw.cz/v2.2/pci.ids";
diff --git a/nixpkgs/pkgs/tools/system/localtime/default.nix b/nixpkgs/pkgs/tools/system/localtime/default.nix
index 10ee42bf0308..bdb1fa2e7444 100644
--- a/nixpkgs/pkgs/tools/system/localtime/default.nix
+++ b/nixpkgs/pkgs/tools/system/localtime/default.nix
@@ -39,5 +39,6 @@ buildGoModule {
     maintainers = with maintainers; [ lovesegfault ];
     platforms = platforms.linux;
     license = licenses.gpl3;
+    mainProgram = "localtimed";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/logrotate/default.nix b/nixpkgs/pkgs/tools/system/logrotate/default.nix
index e7d60479a3e5..e92f34188f4f 100644
--- a/nixpkgs/pkgs/tools/system/logrotate/default.nix
+++ b/nixpkgs/pkgs/tools/system/logrotate/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.viric ];
     platforms = platforms.all;
+    mainProgram = "logrotate";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/lr/default.nix b/nixpkgs/pkgs/tools/system/lr/default.nix
index 806b329196a2..e3f62a79e4c1 100644
--- a/nixpkgs/pkgs/tools/system/lr/default.nix
+++ b/nixpkgs/pkgs/tools/system/lr/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = with maintainers; [ vikanezrimaya ];
+    mainProgram = "lr";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/lshw/default.nix b/nixpkgs/pkgs/tools/system/lshw/default.nix
index f5b4486365c3..9878f82b9d09 100644
--- a/nixpkgs/pkgs/tools/system/lshw/default.nix
+++ b/nixpkgs/pkgs/tools/system/lshw/default.nix
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ thiagokokada ];
     platforms = platforms.linux;
+    mainProgram = "lshw";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/mediawriter/default.nix b/nixpkgs/pkgs/tools/system/mediawriter/default.nix
index eaea077c8520..f0b8305bc8e8 100644
--- a/nixpkgs/pkgs/tools/system/mediawriter/default.nix
+++ b/nixpkgs/pkgs/tools/system/mediawriter/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/FedoraQt/MediaWriter/releases/tag/${version}";
     license = licenses.lgpl2Only;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "mediawriter";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/memtester/default.nix b/nixpkgs/pkgs/tools/system/memtester/default.nix
index 14b3610abe97..7753ed804e16 100644
--- a/nixpkgs/pkgs/tools/system/memtester/default.nix
+++ b/nixpkgs/pkgs/tools/system/memtester/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.dezgeg ];
     platforms = platforms.unix;
+    mainProgram = "memtester";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/minijail/default.nix b/nixpkgs/pkgs/tools/system/minijail/default.nix
index ab237dd30727..87913252ab4b 100644
--- a/nixpkgs/pkgs/tools/system/minijail/default.nix
+++ b/nixpkgs/pkgs/tools/system/minijail/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ pcarrier qyliss ];
     platforms = platforms.linux;
+    mainProgram = "minijail0";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/mlc/default.nix b/nixpkgs/pkgs/tools/system/mlc/default.nix
index 5df3579ca9a1..409738e4a353 100644
--- a/nixpkgs/pkgs/tools/system/mlc/default.nix
+++ b/nixpkgs/pkgs/tools/system/mlc/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ basvandijk ];
     platforms = with platforms; linux;
+    mainProgram = "mlc";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/monit/default.nix b/nixpkgs/pkgs/tools/system/monit/default.nix
index f1ebd6596c5b..bd36d6fa400e 100644
--- a/nixpkgs/pkgs/tools/system/monit/default.nix
+++ b/nixpkgs/pkgs/tools/system/monit/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.agpl3;
     maintainers = with lib.maintainers; [ raskin wmertens ryantm ];
     platforms = with lib; platforms.linux ++ platforms.darwin;
+    mainProgram = "monit";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/mq-cli/default.nix b/nixpkgs/pkgs/tools/system/mq-cli/default.nix
index cdbff1921a79..81adc7daa272 100644
--- a/nixpkgs/pkgs/tools/system/mq-cli/default.nix
+++ b/nixpkgs/pkgs/tools/system/mq-cli/default.nix
@@ -19,5 +19,6 @@ rustPlatform.buildRustPackage rec {
     license          = licenses.mit;
     maintainers      = with maintainers; [ tazjin ];
     platforms        = platforms.linux;
+    mainProgram      = "mq";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/nats-top/default.nix b/nixpkgs/pkgs/tools/system/nats-top/default.nix
index 49d70e0b30cf..c26c65d48a89 100644
--- a/nixpkgs/pkgs/tools/system/nats-top/default.nix
+++ b/nixpkgs/pkgs/tools/system/nats-top/default.nix
@@ -37,5 +37,6 @@ buildGoModule rec {
     changelog = "https://github.com/nats-io/nats-top/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
+    mainProgram = "nats-top";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/opencl-info/default.nix b/nixpkgs/pkgs/tools/system/opencl-info/default.nix
index 124b53512d72..fc549d2d7961 100644
--- a/nixpkgs/pkgs/tools/system/opencl-info/default.nix
+++ b/nixpkgs/pkgs/tools/system/opencl-info/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
+    mainProgram = "opencl-info";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/osquery/Use-locale.h-instead-of-removed-xlocale.h-header.patch b/nixpkgs/pkgs/tools/system/osquery/Use-locale.h-instead-of-removed-xlocale.h-header.patch
index 63dd5a387f30..6c6765309053 100644
--- a/nixpkgs/pkgs/tools/system/osquery/Use-locale.h-instead-of-removed-xlocale.h-header.patch
+++ b/nixpkgs/pkgs/tools/system/osquery/Use-locale.h-instead-of-removed-xlocale.h-header.patch
@@ -1,15 +1,21 @@
-From: Jack Baldry <jack.baldry@grafana.com>
-Date: Tue, 15 Nov 2022 14:34:33 -0400
-Subject: [PATCH] Use locale.h instead of removed xlocale.h header
-
-https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27
-
-Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
----
- libraries/cmake/source/augeas/gnulib/generated/linux/x86_64/lib/locale.h  | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
+diff --git a/libraries/cmake/source/augeas/gnulib/generated/linux/aarch64/lib/locale.h b/libraries/cmake/source/augeas/gnulib/generated/linux/aarch64/lib/locale.h
+index 4f9baece2..afe947956 100644
+--- a/libraries/cmake/source/augeas/gnulib/generated/linux/aarch64/lib/locale.h
++++ b/libraries/cmake/source/augeas/gnulib/generated/linux/aarch64/lib/locale.h
+@@ -48,9 +48,9 @@
+ /* NetBSD 5.0 mis-defines NULL.  */
+ #include <stddef.h>
+ 
+-/* Mac OS X 10.5 defines the locale_t type in <xlocale.h>.  */
++/* Mac OS X 10.5 defines the locale_t type in <locale.h>.  */
+ #if 1
+-# include <xlocale.h>
++# include <locale.h>
+ #endif
+ 
+ /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 diff --git a/libraries/cmake/source/augeas/gnulib/generated/linux/x86_64/lib/locale.h b/libraries/cmake/source/augeas/gnulib/generated/linux/x86_64/lib/locale.h
+index 4f9baece2..afe947956 100644
 --- a/libraries/cmake/source/augeas/gnulib/generated/linux/x86_64/lib/locale.h
 +++ b/libraries/cmake/source/augeas/gnulib/generated/linux/x86_64/lib/locale.h
 @@ -48,9 +48,9 @@
@@ -24,6 +30,3 @@ diff --git a/libraries/cmake/source/augeas/gnulib/generated/linux/x86_64/lib/loc
  #endif
  
  /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
--- 
-2.38.1
-
diff --git a/nixpkgs/pkgs/tools/system/osquery/default.nix b/nixpkgs/pkgs/tools/system/osquery/default.nix
index a7c8f18214fa..a5d7fa3d4413 100644
--- a/nixpkgs/pkgs/tools/system/osquery/default.nix
+++ b/nixpkgs/pkgs/tools/system/osquery/default.nix
@@ -1,6 +1,7 @@
 { lib
 , cmake
 , fetchFromGitHub
+, fetchpatch
 , git
 , llvmPackages
 , nixosTests
@@ -32,6 +33,15 @@ buildStdenv.mkDerivation rec {
     ./Remove-circular-definition-of-AUDIT_FILTER_EXCLUDE.patch
     # For current state of compilation against glibc in the clangWithLLVM toolchain, refer to the upstream issue in https://github.com/osquery/osquery/issues/7823.
     ./Remove-system-controls-table.patch
+
+    # osquery uses a vendored boost library that still relies on old standard types (e.g. `std::unary_function`)
+    # which have been removed as of C++17. The patch is already checked in upstream, but there have been no
+    # releases yet. Can likely be removed with versions > 5.10.2.
+    (fetchpatch {
+      name = "fix-build-on-clang-16.patch";
+      url  = "https://github.com/osquery/osquery/commit/222991a15b4ae0a0fb919e4965603616536e1b0a.patch";
+      hash = "sha256-PdzEoeR1LXVri1Cd+7KMhKmDC8yZhAx3f1+9tjLJKyo=";
+    })
   ];
 
 
diff --git a/nixpkgs/pkgs/tools/system/pcstat/default.nix b/nixpkgs/pkgs/tools/system/pcstat/default.nix
index 8e45896632b3..85e6c791990e 100644
--- a/nixpkgs/pkgs/tools/system/pcstat/default.nix
+++ b/nixpkgs/pkgs/tools/system/pcstat/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/tobert/pcstat";
     license = licenses.asl20;
     maintainers = with maintainers; [ aminechikhaoui ];
+    mainProgram = "pcstat";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/procodile/default.nix b/nixpkgs/pkgs/tools/system/procodile/default.nix
index 6c463b454333..3c4437ea09c4 100644
--- a/nixpkgs/pkgs/tools/system/procodile/default.nix
+++ b/nixpkgs/pkgs/tools/system/procodile/default.nix
@@ -13,5 +13,6 @@ bundlerApp {
     license     = with licenses; mit;
     maintainers = with maintainers; [ manveru nicknovitski ];
     platforms   = platforms.unix;
+    mainProgram = "procodile";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/ps_mem/default.nix b/nixpkgs/pkgs/tools/system/ps_mem/default.nix
index 8408ed5e8d18..96c21e461d4a 100644
--- a/nixpkgs/pkgs/tools/system/ps_mem/default.nix
+++ b/nixpkgs/pkgs/tools/system/ps_mem/default.nix
@@ -17,5 +17,6 @@ python3Packages.buildPythonApplication rec {
     license = licenses.lgpl21;
     maintainers = [ ];
     platforms = platforms.linux;
+    mainProgram = "ps_mem";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/psensor/default.nix b/nixpkgs/pkgs/tools/system/psensor/default.nix
index b6c6e947b0c4..47456b76f325 100644
--- a/nixpkgs/pkgs/tools/system/psensor/default.nix
+++ b/nixpkgs/pkgs/tools/system/psensor/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ];
+    mainProgram = "psensor";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/psstop/default.nix b/nixpkgs/pkgs/tools/system/psstop/default.nix
index 1d4fff918ec7..1adb6c4e5ed5 100644
--- a/nixpkgs/pkgs/tools/system/psstop/default.nix
+++ b/nixpkgs/pkgs/tools/system/psstop/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     description = "Show processes' memory usage by looking into pss"; # upstream summary
     license = licenses.gpl3;
     maintainers = with maintainers; [ dtzWill ];
+    mainProgram = "psstop";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/r10k/default.nix b/nixpkgs/pkgs/tools/system/r10k/default.nix
index 12522bd8cff1..75b75d00253e 100644
--- a/nixpkgs/pkgs/tools/system/r10k/default.nix
+++ b/nixpkgs/pkgs/tools/system/r10k/default.nix
@@ -19,5 +19,6 @@ bundlerApp {
     license     = licenses.asl20;
     maintainers = with maintainers; [ zimbatm manveru nicknovitski ];
     platforms = platforms.unix;
+    mainProgram = "r10k";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/retry/default.nix b/nixpkgs/pkgs/tools/system/retry/default.nix
index 34d4bbb13960..998ba8cb7286 100644
--- a/nixpkgs/pkgs/tools/system/retry/default.nix
+++ b/nixpkgs/pkgs/tools/system/retry/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ gfrascadorio ];
     platforms = platforms.all;
+    mainProgram = "retry";
   };
 }
 
diff --git a/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix b/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix
index f64a84c55095..b8be1adea984 100644
--- a/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix
+++ b/nixpkgs/pkgs/tools/system/rofi-systemd/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [ imalison ];
     license = lib.licenses.gpl3;
     platforms = with lib.platforms; linux;
+    mainProgram = "rofi-systemd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/runitor/default.nix b/nixpkgs/pkgs/tools/system/runitor/default.nix
index d724d4c43700..d5d2f50cc0f5 100644
--- a/nixpkgs/pkgs/tools/system/runitor/default.nix
+++ b/nixpkgs/pkgs/tools/system/runitor/default.nix
@@ -39,5 +39,6 @@ buildGoModule rec {
     '';
     license = licenses.bsd0;
     maintainers = with maintainers; [ bdd ];
+    mainProgram = "runitor";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/rwc/default.nix b/nixpkgs/pkgs/tools/system/rwc/default.nix
index 7180c2554702..19d1c1abbfec 100644
--- a/nixpkgs/pkgs/tools/system/rwc/default.nix
+++ b/nixpkgs/pkgs/tools/system/rwc/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = licenses.publicDomain;
     platforms = platforms.linux;
     maintainers = with maintainers; [ somasis ];
+    mainProgram = "rwc";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/s-tui/default.nix b/nixpkgs/pkgs/tools/system/s-tui/default.nix
index 29b37aa0b0fd..8f81ba97a0da 100644
--- a/nixpkgs/pkgs/tools/system/s-tui/default.nix
+++ b/nixpkgs/pkgs/tools/system/s-tui/default.nix
@@ -32,5 +32,6 @@ python3Packages.buildPythonPackage rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ infinisil ];
     broken = stdenv.isDarwin; # https://github.com/amanusk/s-tui/issues/49
+    mainProgram = "s-tui";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/s0ix-selftest-tool/default.nix b/nixpkgs/pkgs/tools/system/s0ix-selftest-tool/default.nix
index f75ba42ac90a..535a68f6ff75 100644
--- a/nixpkgs/pkgs/tools/system/s0ix-selftest-tool/default.nix
+++ b/nixpkgs/pkgs/tools/system/s0ix-selftest-tool/default.nix
@@ -76,5 +76,6 @@ resholve.mkDerivation {
     license = licenses.gpl2Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [adamcstephens];
+    mainProgram = "s0ix-selftest-tool";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/safe-rm/default.nix b/nixpkgs/pkgs/tools/system/safe-rm/default.nix
index bac9bb356024..26b0aba9889f 100644
--- a/nixpkgs/pkgs/tools/system/safe-rm/default.nix
+++ b/nixpkgs/pkgs/tools/system/safe-rm/default.nix
@@ -32,5 +32,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Plus;
     platforms = platforms.all;
     maintainers = with maintainers; [ SuperSandro2000 ];
+    mainProgram = "safe-rm";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/safecopy/default.nix b/nixpkgs/pkgs/tools/system/safecopy/default.nix
index ff7149a4063a..2bf454777765 100644
--- a/nixpkgs/pkgs/tools/system/safecopy/default.nix
+++ b/nixpkgs/pkgs/tools/system/safecopy/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
 
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.bluescreen303 ];
+    mainProgram = "safecopy";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/setserial/default.nix b/nixpkgs/pkgs/tools/system/setserial/default.nix
index be4ffa3388e7..d224b96d89dc 100644
--- a/nixpkgs/pkgs/tools/system/setserial/default.nix
+++ b/nixpkgs/pkgs/tools/system/setserial/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     description = "Serial port configuration utility";
     platforms = lib.platforms.linux;
     license = lib.licenses.gpl2;
+    mainProgram = "setserial";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/skeema/default.nix b/nixpkgs/pkgs/tools/system/skeema/default.nix
index 86798155047c..1d5c7c4886a9 100644
--- a/nixpkgs/pkgs/tools/system/skeema/default.nix
+++ b/nixpkgs/pkgs/tools/system/skeema/default.nix
@@ -53,5 +53,6 @@ buildGoModule rec {
     homepage = "https://skeema.io/";
     license = licenses.asl20;
     maintainers = with maintainers; [ aaronjheng ];
+    mainProgram = "skeema";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/snooze/default.nix b/nixpkgs/pkgs/tools/system/snooze/default.nix
index bfe91c6e0e8d..1a719a494f84 100644
--- a/nixpkgs/pkgs/tools/system/snooze/default.nix
+++ b/nixpkgs/pkgs/tools/system/snooze/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ kaction ];
     license = licenses.cc0;
     platforms = platforms.unix;
+    mainProgram = "snooze";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/stacer/default.nix b/nixpkgs/pkgs/tools/system/stacer/default.nix
index 75068148bd74..57d376bea9fe 100644
--- a/nixpkgs/pkgs/tools/system/stacer/default.nix
+++ b/nixpkgs/pkgs/tools/system/stacer/default.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ dit7ya ];
     platforms = platforms.linux;
+    mainProgram = "stacer";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/stress-ng/default.nix b/nixpkgs/pkgs/tools/system/stress-ng/default.nix
index b6ce8fc8d8a4..40211cb4e71b 100644
--- a/nixpkgs/pkgs/tools/system/stress-ng/default.nix
+++ b/nixpkgs/pkgs/tools/system/stress-ng/default.nix
@@ -70,5 +70,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ c0bw3b ];
     platforms = platforms.unix;
+    mainProgram = "stress-ng";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/stress/default.nix b/nixpkgs/pkgs/tools/system/stress/default.nix
index ab765c820131..0334ed757b36 100644
--- a/nixpkgs/pkgs/tools/system/stress/default.nix
+++ b/nixpkgs/pkgs/tools/system/stress/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     description = "Simple workload generator for POSIX systems. It imposes a configurable amount of CPU, memory, I/O, and disk stress on the system";
     license = licenses.gpl2;
     platforms = platforms.unix;
+    mainProgram = "stress";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/stressapptest/default.nix b/nixpkgs/pkgs/tools/system/stressapptest/default.nix
index 2a1bc008e18c..3243db0d0076 100644
--- a/nixpkgs/pkgs/tools/system/stressapptest/default.nix
+++ b/nixpkgs/pkgs/tools/system/stressapptest/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
     platforms = platforms.unix;
+    mainProgram = "stressapptest";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/supercronic/default.nix b/nixpkgs/pkgs/tools/system/supercronic/default.nix
index 3b3f285a0865..6b2b4ef5c43a 100644
--- a/nixpkgs/pkgs/tools/system/supercronic/default.nix
+++ b/nixpkgs/pkgs/tools/system/supercronic/default.nix
@@ -34,5 +34,6 @@ buildGoModule rec {
     homepage = "https://github.com/aptible/supercronic";
     license = licenses.mit;
     maintainers = with maintainers; [ nasageek ];
+    mainProgram = "supercronic";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/symlinks/default.nix b/nixpkgs/pkgs/tools/system/symlinks/default.nix
index 8d1213c0afef..3a4029542559 100644
--- a/nixpkgs/pkgs/tools/system/symlinks/default.nix
+++ b/nixpkgs/pkgs/tools/system/symlinks/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ goibhniu ckauhaus ];
     platforms = platforms.unix;
+    mainProgram = "symlinks";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/syslog-ng/default.nix b/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
index f511323f9e55..299988b8367c 100644
--- a/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
+++ b/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
@@ -59,13 +59,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "syslog-ng";
-  version = "4.4.0";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "syslog-ng";
     repo = "syslog-ng";
     rev = "syslog-ng-${version}";
-    hash = "sha256-NXwd4dyPfnHO3yjl3GPAMQYqenfpp7xFOil2G1e66w4=";
+    hash = "sha256-cWlTGACuHm8o2563Axh43Ks7EhYok6+V9mOkrYp4km8=";
+    fetchSubmodules = true;
   };
   nativeBuildInputs = [ autoreconfHook autoconf-archive pkg-config which bison flex libxslt perl ];
 
diff --git a/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix b/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix
index ef7f5b039cfb..cb319fbd52d8 100644
--- a/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix
+++ b/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     homepage = "https://github.com/parse-nl/SystemdJournal2Gelf";
     license = licenses.bsd2;
     maintainers = with maintainers; [ fadenb fpletz ];
+    mainProgram = "SystemdJournal2Gelf";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/thermald/default.nix b/nixpkgs/pkgs/tools/system/thermald/default.nix
index 9f667bb4203e..193287b022d2 100644
--- a/nixpkgs/pkgs/tools/system/thermald/default.nix
+++ b/nixpkgs/pkgs/tools/system/thermald/default.nix
@@ -70,5 +70,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = with maintainers; [ abbradar ];
+    mainProgram = "thermald";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/thinkfan/default.nix b/nixpkgs/pkgs/tools/system/thinkfan/default.nix
index dc6920a97bdc..17887cc7bdf5 100644
--- a/nixpkgs/pkgs/tools/system/thinkfan/default.nix
+++ b/nixpkgs/pkgs/tools/system/thinkfan/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/vmatare/thinkfan";
     maintainers = with lib.maintainers; [ domenkozar rnhmjoj ];
     platforms = lib.platforms.linux;
+    mainProgram = "thinkfan";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/tm/default.nix b/nixpkgs/pkgs/tools/system/tm/default.nix
index 19ade9b929cb..129630596373 100644
--- a/nixpkgs/pkgs/tools/system/tm/default.nix
+++ b/nixpkgs/pkgs/tools/system/tm/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ viric ];
     platforms = platforms.all;
+    mainProgram = "tm";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/tp-auto-kbbl/default.nix b/nixpkgs/pkgs/tools/system/tp-auto-kbbl/default.nix
index fa257fc2a361..60bd8dcc6410 100644
--- a/nixpkgs/pkgs/tools/system/tp-auto-kbbl/default.nix
+++ b/nixpkgs/pkgs/tools/system/tp-auto-kbbl/default.nix
@@ -29,5 +29,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ sebtm ];
     platforms = platforms.linux;
+    mainProgram = "tp-auto-kbbl";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/ts/default.nix b/nixpkgs/pkgs/tools/system/ts/default.nix
index df19955b6076..843249f911e8 100644
--- a/nixpkgs/pkgs/tools/system/ts/default.nix
+++ b/nixpkgs/pkgs/tools/system/ts/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ viric ];
     platforms = platforms.all;
+    mainProgram = "ts";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/ttop/default.nix b/nixpkgs/pkgs/tools/system/ttop/default.nix
deleted file mode 100644
index ceea0e215b1f..000000000000
--- a/nixpkgs/pkgs/tools/system/ttop/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, nimPackages, fetchFromGitHub, testers }:
-
-nimPackages.buildNimPackage (finalAttrs: {
-  pname = "ttop";
-  version = "1.2.7";
-  nimBinOnly = true;
-
-  src = fetchFromGitHub {
-    owner = "inv2004";
-    repo = "ttop";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-oPdaUqh6eN1X5kAYVvevOndkB/xnQng9QVLX9bu5P5E=";
-  };
-
-  buildInputs = with nimPackages; [ asciigraph illwill jsony parsetoml zippy ];
-
-  nimFlags = [
-    "-d:NimblePkgVersion=${finalAttrs.version}"
-  ];
-
-  passthru.tests = {
-    version = testers.testVersion {
-      package = finalAttrs.finalPackage;
-    };
-  };
-
-  meta = with lib; {
-    description = "Top-like system monitoring tool";
-    homepage = "https://github.com/inv2004/ttop";
-    changelog = "https://github.com/inv2004/ttop/releases/tag/${finalAttrs.src.rev}";
-    license = licenses.mit;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ figsoda sikmir ];
-  };
-})
diff --git a/nixpkgs/pkgs/tools/system/tuptime/default.nix b/nixpkgs/pkgs/tools/system/tuptime/default.nix
index b49063d68093..d93f1a346ca6 100644
--- a/nixpkgs/pkgs/tools/system/tuptime/default.nix
+++ b/nixpkgs/pkgs/tools/system/tuptime/default.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.all;
     maintainers = [ maintainers.evils ];
+    mainProgram = "tuptime";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/ufiformat/default.nix b/nixpkgs/pkgs/tools/system/ufiformat/default.nix
index 5b778c5230e3..52204a073ae7 100644
--- a/nixpkgs/pkgs/tools/system/ufiformat/default.nix
+++ b/nixpkgs/pkgs/tools/system/ufiformat/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.amarshall ];
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
+    mainProgram = "ufiformat";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/undaemonize/default.nix b/nixpkgs/pkgs/tools/system/undaemonize/default.nix
index 50ae366d10bd..83007db867dc 100644
--- a/nixpkgs/pkgs/tools/system/undaemonize/default.nix
+++ b/nixpkgs/pkgs/tools/system/undaemonize/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation {
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.canndrew ];
     platforms = lib.platforms.linux;
+    mainProgram = "undaemonize";
   };
 }
 
diff --git a/nixpkgs/pkgs/tools/system/vbetool/default.nix b/nixpkgs/pkgs/tools/system/vbetool/default.nix
index ebdeae60c386..8cc7b338ca96 100644
--- a/nixpkgs/pkgs/tools/system/vbetool/default.nix
+++ b/nixpkgs/pkgs/tools/system/vbetool/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
     license = licenses.gpl2;
+    mainProgram = "vbetool";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/wsysmon/default.nix b/nixpkgs/pkgs/tools/system/wsysmon/default.nix
index 96c3cc30587e..8f03fdf90ccd 100644
--- a/nixpkgs/pkgs/tools/system/wsysmon/default.nix
+++ b/nixpkgs/pkgs/tools/system/wsysmon/default.nix
@@ -49,5 +49,6 @@ stdenv.mkDerivation rec {
     license = [ licenses.mit ];
     platforms = platforms.linux;
     maintainers = with maintainers; [ totoroot ];
+    mainProgram = "WSysMon";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/xe/default.nix b/nixpkgs/pkgs/tools/system/xe/default.nix
index 133c7d873619..2a8231b7fb03 100644
--- a/nixpkgs/pkgs/tools/system/xe/default.nix
+++ b/nixpkgs/pkgs/tools/system/xe/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     license = licenses.publicDomain;
     platforms = platforms.all;
     maintainers = with maintainers; [ ];
+    mainProgram = "xe";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/yeshup/default.nix b/nixpkgs/pkgs/tools/system/yeshup/default.nix
index 113d17b09b53..723021d0ee74 100644
--- a/nixpkgs/pkgs/tools/system/yeshup/default.nix
+++ b/nixpkgs/pkgs/tools/system/yeshup/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.cc-by-sa-30; # From Stackoverflow answer
     maintainers = with maintainers; [ obadz ];
+    mainProgram = "yeshup";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/zfxtop/default.nix b/nixpkgs/pkgs/tools/system/zfxtop/default.nix
index 0ffbeac5e638..5c216c7ca0cb 100644
--- a/nixpkgs/pkgs/tools/system/zfxtop/default.nix
+++ b/nixpkgs/pkgs/tools/system/zfxtop/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/ssleert/zfxtop";
     license = licenses.bsd2;
     maintainers = with maintainers; [ wozeparrot ];
+    mainProgram = "zfxtop";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/zps/default.nix b/nixpkgs/pkgs/tools/system/zps/default.nix
index 91ce2ed8f6a8..776a53cdc72c 100644
--- a/nixpkgs/pkgs/tools/system/zps/default.nix
+++ b/nixpkgs/pkgs/tools/system/zps/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ figsoda ];
     platforms = platforms.linux;
+    mainProgram = "zps";
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/zx/default.nix b/nixpkgs/pkgs/tools/system/zx/default.nix
index 857661c31f2f..1dec344ed3aa 100644
--- a/nixpkgs/pkgs/tools/system/zx/default.nix
+++ b/nixpkgs/pkgs/tools/system/zx/default.nix
@@ -21,5 +21,6 @@ buildNpmPackage rec {
     homepage = "https://github.com/google/zx";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ hlolli ];
+    mainProgram = "zx";
   };
 }