about summary refs log tree commit diff
path: root/pkgs/tools/system
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/system')
-rw-r--r--pkgs/tools/system/automatic-timezoned/default.nix6
-rw-r--r--pkgs/tools/system/bfs/default.nix4
-rw-r--r--pkgs/tools/system/btop/default.nix9
-rw-r--r--pkgs/tools/system/confd/default.nix19
-rw-r--r--pkgs/tools/system/consul-template/default.nix6
-rw-r--r--pkgs/tools/system/dell-command-configure/default.nix12
-rw-r--r--pkgs/tools/system/freeipmi/default.nix4
-rw-r--r--pkgs/tools/system/goreman/default.nix1
-rw-r--r--pkgs/tools/system/illum/default.nix2
-rw-r--r--pkgs/tools/system/java-service-wrapper/default.nix4
-rw-r--r--pkgs/tools/system/journalwatch/default.nix1
-rw-r--r--pkgs/tools/system/kanata/default.nix5
-rw-r--r--pkgs/tools/system/lact/default.nix6
-rw-r--r--pkgs/tools/system/monit/default.nix2
-rw-r--r--pkgs/tools/system/natscli/default.nix6
-rw-r--r--pkgs/tools/system/netdata/go.d.plugin.nix1
-rw-r--r--pkgs/tools/system/nsc/default.nix8
-rw-r--r--pkgs/tools/system/nvtop/build-nvtop.nix90
-rw-r--r--pkgs/tools/system/nvtop/default.nix91
-rw-r--r--pkgs/tools/system/pciutils/default.nix4
-rw-r--r--pkgs/tools/system/rsyslog/default.nix5
-rw-r--r--pkgs/tools/system/s-tui/default.nix4
-rw-r--r--pkgs/tools/system/sleuthkit/default.nix76
-rw-r--r--pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--pkgs/tools/system/ts/default.nix4
-rw-r--r--pkgs/tools/system/wslu/default.nix39
-rw-r--r--pkgs/tools/system/wslu/fallback-conf-nix-store.diff22
-rw-r--r--pkgs/tools/system/zenith/default.nix1
28 files changed, 202 insertions, 234 deletions
diff --git a/pkgs/tools/system/automatic-timezoned/default.nix b/pkgs/tools/system/automatic-timezoned/default.nix
index d0f928f29291..c25decf1ae24 100644
--- a/pkgs/tools/system/automatic-timezoned/default.nix
+++ b/pkgs/tools/system/automatic-timezoned/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "automatic-timezoned";
-  version = "2.0.0";
+  version = "2.0.9";
 
   src = fetchFromGitHub {
     owner = "maxbrunet";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-t7AozR3R+msppRnHTPRy3hd2SuCR9NZdg85+FLqSWEc=";
+    sha256 = "sha256-v8oPKjMG3IRZoXSw349ftcQmjk4zojgmPoLBR6x1+9E=";
   };
 
-  cargoHash = "sha256-d+SDI5keZ044LtS/A3K26moFVQngUfNNfr33PipTTg4=";
+  cargoHash = "sha256-M7OWLPmHwG+Vt/agkq0YqKiefXsVdmeMdXI5CkxQrwg=";
 
   meta = with lib; {
     description = "Automatically update system timezone based on location";
diff --git a/pkgs/tools/system/bfs/default.nix b/pkgs/tools/system/bfs/default.nix
index db663f46d70e..ea23d7307d72 100644
--- a/pkgs/tools/system/bfs/default.nix
+++ b/pkgs/tools/system/bfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bfs";
-  version = "3.1.1";
+  version = "3.1.3";
 
   src = fetchFromGitHub {
     repo = "bfs";
     owner = "tavianator";
     rev = version;
-    hash = "sha256-lsVfsNVjFX38YaYVBJWEst3c3RhUCbK2ycteqZZUM3M=";
+    hash = "sha256-/thPPueNrYzbxxZYAqlxZ2GEsceCzd+LkI84S8AS1mo=";
   };
 
   buildInputs = [ oniguruma ] ++ lib.optionals stdenv.isLinux [ libcap acl liburing ];
diff --git a/pkgs/tools/system/btop/default.nix b/pkgs/tools/system/btop/default.nix
index 9b6956fb5780..ba5f01b843bb 100644
--- a/pkgs/tools/system/btop/default.nix
+++ b/pkgs/tools/system/btop/default.nix
@@ -9,6 +9,8 @@
 , testers
 , cudaSupport ? config.cudaSupport
 , cudaPackages
+, rocmSupport ? config.rocmSupport
+, rocmPackages
 }:
 
 stdenv.mkDerivation rec {
@@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ] ++ lib.optionals cudaSupport [
-    cudaPackages.autoAddOpenGLRunpathHook
+    cudaPackages.autoAddDriverRunpath
   ];
 
   buildInputs = lib.optionals stdenv.isDarwin [
@@ -37,6 +39,11 @@ stdenv.mkDerivation rec {
     ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc.cc} $(readlink -f $out/bin/btop)
   '';
 
+  postPhases = lib.optionals rocmSupport [ "postPatchelf" ];
+  postPatchelf = lib.optionalString rocmSupport ''
+    patchelf --add-rpath ${lib.getLib rocmPackages.rocm-smi}/lib $out/bin/btop
+  '';
+
   passthru.tests.version = testers.testVersion {
     package = btop;
   };
diff --git a/pkgs/tools/system/confd/default.nix b/pkgs/tools/system/confd/default.nix
index bdbba9bc9f21..5d4ebbed7d74 100644
--- a/pkgs/tools/system/confd/default.nix
+++ b/pkgs/tools/system/confd/default.nix
@@ -1,20 +1,23 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule {
   pname = "confd";
-  version = "0.16.0";
-  rev = "v${version}";
+  version = "0.16-unstable-2023-12-09";
 
-  goPackagePath = "github.com/kelseyhightower/confd";
-  subPackages = [ "./" ];
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "kelseyhightower";
     repo = "confd";
-    sha256 = "0q7r6dkgirnmqi3rhqdaai88jqzw52l6jdrrwsf2qq0hva09961p";
+    rev = "919444eb6cf721d198b2bb18581d0f0b3734d107";
+    hash = "sha256-/HlL+vxERSOUKIxdtlZDZrpYjGXon3KMwoYUcp8iOug=";
   };
 
+  vendorHash = null;
+
+  subPackages = [ "." ];
+
+  ldflags = [ "-s" "-w" ];
+
   meta = {
     description = "Manage local application configuration files using templates and data from etcd or consul";
     homepage = "https://github.com/kelseyhightower/confd";
diff --git a/pkgs/tools/system/consul-template/default.nix b/pkgs/tools/system/consul-template/default.nix
index ea25b0cb1955..feb15b651e1d 100644
--- a/pkgs/tools/system/consul-template/default.nix
+++ b/pkgs/tools/system/consul-template/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "consul-template";
-  version = "0.36.0";
+  version = "0.37.2";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "consul-template";
     rev = "v${version}";
-    hash = "sha256-qhncff3DAJ3fiLJRVVcRZpDmzFEQI5J1cFXnlyUJRRs=";
+    hash = "sha256-5BVOs73StkKiiLAoFjlsH/q+B4C+gCuu6ag2XJPwbIQ=";
   };
 
-  vendorHash = "sha256-nOxdhVEMepZMq51M6MDIyTxBYThrwrT0C0wdwzsjoPI=";
+  vendorHash = "sha256-oVauzk6vZJSeub55s1cTc+brDoUYwauiMSgFuN0xCw4=";
 
   # consul-template tests depend on vault and consul services running to
   # execute tests so we skip them here
diff --git a/pkgs/tools/system/dell-command-configure/default.nix b/pkgs/tools/system/dell-command-configure/default.nix
index c029a9877337..b4cd7e5dbf63 100644
--- a/pkgs/tools/system/dell-command-configure/default.nix
+++ b/pkgs/tools/system/dell-command-configure/default.nix
@@ -17,18 +17,20 @@
 # the dependencies from other pkgs.
 
 let
-  version = "4.8.0-494";
+  version = "4.11.0-6";
 
   unpacked = stdenv.mkDerivation rec {
     inherit version;
     pname = "dell-command-configure-unpacked";
 
     src = fetchurl {
-      url =
-        "https://dl.dell.com/FOLDER08911312M/1/command-configure_${version}.ubuntu20_amd64.tar.gz";
+      urls = [
+        "https://dl.dell.com/FOLDER10469726M/1/command-configure_${version}.ubuntu22_amd64.tar.gz"
+        "https://web.archive.org/web/20240228233129/https://dl.dell.com/FOLDER10469726M/1/command-configure_4.11.0-6.ubuntu22_amd64.tar.gz"
+      ];
       # The CDN blocks the Curl user-agent, so set to blank instead.
       curlOpts = ''-A=""'';
-      hash = "sha256-l5oHgDkFBF6llNsHufTmuDzjkhGmXHYXlOJ4hvZfRoE=";
+      hash = "sha256-Bwa4sYguYwEBKEJSP3wzHhzjuDeaGQN8fKeooWHX18E=";
     };
 
     dontBuild = true;
@@ -37,7 +39,7 @@ let
 
     unpackPhase = ''
       tar -xzf ${src}
-      dpkg-deb -x command-configure_${version}.ubuntu20_amd64.deb command-configure
+      dpkg-deb -x command-configure_${version}.ubuntu22_amd64.deb command-configure
       dpkg-deb -x srvadmin-hapi_9.5.0_amd64.deb srvadmin-hapi
     '';
 
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index f61e455268b7..9fe830aa4d51 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,12 +1,12 @@
 { buildPackages, fetchurl, lib, stdenv, libgcrypt, readline, libgpg-error }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.11";
+  version = "1.6.14";
   pname = "freeipmi";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${pname}-${version}.tar.gz";
-    sha256 = "sha256-ZfvWkQ/AEEV3SGlUFPJ8V1W06NdXNCISIfOFjGIwqJc=";
+    sha256 = "sha256-Gj2sXHa3zMTU+GqhK475shK673SJvwXombiau34U7bU=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/tools/system/goreman/default.nix b/pkgs/tools/system/goreman/default.nix
index 57d7b46f54cf..5b83b1885bc7 100644
--- a/pkgs/tools/system/goreman/default.nix
+++ b/pkgs/tools/system/goreman/default.nix
@@ -22,6 +22,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "foreman clone written in go language";
+    mainProgram = "goreman";
     homepage = "https://github.com/mattn/goreman";
     license = licenses.mit;
     maintainers = with maintainers; [ zimbatm ];
diff --git a/pkgs/tools/system/illum/default.nix b/pkgs/tools/system/illum/default.nix
index 3d33be9ed635..81d8bbee7b8d 100644
--- a/pkgs/tools/system/illum/default.nix
+++ b/pkgs/tools/system/illum/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     description = "Daemon that wires button presses to screen backlight level";
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.dancek ];
-    license = lib.licenses.agpl3;
+    license = lib.licenses.agpl3Plus;
     mainProgram = "illum-d";
   };
 }
diff --git a/pkgs/tools/system/java-service-wrapper/default.nix b/pkgs/tools/system/java-service-wrapper/default.nix
index 955c0fe62a7a..9578941ef9a1 100644
--- a/pkgs/tools/system/java-service-wrapper/default.nix
+++ b/pkgs/tools/system/java-service-wrapper/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "java-service-wrapper";
-  version = "3.5.54";
+  version = "3.5.56";
 
   src = fetchurl {
     url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
-    hash = "sha256-t16i1WqvDqr4J5sDldeUk6+DAyN/6oWGV6eME5yj+i4=";
+    hash = "sha256-zZfJP/uf78D/6G51Km1bNRRIv5i8x69Xw+imho4/ZpQ=";
   };
 
   strictDeps = true;
diff --git a/pkgs/tools/system/journalwatch/default.nix b/pkgs/tools/system/journalwatch/default.nix
index b732af477169..8bb9b605a8f4 100644
--- a/pkgs/tools/system/journalwatch/default.nix
+++ b/pkgs/tools/system/journalwatch/default.nix
@@ -32,6 +32,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A tool to find error messages in the systemd journal";
+    mainProgram = "journalwatch";
     homepage = "https://github.com/The-Compiler/journalwatch";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ florianjacob ];
diff --git a/pkgs/tools/system/kanata/default.nix b/pkgs/tools/system/kanata/default.nix
index eab7fb3d4b17..32ea4ce04cbb 100644
--- a/pkgs/tools/system/kanata/default.nix
+++ b/pkgs/tools/system/kanata/default.nix
@@ -23,11 +23,6 @@ rustPlatform.buildRustPackage rec {
 
   buildFeatures = lib.optional withCmd "cmd";
 
-  # Workaround for https://github.com/nixos/nixpkgs/issues/166205
-  env = lib.optionalAttrs stdenv.cc.isClang {
-    NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
-  };
-
   postInstall = ''
     install -Dm 444 assets/kanata-icon.svg $out/share/icons/hicolor/scalable/apps/kanata.svg
   '';
diff --git a/pkgs/tools/system/lact/default.nix b/pkgs/tools/system/lact/default.nix
index 16ce41007ea7..c694b96d85f5 100644
--- a/pkgs/tools/system/lact/default.nix
+++ b/pkgs/tools/system/lact/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lact";
-  version = "0.5.0";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "ilya-zlobintsev";
     repo = "LACT";
     rev = "v${version}";
-    hash = "sha256-B3YAlEKELbHGIQ8AIvortYZsHY6wsuaFxm9lC9Uh+Zg=";
+    hash = "sha256-Ts2byWYn1MwQCJPQfwTxezsa/fnwlgVOZyNDUXWgZ0s=";
   };
 
-  cargoHash = "sha256-MbE6OrYJGPoQPQggxa9dssx8Nc6/5w53V58E1yLLeq0=";
+  cargoHash = "sha256-7zGZu3q2CF/xzWjbicEb/JOt6pXEC2Skg7eR2syvUmY=";
 
   nativeBuildInputs = [
     blueprint-compiler
diff --git a/pkgs/tools/system/monit/default.nix b/pkgs/tools/system/monit/default.nix
index bd36d6fa400e..319d3492b48e 100644
--- a/pkgs/tools/system/monit/default.nix
+++ b/pkgs/tools/system/monit/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://mmonit.com/monit/";
     description = "Monitoring system";
-    license = lib.licenses.agpl3;
+    license = lib.licenses.agpl3Plus;
     maintainers = with lib.maintainers; [ raskin wmertens ryantm ];
     platforms = with lib; platforms.linux ++ platforms.darwin;
     mainProgram = "monit";
diff --git a/pkgs/tools/system/natscli/default.nix b/pkgs/tools/system/natscli/default.nix
index 97c9884f4e3d..ed4d09454d56 100644
--- a/pkgs/tools/system/natscli/default.nix
+++ b/pkgs/tools/system/natscli/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "natscli";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = "natscli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-40gKG47C8RvgPm3qJ5oNJP82efmCfrCSKVt+35jawlw=";
+    hash = "sha256-c2bFFbHKjKwkzX2Br1CC2aMh1Tz0NPVWCfPSFbu/XnU=";
   };
 
-  vendorHash = "sha256-d2JijN9OU/hQFU3Q2kEAWU0nRrPacfRWNIhEuLHjoIc=";
+  vendorHash = "sha256-ltTQWAS6OG485oj6GEpgQnnuCUunSqUtgq1/OPcjKmQ=";
 
   meta = with lib; {
     description = "NATS Command Line Interface";
diff --git a/pkgs/tools/system/netdata/go.d.plugin.nix b/pkgs/tools/system/netdata/go.d.plugin.nix
index ce53b278a9bd..910ad29c13fa 100644
--- a/pkgs/tools/system/netdata/go.d.plugin.nix
+++ b/pkgs/tools/system/netdata/go.d.plugin.nix
@@ -26,6 +26,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Netdata orchestrator for data collection modules written in go";
+    mainProgram = "godplugin";
     homepage = "https://github.com/netdata/go.d.plugin";
     changelog = "https://github.com/netdata/go.d.plugin/releases/tag/v${version}";
     license = licenses.gpl3Only;
diff --git a/pkgs/tools/system/nsc/default.nix b/pkgs/tools/system/nsc/default.nix
index bec4a3114102..8e902f7c8ab5 100644
--- a/pkgs/tools/system/nsc/default.nix
+++ b/pkgs/tools/system/nsc/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "nsc";
-  version = "2.8.5";
+  version = "2.8.6";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-9qsHZTbK2RCDiQ5wlo2D79GeI5dbCvL2LofPnF7f8Cc=";
+    hash = "sha256-t8THHXv1/u5qf0QcLQAu4fMMRiGJ+gG9Huu2NkfMIyQ=";
   };
 
   ldflags = [
@@ -23,7 +23,7 @@ buildGoModule rec {
     "-X main.builtBy=nixpkgs"
   ];
 
-  vendorHash = "sha256-B3uIFJaEsj9tpjPBiU+rXVlfcgVwZUQe3VSSoZQqBG8=";
+  vendorHash = "sha256-M/wM03SumQUAVmBM+oyQ0KpqyB741Zl5LuSmNnJ9bxg=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -44,7 +44,7 @@ buildGoModule rec {
   # the test strips table formatting from the command output in a naive way
   # that removes all the table characters, including '-'.
   # The nix build directory looks something like:
-  # /private/tmp/nix-build-nsc-2.8.5.drv-0/nsc_test2000598938/keys
+  # /private/tmp/nix-build-nsc-2.8.6.drv-0/nsc_test2000598938/keys
   # Then the `-` are removed from the path unintentionally and the test fails.
   # This should be fixed upstream to avoid mangling the path when
   # removing the table decorations from the command output.
diff --git a/pkgs/tools/system/nvtop/build-nvtop.nix b/pkgs/tools/system/nvtop/build-nvtop.nix
new file mode 100644
index 000000000000..a72ab1ce0dfd
--- /dev/null
+++ b/pkgs/tools/system/nvtop/build-nvtop.nix
@@ -0,0 +1,90 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, gtest
+, cudatoolkit
+, libdrm
+, ncurses
+, testers
+, udev
+, addOpenGLRunpath
+, amd ? false
+, intel ? false
+, msm ? false
+, nvidia ? false
+, apple ? false
+, panfrost ? false
+, panthor ? false
+, ascend ? false
+}:
+
+let
+  drm-postFixup = ''
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${lib.makeLibraryPath [ libdrm ncurses udev ]}" \
+      $out/bin/nvtop
+  '';
+  needDrm = (amd || msm || panfrost || panthor);
+in
+stdenv.mkDerivation (finalAttrs: {
+  pname = "nvtop";
+  version = "3.1.0";
+
+  src = fetchFromGitHub {
+    owner = "Syllo";
+    repo = "nvtop";
+    rev = finalAttrs.version;
+    hash = "sha256-MkkBY2PR6FZnmRMqv9MWqwPWRgixfkUQW5TWJtHEzwA=";
+  };
+
+  cmakeFlags = with lib.strings; [
+    (cmakeBool "BUILD_TESTING" true)
+    (cmakeBool "USE_LIBUDEV_OVER_LIBSYSTEMD" true)
+    (cmakeBool "AMDGPU_SUPPORT" amd)
+    (cmakeBool "NVIDIA_SUPPORT" nvidia)
+    (cmakeBool "INTEL_SUPPORT" intel)
+    (cmakeBool "APPLE_SUPPORT" apple)
+    (cmakeBool "MSM_SUPPORT" msm)
+    (cmakeBool "PANFROST_SUPPORT" panfrost)
+    (cmakeBool "PANTHOR_SUPPORT" panthor)
+    (cmakeBool "ASCEND_SUPPORT" ascend)
+  ];
+  nativeBuildInputs = [ cmake gtest ] ++ lib.optional nvidia addOpenGLRunpath;
+
+  buildInputs = with lib; [ ncurses udev ]
+    ++ optional nvidia cudatoolkit
+    ++ optional needDrm libdrm
+  ;
+
+  # this helps cmake to find <drm.h>
+  env.NIX_CFLAGS_COMPILE = lib.optionalString needDrm "-isystem ${lib.getDev libdrm}/include/libdrm";
+
+  # ordering of fixups is important
+  postFixup = (lib.optionalString needDrm drm-postFixup) + (lib.optionalString nvidia "addOpenGLRunpath $out/bin/nvtop");
+
+  doCheck = true;
+
+  passthru = {
+    tests.version = testers.testVersion {
+      inherit (finalAttrs) version;
+      package = finalAttrs.finalPackage;
+      command = "nvtop --version";
+    };
+  };
+
+  meta = with lib; {
+    description = "A (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs";
+    longDescription = ''
+      Nvtop stands for Neat Videocard TOP, a (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs.
+      It can handle multiple GPUs and print information about them in a htop familiar way.
+    '';
+    homepage = "https://github.com/Syllo/nvtop";
+    changelog = "https://github.com/Syllo/nvtop/releases/tag/${finalAttrs.version}";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ willibutz gbtb anthonyroussel ];
+    mainProgram = "nvtop";
+  };
+})
diff --git a/pkgs/tools/system/nvtop/default.nix b/pkgs/tools/system/nvtop/default.nix
index e47291207f08..f6e679b6ffef 100644
--- a/pkgs/tools/system/nvtop/default.nix
+++ b/pkgs/tools/system/nvtop/default.nix
@@ -1,83 +1,18 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, gtest
-, cudatoolkit
-, libdrm
-, ncurses
-, nvtop
-, testers
-, udev
-, addOpenGLRunpath
-, amd ? true
-, intel ? true
-, msm ? true
-, nvidia ? true
-}:
-
+{ callPackage }:
 let
-  nvidia-postFixup = "addOpenGLRunpath $out/bin/nvtop";
-  libPath = lib.makeLibraryPath [ libdrm ncurses udev ];
-  drm-postFixup = ''
-    patchelf \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${libPath}" \
-      $out/bin/nvtop
-  '';
+  # this GPU families are supported "by-default" upstream (see https://github.com/Syllo/nvtop/blob/3a69c2d060298cd6f92cb09db944eded98be1c23/CMakeLists.txt#L81)
+  # coincidentally, these families are also easy to build in nixpkgs at the moment
+  defaultGPUFamilies = [ "amd" "intel" "msm" "nvidia" "panfrost" "panthor" ];
+  # these GPU families are partially supported upstream, they are also tricky to build in nixpkgs
+  # volunteers with specific hardware needed to build and test these package variants
+  additionalGPUFamilies = [ "apple" "ascend" ];
+  defaultSupport = builtins.listToAttrs (builtins.map (gpu: { name = gpu; value = true; }) defaultGPUFamilies);
 in
-stdenv.mkDerivation rec {
-  pname = "nvtop";
-  version = "3.0.2";
-
-  src = fetchFromGitHub {
-    owner = "Syllo";
-    repo = "nvtop";
-    rev = version;
-    hash = "sha256-SHKdjzbc3ZZfOW2p8RLFRKKBfLnO+Z8/bKVxcdLLqxw=";
-  };
-
-  cmakeFlags = with lib; [
-    "-DBUILD_TESTING=ON"
-    "-DUSE_LIBUDEV_OVER_LIBSYSTEMD=ON"
-  ] ++ optional nvidia "-DNVML_INCLUDE_DIRS=${cudatoolkit}/include"
-  ++ optional nvidia "-DNVML_LIBRARIES=${cudatoolkit}/targets/x86_64-linux/lib/stubs/libnvidia-ml.so"
-  ++ optional (!amd) "-DAMDGPU_SUPPORT=OFF"
-  ++ optional (!intel) "-DINTEL_SUPPORT=OFF"
-  ++ optional (!msm) "-DMSM_SUPPORT=OFF"
-  ++ optional (!nvidia) "-DNVIDIA_SUPPORT=OFF"
-  ++ optional (amd || msm) "-DLibdrm_INCLUDE_DIRS=${libdrm}/lib/stubs/libdrm.so.2"
-  ;
-  nativeBuildInputs = [ cmake gtest ] ++ lib.optional nvidia addOpenGLRunpath;
-  buildInputs = with lib; [ ncurses udev ]
-    ++ optional nvidia cudatoolkit
-    ++ optional (amd || msm) libdrm
-  ;
-
-  # ordering of fixups is important
-  postFixup = (lib.optionalString (amd || msm) drm-postFixup) + (lib.optionalString nvidia nvidia-postFixup);
+{
+  full = callPackage ./build-nvtop.nix defaultSupport; #this package supports all default GPU families
+}
+# additional packages with only one specific GPU family support
+// builtins.listToAttrs (builtins.map (gpu: { name = gpu; value = (callPackage ./build-nvtop.nix { "${gpu}" = true; }); }) defaultGPUFamilies)
 
-  doCheck = true;
 
-  passthru = {
-    tests.version = testers.testVersion {
-      inherit version;
-      package = nvtop;
-      command = "nvtop --version";
-    };
-  };
 
-  meta = with lib; {
-    description = "A (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs";
-    longDescription = ''
-      Nvtop stands for Neat Videocard TOP, a (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs.
-      It can handle multiple GPUs and print information about them in a htop familiar way.
-    '';
-    homepage = "https://github.com/Syllo/nvtop";
-    changelog = "https://github.com/Syllo/nvtop/releases/tag/${version}";
-    license = licenses.gpl3Only;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ willibutz gbtb anthonyroussel ];
-    mainProgram = "nvtop";
-  };
-}
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 2dd628f99e94..defad03c0b6b 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pciutils";
-  version = "3.10.0"; # with release-date database
+  version = "3.11.1"; # with release-date database
 
   src = fetchurl {
     url = "mirror://kernel/software/utils/pciutils/pciutils-${version}.tar.xz";
-    sha256 = "sha256-I4ouJxZnMOU6F/4Hv60ingf6ObYYEX5ZRLbX7an7sOk=";
+    hash = "sha256-P0cq2GRHPeW6F/dlzJbvXzPhtzCRjTrdpvlFoqkpDfQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index b678f5cda2a9..865c66926259 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -61,11 +61,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rsyslog";
-  version = "8.2312.0";
+  version = "8.2402.0";
 
   src = fetchurl {
     url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
-    hash = "sha256-d0AyAGEoqJZDf1kT4TKqJ9v7k3zYhH5ElSLVoS1j0D4=";
+    hash = "sha256-rL3YV5SJ3za0o4PcaQmmG3YjgH8K/1TAYhFfLefqhbo=";
   };
 
   nativeBuildInputs = [
@@ -185,6 +185,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.rsyslog.com/";
     description = "Enhanced syslog implementation";
+    mainProgram = "rsyslogd";
     changelog = "https://raw.githubusercontent.com/rsyslog/rsyslog/v${version}/ChangeLog";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
diff --git a/pkgs/tools/system/s-tui/default.nix b/pkgs/tools/system/s-tui/default.nix
index 8f81ba97a0da..02ae09fad96a 100644
--- a/pkgs/tools/system/s-tui/default.nix
+++ b/pkgs/tools/system/s-tui/default.nix
@@ -9,11 +9,11 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "s-tui";
-  version = "1.1.4";
+  version = "1.1.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-soVrmzlVy0zrqvOclR7SfPphp4xAEHv+xdr0NN19ye0=";
+    sha256 = "sha256-nSdpnM8ubodlPwmvdmNFTn9TsS8i7lWBZ2CifMHDe1c=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/system/sleuthkit/default.nix b/pkgs/tools/system/sleuthkit/default.nix
index 175ec98fe220..934a81724446 100644
--- a/pkgs/tools/system/sleuthkit/default.nix
+++ b/pkgs/tools/system/sleuthkit/default.nix
@@ -2,37 +2,33 @@
 , stdenv
 , fetchFromGitHub
 , autoreconfHook
-, libewf
+, ant
+, jdk
+, perl
+, stripJavaArchivesHook
 , afflib
+, libewf
 , openssl
 , zlib
-, openjdk
-, perl
-, ant
 }:
 
-stdenv.mkDerivation rec {
-  version = "4.12.1";
+stdenv.mkDerivation (finalAttrs: {
   pname = "sleuthkit";
+  version = "4.12.1"; # Note: when updating don't forget to also update the rdeps outputHash
 
-  sleuthsrc = fetchFromGitHub {
+  src = fetchFromGitHub {
     owner = "sleuthkit";
     repo = "sleuthkit";
-    rev = "${pname}-${version}";
+    rev = "sleuthkit-${finalAttrs.version}";
     hash = "sha256-q51UY2lIcLijycNaq9oQIwUXpp/1mfc3oPN4syOPF44=";
   };
 
   # Fetch libraries using a fixed output derivation
-  rdeps = stdenv.mkDerivation rec {
-
-    version = "1.0";
-    pname = "sleuthkit-deps";
-    nativeBuildInputs = [
-      openjdk
-      ant
-    ];
+  rdeps = stdenv.mkDerivation {
+    name = "sleuthkit-${finalAttrs.version}-deps";
+    inherit (finalAttrs) src;
 
-    src = sleuthsrc;
+    nativeBuildInputs = [ ant jdk ];
 
     # unpack, build, install
     dontConfigure = true;
@@ -48,7 +44,6 @@ stdenv.mkDerivation rec {
     '';
 
     installPhase = ''
-      export IVY_HOME=$NIX_BUILD_TOP/.ant
       mkdir -m 755 -p $out/bindings/java
       cp -r bindings/java/lib $out/bindings/java
       mkdir -m 755 -p $out/case-uco/java
@@ -58,11 +53,23 @@ stdenv.mkDerivation rec {
     '';
 
     outputHashMode = "recursive";
-    outputHash = "0fq7v6zlgybg4v6k9wqjlk4gaqgjrpihbnr182vaqriihflav2s8";
     outputHashAlgo = "sha256";
+    outputHash = "sha256-mc/KQrwn3xpPI0ngOLcpoQDaJJm/rM8XgaX//5PiRZk=";
   };
 
-  src = sleuthsrc;
+  postUnpack = ''
+    export IVY_HOME="$NIX_BUILD_TOP/.ant"
+    export ANT_ARGS="-Doffline=true -Ddefault-jar-location=$IVY_HOME/lib"
+
+    # pre-positioning these jar files allows -Doffline=true to work
+    mkdir -p source/{bindings,case-uco}/java $IVY_HOME
+    cp -r ${finalAttrs.rdeps}/bindings/java/lib source/bindings/java
+    chmod -R 755 source/bindings/java
+    cp -r ${finalAttrs.rdeps}/case-uco/java/lib source/case-uco/java
+    chmod -R 755 source/case-uco/java
+    cp -r ${finalAttrs.rdeps}/lib $IVY_HOME
+    chmod -R 755 $IVY_HOME
+  '';
 
   postPatch = ''
     substituteInPlace tsk/img/ewf.cpp --replace libewf_handle_read_random libewf_handle_read_buffer_at_offset
@@ -72,15 +79,15 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     autoreconfHook
-    openjdk
-    perl
     ant
-    rdeps
+    jdk
+    perl
+    stripJavaArchivesHook
   ];
 
   buildInputs = [
-    libewf
     afflib
+    libewf
     openssl
     zlib
   ];
@@ -90,31 +97,16 @@ stdenv.mkDerivation rec {
     rm -rf */.libs
   '';
 
-  postUnpack = ''
-    export IVY_HOME="$NIX_BUILD_TOP/.ant"
-    export JAVA_HOME="${openjdk}"
-    export ant_args="-Doffline=true -Ddefault-jar-location=$IVY_HOME/lib"
-
-    # pre-positioning these jar files allows -Doffline=true to work
-    mkdir -p source/{bindings,case-uco}/java $IVY_HOME
-    cp -r ${rdeps}/bindings/java/lib source/bindings/java
-    chmod -R 755 source/bindings/java
-    cp -r ${rdeps}/case-uco/java/lib source/case-uco/java
-    chmod -R 755 source/case-uco/java
-    cp -r ${rdeps}/lib $IVY_HOME
-    chmod -R 755 $IVY_HOME
-  '';
-
   meta = with lib; {
     description = "A forensic/data recovery tool";
     homepage = "https://www.sleuthkit.org/";
-    changelog = "https://github.com/sleuthkit/sleuthkit/releases/tag/sleuthkit-${version}";
+    changelog = "https://github.com/sleuthkit/sleuthkit/blob/${finalAttrs.src.rev}/NEWS.txt";
     maintainers = with maintainers; [ raskin gfrascadorio ];
     platforms = platforms.linux;
     sourceProvenance = with sourceTypes; [
       fromSource
-      binaryBytecode  # dependencies
+      binaryBytecode # dependencies
     ];
     license = licenses.ipl10;
   };
-}
+})
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index f37d5f628791..81e80bd5e830 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.17.04";
+  version = "0.17.06";
 
   src = fetchFromGitHub {
     owner = "ColinIanKing";
     repo = pname;
     rev = "V${version}";
-    hash = "sha256-oD2NosZ5lswdSL1sh/nOHdRNyzrNJt+t+8r/dx9Z9/k=";
+    hash = "sha256-69Ckl3n09J25Y0hzkH/RV9hJNlSfYfoxTdWiD5gBlQQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/system/ts/default.nix b/pkgs/tools/system/ts/default.nix
index 843249f911e8..deecc9ea00c8 100644
--- a/pkgs/tools/system/ts/default.nix
+++ b/pkgs/tools/system/ts/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "ts";
-  version = "1.0";
+  version = "1.0.2";
 
   installPhase=''make install "PREFIX=$out"'';
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://viric.name/~viric/soft/ts/ts-${version}.tar.gz";
-    sha256 = "15dkzczx10fhl0zs9bmcgkxfbwq2znc7bpscljm4rchbzx7y6lsg";
+    sha256 = "sha256-9zRSrtgOL5p3ZIg+k1Oqf0DmXTwZmtHzvmD9WLWOr+w=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/system/wslu/default.nix b/pkgs/tools/system/wslu/default.nix
deleted file mode 100644
index 6337e479bb31..000000000000
--- a/pkgs/tools/system/wslu/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-}:
-
-stdenv.mkDerivation rec {
-  pname = "wslu";
-  version = "4.1.1";
-
-  src = fetchFromGitHub {
-    owner = "wslutilities";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-yhugh836BoSISbTu19ubLOrz5X31Opu5QtCR0DXrbWc=";
-  };
-
-  patches = [
-    ./fallback-conf-nix-store.diff
-  ];
-
-  postPatch = ''
-    substituteInPlace src/wslu-header \
-      --subst-var out
-  '';
-
-  makeFlags = [
-    "DESTDIR=$(out)"
-    "PREFIX="
-  ];
-
-  meta = with lib; {
-    description = "A collection of utilities for Windows Subsystem for Linux";
-    homepage = "https://github.com/wslutilities/wslu";
-    changelog = "https://github.com/wslutilities/wslu/releases/tag/v${version}";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ jamiemagee ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/system/wslu/fallback-conf-nix-store.diff b/pkgs/tools/system/wslu/fallback-conf-nix-store.diff
deleted file mode 100644
index 6315e78d7de4..000000000000
--- a/pkgs/tools/system/wslu/fallback-conf-nix-store.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/wslu-header b/src/wslu-header
-index 5f33925..159c6af 100644
---- a/src/wslu-header
-+++ b/src/wslu-header
-@@ -169,11 +169,17 @@ if [ -f "$HOME/.config/wslu/conf" ]; then
- 	debug_echo "$HOME/.config/wslu/conf found, sourcing"
- 	source "$HOME/.config/wslu/conf"
- fi
-+
- if [ -f "$HOME/.wslurc" ]; then
- 	debug_echo "$HOME/.wslurc found, sourcing"
- 	source "$HOME/.wslurc"
- fi
- 
-+if [ -f "@out@/share/wslu/conf" ]; then
-+	debug_echo "@out@/share/wslu/conf found, sourcing"
-+	source "@out@/share/wslu/conf"
-+fi
-+
- # functions
- 
- function help {
diff --git a/pkgs/tools/system/zenith/default.nix b/pkgs/tools/system/zenith/default.nix
index af8231e96c6d..7beaab4713a5 100644
--- a/pkgs/tools/system/zenith/default.nix
+++ b/pkgs/tools/system/zenith/default.nix
@@ -46,6 +46,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Sort of like top or htop but with zoom-able charts, network, and disk usage"
       + lib.optionalString nvidiaSupport ", and NVIDIA GPU usage";
+    mainProgram = "zenith";
     homepage = "https://github.com/bvaisvil/zenith";
     license = licenses.mit;
     maintainers = with maintainers; [ wegank ];