about summary refs log tree commit diff
path: root/nixpkgs/pkgs/os-specific
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/os-specific')
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/aldente/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/dark-mode-notify/default.nix40
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/raycast/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/yabai/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/default.nix46
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/alsa-plugin-conf-multilib.patch232
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix51
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-oss/default.nix31
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/default.nix27
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/wrapper.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix101
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-topology-conf/default.nix36
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix36
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix47
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/default.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bolt/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ch9344/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/displaylink/default.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/evdi/default.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix11
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/default.nix7
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/source.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/fwts/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/hid-tmff2/default.nix36
-rw-r--r--nixpkgs/pkgs/os-specific/linux/hostapd/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/intel-cmt-cat/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/isgx/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json30
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json36
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix14
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kmscon/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libnl/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libnvme/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/libselinux/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/microcode/intel.nix7
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild165
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix3
-rwxr-xr-xnixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nsncd/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pam_mktemp/default.nix48
-rw-r--r--nixpkgs/pkgs/os-specific/linux/power-profiles-daemon/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/sssd/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/systemd/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/targetcli/default.nix10
-rw-r--r--nixpkgs/pkgs/os-specific/linux/tinyalsa/default.nix37
-rw-r--r--nixpkgs/pkgs/os-specific/linux/tomb/default.nix69
-rw-r--r--nixpkgs/pkgs/os-specific/linux/uhk-agent/default.nix62
-rw-r--r--nixpkgs/pkgs/os-specific/linux/uhk-udev-rules/default.nix2
57 files changed, 492 insertions, 846 deletions
diff --git a/nixpkgs/pkgs/os-specific/darwin/aldente/default.nix b/nixpkgs/pkgs/os-specific/darwin/aldente/default.nix
index 6dd464a405f0..7ca454609aed 100644
--- a/nixpkgs/pkgs/os-specific/darwin/aldente/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/aldente/default.nix
@@ -6,11 +6,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "aldente";
-  version = "1.22.2";
+  version = "1.22.3";
 
   src = fetchurl {
     url = "https://github.com/davidwernhart/aldente-charge-limiter/releases/download/${finalAttrs.version}/AlDente.dmg";
-    hash = "sha256-bREI0RS4xvEccyw3yed5aD8oG5wmD5hyG82qW2tqlEA=";
+    hash = "sha256-pSqBDDumCbORLQ+B3skSqKmgG2KybR5Zb4ojiNQcAaM=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/os-specific/darwin/dark-mode-notify/default.nix b/nixpkgs/pkgs/os-specific/darwin/dark-mode-notify/default.nix
deleted file mode 100644
index 31d1a2c8d8b9..000000000000
--- a/nixpkgs/pkgs/os-specific/darwin/dark-mode-notify/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib
-, fetchFromGitHub
-, stdenv
-, swift
-, swiftpm
-, darwin
-}:
-
-stdenv.mkDerivation (final: {
-  pname = "dark-mode-notify";
-  version = "unstable-2022-07-18";
-
-  src = fetchFromGitHub {
-    owner = "bouk";
-    repo = "dark-mode-notify";
-    rev = "4d7fe211f81c5b67402fad4bed44995344a260d1";
-    hash = "sha256-LsAQ5v5jgJw7KsJnQ3Mh6+LNj1EMHICMoD5WzF3hRmU=";
-  };
-
-  nativeBuildInputs = [
-    swift
-    swiftpm
-  ];
-
-  buildInputs = with darwin.apple_sdk.frameworks; [
-    Foundation
-    Cocoa
-  ];
-
-  makeFlags = [ "prefix=$(out)" ];
-
-  meta = {
-    description = "Run a script whenever dark mode changes in macOS";
-    homepage = "https://github.com/bouk/dark-mode-notify";
-    # Doesn't build on x86_64 because of some CoreGraphics issue, even with SDK 11.0
-    platforms = [ "aarch64-darwin" ];
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ YorikSar ];
-  };
-})
diff --git a/nixpkgs/pkgs/os-specific/darwin/raycast/default.nix b/nixpkgs/pkgs/os-specific/darwin/raycast/default.nix
index eedc9ac87fcc..94476ef303ea 100644
--- a/nixpkgs/pkgs/os-specific/darwin/raycast/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/raycast/default.nix
@@ -6,12 +6,12 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "raycast";
-  version = "1.60.1";
+  version = "1.61.2";
 
   src = fetchurl {
     name = "Raycast.dmg";
     url = "https://releases.raycast.com/releases/${finalAttrs.version}/download?build=universal";
-    hash = "sha256-LO4EJR8+qzX17P2UpW/CiTR1BdvM8LSey0rnD6OiIU8=";
+    hash = "sha256-MHJbVIVVDcuXig3E52wCnegt1mmRh9+kYbEL6MWjdqQ=";
   };
 
   dontPatch = true;
diff --git a/nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix b/nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix
index 702da5a1718b..ab1c0b58185f 100644
--- a/nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix
@@ -22,13 +22,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "sketchybar";
-  version = "2.18.0";
+  version = "2.19.3";
 
   src = fetchFromGitHub {
     owner = "FelixKratz";
     repo = "SketchyBar";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-GeFB+eE/NW9ZopwVSmSfMK3WiJLCJNXOdmQpYc3m8WE=";
+    hash = "sha256-QT926AnV9jLc1KvYks6ukIAcMbVHOupTJWQ6vBHpcxc=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/os-specific/darwin/yabai/default.nix b/nixpkgs/pkgs/os-specific/darwin/yabai/default.nix
index 5474e8345c1a..841746957c76 100644
--- a/nixpkgs/pkgs/os-specific/darwin/yabai/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/yabai/default.nix
@@ -17,7 +17,7 @@
 
 let
   pname = "yabai";
-  version = "6.0.0";
+  version = "6.0.1";
 
   test-version = testers.testVersion {
     package = yabai;
@@ -53,7 +53,7 @@ in
 
     src = fetchzip {
       url = "https://github.com/koekeishiya/yabai/releases/download/v${version}/yabai-v${version}.tar.gz";
-      hash = "sha256-KeZ5srx9dfQN9u6Fgg9BtIhLhFWp975iz72m78bWINo=";
+      hash = "sha256-CXkGVoJcGSkooxe7eIhwaM6FkOI45NVw5jdLJAzgFBM=";
     };
 
     nativeBuildInputs = [
@@ -89,7 +89,7 @@ in
       owner = "koekeishiya";
       repo = "yabai";
       rev = "v${version}";
-      hash = "sha256-BQhFTn9KDBv9oG8kT2TFFpPZGHARg7DfN+IeQNNDE84=";
+      hash = "sha256-u+MkGd/rkT1RVkzC2IcAcFM9eClFdj3WBFnftUVwkwc=";
     };
 
     nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/default.nix
deleted file mode 100644
index 06b6ef47d430..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-firmware/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, buildPackages, stdenvNoCC, autoreconfHook, fetchurl, fetchpatch }:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "alsa-firmware";
-  version = "1.2.4";
-
-  src = fetchurl {
-    url = "mirror://alsa/firmware/alsa-firmware-${version}.tar.bz2";
-    sha256 = "sha256-tnttfQi8/CR+9v8KuIqZwYgwWjz1euLf0LzZpbNs1bs=";
-  };
-
-  patches = [
-    # fixes some includes / missing types on musl libc; should not make a difference for other platforms
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/void-linux/void-packages/ae690000017d5fd355ab397c49202426e3a01c11/srcpkgs/alsa-firmware/patches/musl.patch";
-      sha256 = "sha256-4A+TBBvpz14NwMNewLc2LQL51hnz4EZlZ44rhnx5dnc=";
-    })
-  ];
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ autoreconfHook ];
-
-  configureFlags = [
-    "--with-hotplug-dir=$(out)/lib/firmware"
-  ];
-
-  dontStrip = true;
-
-  postInstall = ''
-    # These are lifted from the Arch PKGBUILD
-    # remove files which conflicts with linux-firmware
-    rm -rf $out/lib/firmware/{ct{efx,speq}.bin,ess,korg,sb16,yamaha}
-    # remove broken symlinks (broken upstream)
-    rm -rf $out/lib/firmware/turtlebeach
-    # remove empty dir
-    rm -rf $out/bin
-  '';
-
-  meta = with lib; {
-    homepage = "http://www.alsa-project.org/";
-    description = "Soundcard firmwares from the alsa project";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ l-as ];
-  };
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/alsa-plugin-conf-multilib.patch b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/alsa-plugin-conf-multilib.patch
deleted file mode 100644
index b17df9a492e5..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/alsa-plugin-conf-multilib.patch
+++ /dev/null
@@ -1,232 +0,0 @@
-diff --git a/src/control/control.c b/src/control/control.c
-index d66ed75..42cecad 100644
---- a/src/control/control.c
-+++ b/src/control/control.c
-@@ -838,6 +838,10 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
- #ifndef PIC
- 	extern void *snd_control_open_symbols(void);
- #endif
-+
-+	snd_config_t *libs = NULL;
-+	const char *libs_lib = NULL;
-+
- 	if (snd_config_get_type(ctl_conf) != SND_CONFIG_TYPE_COMPOUND) {
- 		if (name)
- 			SNDERR("Invalid type for CTL %s definition", name);
-@@ -879,6 +883,19 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
- 					SNDERR("Invalid type for %s", id);
- 					goto _err;
- 				}
-+
-+				continue;
-+			}
-+			// Handle an array of extra libs.
-+			if (strcmp(id, "libs") == 0) {
-+				if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
-+					SNDERR("Invalid type for libs definition in CTL %s definition",
-+						str);
-+					goto _err;
-+				}
-+
-+				libs = n;
-+
- 				continue;
- 			}
- 			if (strcmp(id, "open") == 0) {
-@@ -903,7 +920,62 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
- 		open_name = buf;
- 		sprintf(buf, "_snd_ctl_%s_open", str);
- 	}
--	if (!lib) {
-+
-+#ifndef PIC
-+	snd_control_open_symbols();
-+#endif
-+
-+	// Normal alsa behaviour when there is no libs array.
-+	if (!libs) {
-+		if (lib) {
-+			open_func = snd_dlobj_cache_get(lib, open_name,
-+				SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 1);
-+		}
-+	}
-+	// Handle libs array.
-+	// Suppresses error messages if any function is loaded successfully.
-+	else {
-+		if (lib) {
-+			open_func = snd_dlobj_cache_get(lib, open_name,
-+				SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 0);
-+		}
-+
-+		if (!open_func) {
-+			snd_config_for_each(i, next, libs) {
-+				snd_config_t *n = snd_config_iterator_entry(i);
-+
-+				err = snd_config_get_string(n, &libs_lib);
-+				if (err < 0) {
-+					SNDERR("Invalid entry in CTL %s libs definition", str);
-+					goto _err;
-+				}
-+
-+				if (!open_func) {
-+					open_func = snd_dlobj_cache_get(libs_lib, open_name,
-+						SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 0);
-+				}
-+			}
-+		}
-+
-+		// Print error messages.
-+		if (!open_func) {
-+			if (lib) {
-+				SNDERR("Either %s cannot be opened or %s was not defined inside",
-+					lib, open_name);
-+			}
-+
-+			snd_config_for_each(i, next, libs) {
-+				snd_config_t *n = snd_config_iterator_entry(i);
-+
-+				snd_config_get_string(n, &libs_lib);
-+				SNDERR("Either %s cannot be opened or %s was not defined inside",
-+					libs_lib, open_name);
-+			}
-+		}
-+	}
-+
-+	// Look in ALSA_PLUGIN_DIR iff we found nowhere else to look.
-+	if (!lib && (!libs || !libs_lib)) {
- 		const char *const *build_in = build_in_ctls;
- 		while (*build_in) {
- 			if (!strcmp(*build_in, str))
-@@ -919,12 +991,11 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
- 			lib = buf1;
- 			sprintf(buf1, "%s/libasound_module_ctl_%s.so", ALSA_PLUGIN_DIR, str);
- 		}
--	}
--#ifndef PIC
--	snd_control_open_symbols();
--#endif
--	open_func = snd_dlobj_cache_get(lib, open_name,
-+
-+		open_func = snd_dlobj_cache_get(lib, open_name,
- 			SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 1);
-+	}
-+
- 	if (open_func) {
- 		err = open_func(ctlp, name, ctl_root, ctl_conf, mode);
- 		if (err >= 0) {
-diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
-index 2e24338..7f489f4 100644
---- a/src/pcm/pcm.c
-+++ b/src/pcm/pcm.c
-@@ -2116,6 +2116,10 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
- #ifndef PIC
- 	extern void *snd_pcm_open_symbols(void);
- #endif
-+
-+	snd_config_t *libs = NULL;
-+	const char *libs_lib = NULL;
-+
- 	if (snd_config_get_type(pcm_conf) != SND_CONFIG_TYPE_COMPOUND) {
- 		char *val;
- 		id = NULL;
-@@ -2160,6 +2164,19 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
- 					SNDERR("Invalid type for %s", id);
- 					goto _err;
- 				}
-+
-+				continue;
-+			}
-+			// Handle an array of extra libs.
-+			if (strcmp(id, "libs") == 0) {
-+				if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
-+					SNDERR("Invalid type for libs definition in PCM %s definition",
-+						str);
-+					goto _err;
-+				}
-+
-+				libs = n;
-+
- 				continue;
- 			}
- 			if (strcmp(id, "open") == 0) {
-@@ -2184,7 +2201,62 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
- 		open_name = buf;
- 		sprintf(buf, "_snd_pcm_%s_open", str);
- 	}
--	if (!lib) {
-+
-+#ifndef PIC
-+	snd_pcm_open_symbols();	/* this call is for static linking only */
-+#endif
-+
-+	// Normal alsa behaviour when there is no libs array.
-+	if (!libs) {
-+		if (lib) {
-+			open_func = snd_dlobj_cache_get(lib, open_name,
-+				SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 1);
-+		}
-+	}
-+	// Handle libs array.
-+	// Suppresses error messages if any function is loaded successfully.
-+	else {
-+		if (lib) {
-+			open_func = snd_dlobj_cache_get(lib, open_name,
-+				SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 0);
-+		}
-+
-+		if (!open_func) {
-+			snd_config_for_each(i, next, libs) {
-+				snd_config_t *n = snd_config_iterator_entry(i);
-+
-+				err = snd_config_get_string(n, &libs_lib);
-+				if (err < 0) {
-+					SNDERR("Invalid entry in PCM %s libs definition", str);
-+					goto _err;
-+				}
-+
-+				if (!open_func) {
-+					open_func = snd_dlobj_cache_get(libs_lib, open_name,
-+						SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 0);
-+				}
-+			}
-+		}
-+
-+		// Print error messages.
-+		if (!open_func) {
-+			if (lib) {
-+				SNDERR("Either %s cannot be opened or %s was not defined inside",
-+					lib, open_name);
-+			}
-+
-+			snd_config_for_each(i, next, libs) {
-+				snd_config_t *n = snd_config_iterator_entry(i);
-+
-+				snd_config_get_string(n, &libs_lib);
-+				SNDERR("Either %s cannot be opened or %s was not defined inside",
-+					libs_lib, open_name);
-+			}
-+		}
-+	}
-+
-+	// Look in ALSA_PLUGIN_DIR iff we found nowhere else to look.
-+	if (!lib && (!libs || !libs_lib)) {
- 		const char *const *build_in = build_in_pcms;
- 		while (*build_in) {
- 			if (!strcmp(*build_in, str))
-@@ -2200,12 +2272,11 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
- 			lib = buf1;
- 			sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
- 		}
--	}
--#ifndef PIC
--	snd_pcm_open_symbols();	/* this call is for static linking only */
--#endif
--	open_func = snd_dlobj_cache_get(lib, open_name,
-+
-+		open_func = snd_dlobj_cache_get(lib, open_name,
- 			SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 1);
-+	}
-+
- 	if (open_func) {
- 		err = open_func(pcmp, name, pcm_root, pcm_conf, stream, mode);
- 		if (err >= 0) {
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
deleted file mode 100644
index f0eb34906073..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, alsa-topology-conf
-, alsa-ucm-conf
-, testers
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "alsa-lib";
-  version = "1.2.9";
-
-  src = fetchurl {
-    url = "mirror://alsa/lib/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2";
-    hash = "sha256-3JxkP9xMz9BXLMaFhY3UHgivtYPzBGCzF+QYgnX2FbI=";
-  };
-
-  patches = [
-    # Add a "libs" field to the syntax recognized in the /etc/asound.conf file.
-    # The nixos modules for pulseaudio, jack, and pipewire are leveraging this
-    # "libs" field to declare locations for both native and 32bit plugins, in
-    # order to support apps with 32bit sound running on x86_64 architecture.
-    ./alsa-plugin-conf-multilib.patch
-  ];
-
-  enableParallelBuilding = true;
-
-  postInstall = ''
-    ln -s ${alsa-ucm-conf}/share/alsa/{ucm,ucm2} $out/share/alsa
-    ln -s ${alsa-topology-conf}/share/alsa/topology $out/share/alsa
-  '';
-
-  outputs = [ "out" "dev" ];
-
-  passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
-
-  meta = with lib; {
-    homepage = "http://www.alsa-project.org/";
-    description = "ALSA, the Advanced Linux Sound Architecture libraries";
-
-    longDescription = ''
-      The Advanced Linux Sound Architecture (ALSA) provides audio and
-      MIDI functionality to the Linux-based operating system.
-    '';
-
-    license = licenses.lgpl21Plus;
-    pkgConfigModules = [ "alsa" "alsa-topology" ];
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ l-as ];
-  };
-})
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-oss/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-oss/default.nix
deleted file mode 100644
index f600b52c5f3a..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-oss/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{lib, stdenv, fetchurl, alsa-lib, gettext, ncurses, libsamplerate}:
-
-stdenv.mkDerivation rec {
-  pname = "alsa-oss";
-  version = "1.1.8";
-
-  src = fetchurl {
-    url = "mirror://alsa/oss-lib/${pname}-${version}.tar.bz2";
-    sha256 = "13nn6n6wpr2sj1hyqx4r9nb9bwxnhnzw8r2f08p8v13yjbswxbb4";
-  };
-
-  buildInputs = [ alsa-lib ncurses libsamplerate ];
-  nativeBuildInputs = [ gettext ];
-
-  configureFlags = [ "--disable-xmlto" ];
-
-  installFlags = [ "ASOUND_STATE_DIR=$(TMPDIR)/dummy" ];
-
-  meta = with lib; {
-    homepage = "http://www.alsa-project.org/";
-    description = "ALSA, the Advanced Linux Sound Architecture alsa-oss emulation";
-
-    longDescription = ''
-      The Advanced Linux Sound Architecture (ALSA) provides audio and
-      MIDI functionality to the Linux-based operating system.
-    '';
-
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/default.nix
deleted file mode 100644
index ababb767955b..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, lib, pkg-config, alsa-lib, libogg, libpulseaudio ? null, libjack2 ? null }:
-
-stdenv.mkDerivation rec {
-  pname = "alsa-plugins";
-  version = "1.2.7.1";
-
-  src = fetchurl {
-    url = "mirror://alsa/plugins/${pname}-${version}.tar.bz2";
-    hash = "sha256-jDN4FJVLt8FnRWczpgRhQqKTHxLsy6PsKkrmGKNDJRE=";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-
-  # ToDo: a52, etc.?
-  buildInputs =
-    [ alsa-lib libogg ]
-    ++ lib.optional (libpulseaudio != null) libpulseaudio
-    ++ lib.optional (libjack2 != null) libjack2;
-
-  meta = with lib; {
-    description = "Various plugins for ALSA";
-    homepage = "http://alsa-project.org/";
-    license = licenses.lgpl21;
-    maintainers = [ maintainers.marcweber ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/wrapper.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/wrapper.nix
deleted file mode 100644
index 992f4886e262..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-plugins/wrapper.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ stdenv
-, alsa-plugins
-, writeShellScriptBin
-}:
-let
-  arch = if stdenv.hostPlatform.system == "i686-linux" then "32" else "64";
-in
-writeShellScriptBin "ap${arch}" ''
-  ALSA_PLUGIN_DIRS=${alsa-plugins}/lib/alsa-lib "$@"
-''
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix
deleted file mode 100644
index 10f7f2e64d04..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix
+++ /dev/null
@@ -1,101 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, alsa-lib
-, fltk13
-, gtk2
-, gtk3
-, pkg-config
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "alsa-tools";
-  version = "1.2.5";
-
-  src = fetchurl {
-    url = "mirror://alsa/tools/alsa-tools-${finalAttrs.version}.tar.bz2";
-    hash = "sha256-NacQJ6AfTX3kci4iNSDpQN5os8VwtsZxaRVnrij5iT4=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-  ];
-
-  buildInputs = [
-    alsa-lib
-    fltk13
-    gtk2
-    gtk3
-  ];
-
-  env.TOOLSET = lib.concatStringsSep " " [
-    "as10k1"
-    "echomixer"
-    "envy24control"
-    "hda-verb"
-    "hdajackretask"
-    "hdajacksensetest"
-    "hdspconf"
-    "hdsploader"
-    "hdspmixer"
-    # "hwmixvolume" # Requires old, unmaintained, abandoned EOL Python 2
-    "ld10k1"
-    # "qlo10k1" # needs Qt
-    "mixartloader"
-    "pcxhrloader"
-    "rmedigicontrol"
-    "sb16_csp"
-    # "seq" # mysterious configure error
-    "sscape_ctl"
-    "us428control"
-    # "usx2yloader" # tries to create /etc/hotplug/usb
-    "vxloader"
-  ];
-
-  configurePhase = ''
-    runHook preConfigure
-
-    for tool in $TOOLSET; do
-      echo "Configuring $tool:"
-      pushd "$tool"
-      ./configure --prefix="$out"
-      popd
-    done
-
-    runHook postConfigure
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    for tool in $TOOLSET; do
-      echo "Building $tool:"
-      pushd "$tool"
-      make
-      popd
-    done
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    for tool in $TOOLSET; do
-      echo "Installing $tool:"
-      pushd "$tool"
-      make install
-      popd
-    done
-
-    runHook postInstall
-  '';
-
-  meta = {
-    homepage = "http://www.alsa-project.org/";
-    description = "ALSA Tools";
-    license = lib.licenses.gpl2Plus;
-    maintainers = [ lib.maintainers.AndersonTorres ];
-    platforms = lib.platforms.linux;
-  };
-})
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-topology-conf/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-topology-conf/default.nix
deleted file mode 100644
index e0dfc879fbc9..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-topology-conf/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  name = "alsa-topology-conf-${version}";
-  version = "1.2.5.1";
-
-  src = fetchurl {
-    url = "mirror://alsa/lib/${name}.tar.bz2";
-    sha256 = "sha256-98W64VRavNc4JLyX9OcsNA4Rq+oYi6DxwG9eCtd2sXk=";
-  };
-
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/share/alsa
-    cp -r topology $out/share/alsa
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "https://www.alsa-project.org/";
-    description = "ALSA topology configuration files";
-
-    longDescription = ''
-      The Advanced Linux Sound Architecture (ALSA) provides audio and
-      MIDI functionality to the Linux-based operating system.
-    '';
-
-    license = licenses.bsd3;
-    maintainers = [ maintainers.roastiek ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix
deleted file mode 100644
index 75ec2932c890..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-ucm-conf/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "alsa-ucm-conf";
-  version = "1.2.9";
-
-  src = fetchurl {
-    url = "mirror://alsa/lib/${pname}-${version}.tar.bz2";
-    hash = "sha256-N09oM7/XfQpGdeSqK/t53v6FDlpGpdRUKkWWL0ueJyo=";
-  };
-
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/share/alsa
-    cp -r ucm ucm2 $out/share/alsa
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "https://www.alsa-project.org/";
-    description = "ALSA Use Case Manager configuration";
-
-    longDescription = ''
-      The Advanced Linux Sound Architecture (ALSA) provides audio and
-      MIDI functionality to the Linux-based operating system.
-    '';
-
-    license = licenses.bsd3;
-    maintainers = [ maintainers.roastiek ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix
deleted file mode 100644
index da559b5fcc1c..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{lib, stdenv, fetchurl, fetchpatch, alsa-lib, gettext, makeWrapper, ncurses, libsamplerate, pciutils, which, fftw}:
-
-stdenv.mkDerivation rec {
-  pname = "alsa-utils";
-  version = "1.2.10";
-
-  src = fetchurl {
-    url = "mirror://alsa/utils/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-EEti7H8Cp84WynefSBVhbfHMIZM1A3g6kQe1lE+DBjo=";
-  };
-  patches = [
-    # Backport fixes for musl libc. Remove on next release
-    (fetchpatch {
-      url = "https://github.com/alsa-project/alsa-utils/commit/8c229270f6bae83b705a03714c46067a7aa57b02.patch";
-      hash = "sha256-sUaBHY8EHf4805nF6tyNV5jYXcJf3O+r04VXFu4dUCE=";
-    })
-    (fetchpatch {
-      url = "https://github.com/alsa-project/alsa-utils/commit/0925ad7f09b2dc77015784f9ac2f5e34dd0dd5c3.patch";
-      hash = "sha256-bgGU9On82AUbOjo+KN6WfuhqUAWM87OHnKN7plpG284=";
-    })
-  ];
-
-  nativeBuildInputs = [ gettext makeWrapper ];
-  buildInputs = [ alsa-lib ncurses libsamplerate fftw ];
-
-  configureFlags = [ "--disable-xmlto" "--with-udev-rules-dir=$(out)/lib/udev/rules.d" ];
-
-  installFlags = [ "ASOUND_STATE_DIR=$(TMPDIR)/dummy" ];
-
-  postFixup = ''
-    mv $out/bin/alsa-info.sh $out/bin/alsa-info
-    wrapProgram $out/bin/alsa-info --prefix PATH : "${lib.makeBinPath [ which pciutils ]}"
-  '';
-
-  meta = with lib; {
-    homepage = "http://www.alsa-project.org/";
-    description = "ALSA, the Advanced Linux Sound Architecture utils";
-    longDescription = ''
-      The Advanced Linux Sound Architecture (ALSA) provides audio and
-      MIDI functionality to the Linux-based operating system.
-    '';
-
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/default.nix
deleted file mode 100644
index 15077cc8d77a..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ lib, pkgs }:
-
-lib.makeScope pkgs.newScope (self: {
-  alsa-firmware = self.callPackage ./alsa-firmware { };
-  alsa-lib = self.callPackage ./alsa-lib { };
-  alsa-oss = self.callPackage ./alsa-oss { };
-  alsa-plugins = self.callPackage ./alsa-plugins { };
-  alsa-plugins-wrapper = self.callPackage ./alsa-plugins/wrapper.nix { };
-  alsa-tools = self.callPackage ./alsa-tools { };
-  alsa-topology-conf = self.callPackage ./alsa-topology-conf { };
-  alsa-ucm-conf = self.callPackage ./alsa-ucm-conf { };
-  alsa-utils = self.callPackage ./alsa-utils { fftw = pkgs.fftwFloat; };
-})
diff --git a/nixpkgs/pkgs/os-specific/linux/bolt/default.nix b/nixpkgs/pkgs/os-specific/linux/bolt/default.nix
index 748db1a62b5b..df618cbff5a1 100644
--- a/nixpkgs/pkgs/os-specific/linux/bolt/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/bolt/default.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
     dbus
     gobject-introspection
     umockdev
-    (python3.pythonForBuild.withPackages
+    (python3.pythonOnBuildForHost.withPackages
       (p: [ p.pygobject3 p.dbus-python p.python-dbusmock ]))
   ];
 
diff --git a/nixpkgs/pkgs/os-specific/linux/ch9344/default.nix b/nixpkgs/pkgs/os-specific/linux/ch9344/default.nix
index 8f258d227bb1..e7da864b90c1 100644
--- a/nixpkgs/pkgs/os-specific/linux/ch9344/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ch9344/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://www.wch-ic.com/";
+    homepage = "https://www.wch-ic.com/";
     downloadPage = "https://www.wch.cn/downloads/CH9344SER_LINUX_ZIP.html";
     description = "WCH CH9344/CH348 UART driver";
     longDescription = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix b/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix
index 463795936e72..e71062e8ac47 100644
--- a/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix
@@ -12,11 +12,11 @@
 }:
 
 let
-  arch =
-    if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
-    else if stdenv.hostPlatform.system == "i686-linux" then "x86"
+  bins =
+    if stdenv.hostPlatform.system == "x86_64-linux" then "x64-ubuntu-1604"
+    else if stdenv.hostPlatform.system == "i686-linux" then "x86-ubuntu-1604"
+    else if stdenv.hostPlatform.system == "aarch64-linux" then "aarch64-linux-gnu"
     else throw "Unsupported architecture";
-  bins = "${arch}-ubuntu-1604";
   libPath = lib.makeLibraryPath [ stdenv.cc.cc util-linux libusb1 evdi ];
 
 in
@@ -80,7 +80,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.displaylink.com/";
     license = licenses.unfree;
     maintainers = with maintainers; [ abbradar ];
-    platforms = [ "x86_64-linux" "i686-linux" ];
+    platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
     hydraPlatforms = [];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/evdi/default.nix b/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
index ebb6fbe2cc6b..bd34ac0db4d3 100644
--- a/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
@@ -16,7 +16,11 @@ stdenv.mkDerivation rec {
     hash = "sha256-em3Y56saB7K3Wr31Y0boc38xGb57gdveN0Cstgy8y20=";
   };
 
-  env.NIX_CFLAGS_COMPILE = "-Wno-error -Wno-error=sign-compare";
+  env.NIX_CFLAGS_COMPILE = toString [
+    "-Wno-error"
+    "-Wno-error=discarded-qualifiers" # for Linux 4.19 compatibility
+    "-Wno-error=sign-compare"
+  ];
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
@@ -43,6 +47,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = with licenses; [ lgpl21Only gpl2Only ];
     homepage = "https://www.displaylink.com/";
-    broken = kernel.kernelOlder "4.19" || stdenv.isAarch64;
+    broken = kernel.kernelOlder "4.19" || kernel.kernelAtLeast "6.6";
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 3def168d2fa9..f4914d843272 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -8,6 +8,7 @@
 , gobject-introspection
 , gettext
 , libgudev
+, libdrm
 , polkit
 , libxmlb
 , glib
@@ -18,14 +19,12 @@
 , curl
 , libjcat
 , elfutils
-, libsmbios
 , efivar
 , valgrind
 , meson
 , libuuid
 , colord
 , ninja
-, gcab
 , gnutls
 , protobufc
 , python3
@@ -124,7 +123,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "fwupd";
-  version = "1.9.6";
+  version = "1.9.7";
 
   # libfwupd goes to lib
   # daemon, plug-ins and libfwupdplugin go to out
@@ -135,7 +134,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "fwupd";
     repo = "fwupd";
     rev = finalAttrs.version;
-    hash = "sha256-9mA6gETnOmmkI+cdF0kP1moPV6DDvASq1JXarupM/tU=";
+    hash = "sha256-NhVCIjkwoTZptctIrkU9HgXzjr+KCUZfEKcjoYgAEdM=";
   };
 
   patches = [
@@ -169,7 +168,6 @@ stdenv.mkDerivation (finalAttrs: {
     gettext
     shared-mime-info
     valgrind
-    gcab
     gnutls
     protobufc # for protoc
     python
@@ -183,6 +181,7 @@ stdenv.mkDerivation (finalAttrs: {
     gusb
     sqlite
     libarchive
+    libdrm
     curl
     elfutils
     libgudev
@@ -202,8 +201,6 @@ stdenv.mkDerivation (finalAttrs: {
     libcbor
     libqmi
     xz # for liblzma
-  ] ++ lib.optionals haveDell [
-    libsmbios
   ] ++ lib.optionals haveFlashrom [
     flashrom
   ];
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
index b76a77fb3a60..283e04b47545 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
@@ -4,6 +4,8 @@ in {
   stdenvNoCC,
   fetchzip,
   lib,
+  rdfind,
+  which,
 }:
 
 stdenvNoCC.mkDerivation rec {
@@ -15,6 +17,11 @@ stdenvNoCC.mkDerivation rec {
     hash = source.sourceHash;
   };
 
+  nativeBuildInputs = [
+    rdfind
+    which
+  ];
+
   installFlags = [ "DESTDIR=$(out)" ];
 
   # Firmware blobs do not need fixing and should not be modified
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/source.nix b/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/source.nix
index 722970e8945c..afe371a8887b 100644
--- a/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/source.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/source.nix
@@ -1,7 +1,6 @@
-# This file is autogenerated! Run ./update.sh to regenerate.
 {
-  version = "20231030";
-  revision = "20231030";
-  sourceHash = "sha256-ocqikHJfvs4gWqnBeLgSnXHzUTPi8l8cSfNarhD8G3w=";
-  outputHash = "sha256-vaMYuAqkkuyY+bAxAe0uAokWZ7HlaR62UTu4L8yOofs=";
+  version = "20231111";
+  revision = "20231111";
+  sourceHash = "sha256-S9Xkj2CbamHxqjTDfqRJu91MNrSntxrQ7HYyhvdH6Jo=";
+  outputHash = "sha256-Qrz9fSHUQf0Gl8pfol4yfe95sD8DQV/+riT1NCFussQ=";
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/fwts/default.nix b/nixpkgs/pkgs/os-specific/linux/fwts/default.nix
index d44db7adf159..43f7ed5cb3a1 100644
--- a/nixpkgs/pkgs/os-specific/linux/fwts/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/fwts/default.nix
@@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
       --replace "/usr/bin/lspci"      "${pciutils}/bin/lspci" \
       --replace "/usr/sbin/dmidecode" "${dmidecode}/bin/dmidecode" \
       --replace "/usr/bin/iasl"       "${acpica-tools}/bin/iasl"
+
+    substituteInPlace src/lib/src/fwts_devicetree.c \
+                      src/devicetree/dt_base/dt_base.c \
+      --replace "dtc -I" "${dtc}/bin/dtc -I"
   '';
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/hid-tmff2/default.nix b/nixpkgs/pkgs/os-specific/linux/hid-tmff2/default.nix
new file mode 100644
index 000000000000..ac297c78e10e
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/hid-tmff2/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, fetchFromGitHub, kernel }:
+
+stdenv.mkDerivation {
+  pname = "hid-tmff2";
+  # https://github.com/Kimplul/hid-tmff2/blob/ca168637fbfb085ebc9ade0c47fa0653dac5d25b/dkms/dkms-install.sh#L12
+  version = "0.81";
+
+  src = fetchFromGitHub {
+    owner = "Kimplul";
+    repo = "hid-tmff2";
+    rev = "ca168637fbfb085ebc9ade0c47fa0653dac5d25b";
+    hash = "sha256-Nm5m5xjwJGy+ia4nTkvPZynIxUj6MVGGbSNmIcIpziM=";
+    # For hid-tminit. Source: https://github.com/scarburato/hid-tminit
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  makeFlags = kernel.makeFlags ++ [
+    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
+
+  installFlags = [
+    "INSTALL_MOD_PATH=${placeholder "out"}"
+  ];
+
+  postPatch = "sed -i '/depmod -A/d' Makefile";
+
+  meta = with lib; {
+    description = "A linux kernel module for Thrustmaster T300RS, T248 and TX(experimental)";
+    homepage = "https://github.com/Kimplul/hid-tmff2";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.rayslash ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix b/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix
index a35bd38add27..e4b41f3a0c82 100644
--- a/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix
@@ -103,7 +103,7 @@ stdenv.mkDerivation rec {
     homepage = "https://w1.fi/hostapd/";
     description = "A user space daemon for access point and authentication servers";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ninjatrappeur hexa ];
+    maintainers = with maintainers; [ hexa ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/intel-cmt-cat/default.nix b/nixpkgs/pkgs/os-specific/linux/intel-cmt-cat/default.nix
index 9429bd28306d..62e6149b6f13 100644
--- a/nixpkgs/pkgs/os-specific/linux/intel-cmt-cat/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/intel-cmt-cat/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "23.08";
+  version = "23.11";
   pname = "intel-cmt-cat";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "intel-cmt-cat";
     rev = "v${version}";
-    sha256 = "sha256-T97cTJLGSJgOoQFgL/lI+AldqsCEcHilhTTDZy+pmU8=";
+    sha256 = "sha256-/OSU/7QR8NAjcAIo+unVQfORvCH5VpjfRn5sIrCxwbE=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/os-specific/linux/isgx/default.nix b/nixpkgs/pkgs/os-specific/linux/isgx/default.nix
index 6e97532ee5dd..c49a0a7b913d 100644
--- a/nixpkgs/pkgs/os-specific/linux/isgx/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/isgx/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, kernel, kernelAtLeast }:
+{ stdenv, lib, fetchFromGitHub, kernel }:
 
 stdenv.mkDerivation rec {
   name = "isgx-${version}-${kernel.version}";
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://github.com/intel/linux-sgx-driver";
     license = with licenses; [ bsd3 /* OR */ gpl2Only ];
-    maintainers = with maintainers; [ oxalica ];
+    maintainers = [ ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
index fb583551f1b6..1ce9aa72a484 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
@@ -562,6 +562,13 @@ let
       KEYS_REQUEST_CACHE               = whenAtLeast "5.3" yes;
       # randomized slab caches
       RANDOM_KMALLOC_CACHES            = whenAtLeast "6.6" yes;
+
+      # NIST SP800-90A DRBG modes - enabled by most distributions
+      #   and required by some out-of-tree modules (ShuffleCake)
+      #   This does not include the NSA-backdoored Dual-EC mode from the same NIST publication.
+      CRYPTO_DRBG_HASH                 = yes;
+      CRYPTO_DRBG_CTR                  = yes;
+
     } // optionalAttrs stdenv.hostPlatform.isx86_64 {
       # Enable Intel SGX
       X86_SGX     = whenAtLeast "5.11" yes;
@@ -715,7 +722,6 @@ let
       ZSWAP          = option yes;
       ZPOOL          = yes;
       ZBUD           = option yes;
-      ZSMALLOC       = module;
     };
 
     brcmfmac = {
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
index 33b7f88493df..d8f8bb2fa73f 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -52,21 +52,31 @@
     "6.1": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.1.60-hardened1.patch",
-            "sha256": "1k0807jpjljf2fcjxnmvd9rb8y8xqj21x2qn4yd72c58jkii52qq",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.60-hardened1/linux-hardened-6.1.60-hardened1.patch"
+            "name": "linux-hardened-6.1.61-hardened1.patch",
+            "sha256": "0d9zhh32dx1q828q50kmznmsa6yinppbklhgg8ix7b7k23857ha6",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.61-hardened1/linux-hardened-6.1.61-hardened1.patch"
         },
-        "sha256": "02pvymr1dgd36mp7yikxqqv0sfrpwi1grnvxvx6jbbx6wmx0wljq",
-        "version": "6.1.60"
+        "sha256": "1kk4d7ph6pvgdrdmaklg15wf58nw9n7yqgkag7jdvqinzh99sb5d",
+        "version": "6.1.61"
+    },
+    "6.4": {
+        "patch": {
+            "extra": "-hardened1",
+            "name": "linux-hardened-6.4.16-hardened1.patch",
+            "sha256": "10lydnnhhq9ynng1gfaqh1mncsb0dmr27zzcbygs1xigy2bl70n9",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.4.16-hardened1/linux-hardened-6.4.16-hardened1.patch"
+        },
+        "sha256": "0zgj1z97jyx7wf12zrnlcp0mj4cl43ais9qsy6dh1jwylf2fq9ln",
+        "version": "6.4.16"
     },
     "6.5": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.5.8-hardened1.patch",
-            "sha256": "09dvz9massj8rwrwvr2n1y2v8k4c3ic8gfrp049p7g0npzag2cwl",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.5.8-hardened1/linux-hardened-6.5.8-hardened1.patch"
+            "name": "linux-hardened-6.5.10-hardened1.patch",
+            "sha256": "0p2lj7ryiizr1sxvm2kgds3l8sg9fns35y2fcyqq61lg7ymzj1fi",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.5.10-hardened1/linux-hardened-6.5.10-hardened1.patch"
         },
-        "sha256": "05zpdh4dxaadq52hlczdmwb7bsqfm3q45v7bdqbsmplhgn4wm719",
-        "version": "6.5.8"
+        "sha256": "12sswml8jvabv6bqx35lg3jj6gq8jjk365rghjngdy5d0j34jpx1",
+        "version": "6.5.10"
     }
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json b/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json
index 082223924995..5201a4248f85 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -1,42 +1,42 @@
 {
     "testing": {
-        "version": "6.6-rc7",
-        "hash": "sha256:1zzd32ya4hldfywicgpnc2cyd412s7q9c31qvxx2nl9nkx11xsxv"
+        "version": "6.7-rc1",
+        "hash": "sha256:1a071vvmm08sp48d0arqzcmqnz5xdb1vflfhxcqwmpzaabjrgadk"
     },
     "6.5": {
-        "version": "6.5.10",
-        "hash": "sha256:12sswml8jvabv6bqx35lg3jj6gq8jjk365rghjngdy5d0j34jpx1"
+        "version": "6.5.11",
+        "hash": "sha256:06dmb4hbwrms0lp4axphwgj8wbnzsym70sx55lxr501b53wlmqif"
     },
     "6.4": {
         "version": "6.4.16",
         "hash": "sha256:0zgj1z97jyx7wf12zrnlcp0mj4cl43ais9qsy6dh1jwylf2fq9ln"
     },
     "6.1": {
-        "version": "6.1.61",
-        "hash": "sha256:1kk4d7ph6pvgdrdmaklg15wf58nw9n7yqgkag7jdvqinzh99sb5d"
+        "version": "6.1.62",
+        "hash": "sha256:1v453q4sf0j8708ivs1zmdf645hgimqvxfc8xz7czgnnmipn3zdr"
     },
     "5.15": {
-        "version": "5.15.137",
-        "hash": "sha256:1xxjbxldrhmnh2q6rykpxyfbj8xqgl82q30n8sfavrzr14bb4jcp"
+        "version": "5.15.138",
+        "hash": "sha256:1ajaxy97gx0c9cdxiyxa49ykfsykir22i9abfrcizh71ci0yb15g"
     },
     "5.10": {
-        "version": "5.10.199",
-        "hash": "sha256:1h944syk7n6c4j1djlx19n77alzwbxcdza77c9ykicgfynhpgsm0"
+        "version": "5.10.200",
+        "hash": "sha256:012i41bj8rcqn0vhfxrwq3gg82nb6pp2cwq8n146wj47pwgrcbcx"
     },
     "5.4": {
-        "version": "5.4.259",
-        "hash": "sha256:195v4fidavzm637glj6580006mrcaygnbj4za874imb62bxf9rpz"
+        "version": "5.4.260",
+        "hash": "sha256:1zpbaipd2j3idj8h9iznlj0ywcq5nkhwj707a1f9ixf82h3q4c4q"
     },
     "4.19": {
-        "version": "4.19.297",
-        "hash": "sha256:0c9xxqgv2i36hrr06dwz7f3idc04xpv0a5pxg08xdh03cnyf12cx"
+        "version": "4.19.298",
+        "hash": "sha256:0mhgq6hdcls1af7nj999x1mds5b37s7vwin8nsb4q0lnx2y1da4x"
     },
     "4.14": {
-        "version": "4.14.328",
-        "hash": "sha256:1igcpvnhwwrczfdsafmszvi0456k7f6j4cgpfw6v6afw09p95d8x"
+        "version": "4.14.329",
+        "hash": "sha256:1dvb4xf0b7snabznl7bg7gga7ffdmywy8vr8q65pzl9yf6fnhdny"
     },
     "6.6": {
-        "version": "6.6",
-        "hash": "sha256:1l2nisx9lf2vdgkq910n5ldbi8z25ky1zvl67zgwg2nxcdna09nr"
+        "version": "6.6.1",
+        "hash": "sha256:0d42b1hbvv9w3y3q4wydr6il0g5a823n54a06p4p5vcpgkadf7ns"
     }
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix
index e9af8a2be35c..9cf5f46cfb80 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "19438";
-    sha256 = "14bdnxw23d0pl53b1rn7g69wn9a7hr6c0q8zd5p6j2aap0i7c4a4";
+    rev = "19441";
+    sha256 = "1z0x8cw9nr7qf5qh3xjf6rg20q0i79bg71lik847sabyb6vcrk0z";
   }
 , ...
 }:
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index 3f2efbb87e83..65ca352b53b8 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.197-rt96"; # updated by ./update-rt.sh
+  version = "5.10.199-rt97"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -17,14 +17,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "1awkm7lln5gf6kld9z5h4mg39bd778jsdswwlwb7iv7bn03lafhq";
+    sha256 = "1h944syk7n6c4j1djlx19n77alzwbxcdza77c9ykicgfynhpgsm0";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "0pd1yhr154zl5jfmchzdfv27cbnn8h23x7am0dmqwr1ylwg4bvbi";
+      sha256 = "13k7md0a63q4r5vqqvbszmg3kzp5np0hdaj1siyl4yvs9j78d03s";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
index 43969919fb0f..82b17d461d2b 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
@@ -3,14 +3,14 @@
 let
   # These names are how they are designated in https://xanmod.org.
   ltsVariant = {
-    version = "6.1.60";
-    hash = "sha256-KYCeONJxyFPee4pvBLRw/MBTzPU7D2oZCrAVr3t/yPM=";
+    version = "6.1.62";
+    hash = "sha256-fo5OQ/MZ+QVdCmLzX0OgFUBedfqrkqp+Ev081RVdtWw=";
     variant = "lts";
   };
 
   mainVariant = {
-    version = "6.5.9";
-    hash = "sha256-5SFPBsDTmq7tA6pyM7rbIjBPAtPbqhUl6VfA2z5baPA=";
+    version = "6.5.11";
+    hash = "sha256-1bb5LG6JvqX5eNSe2Xyu86HxaqkUVkKUf1H3T7bFkGE=";
     variant = "main";
   };
 
@@ -44,9 +44,9 @@ let
       # WineSync driver for fast kernel-backed Wine
       WINESYNC = module;
 
-      # Preemptive Full Tickless Kernel at 500Hz
-      HZ = freeform "500";
-      HZ_500 = yes;
+      # Preemptive Full Tickless Kernel at 250Hz
+      HZ = freeform "250";
+      HZ_250 = yes;
       HZ_1000 = no;
     };
 
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix b/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix
index 5b418b6a7cc6..456a6c7c27dd 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix
@@ -4,16 +4,16 @@ let
   # comments with variant added for update script
   # ./update-zen.py zen
   zenVariant = {
-    version = "6.6"; #zen
+    version = "6.6.1"; #zen
     suffix = "zen1"; #zen
-    sha256 = "0rda54h5lg2llbwkj2h4mqfshjyha1dzlcwhx099is7g2lfzksxx"; #zen
+    sha256 = "13m820wggf6pkp351w06mdn2lfcwbn08ydwksyxilqb88vmr0lpq"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
-    version = "6.5.10"; #lqx
-    suffix = "lqx1"; #lqx
-    sha256 = "10bny5x2a3brfamyajvnl75h7s64vvmymgnvwgaq82q4bmsfcdd1"; #lqx
+    version = "6.5.11"; #lqx
+    suffix = "lqx2"; #lqx
+    sha256 = "0rak2ald95bwb5qlp8pf2g93a0gkv8rypiv5s8dpds3cilwmxrg9"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
diff --git a/nixpkgs/pkgs/os-specific/linux/kmscon/default.nix b/nixpkgs/pkgs/os-specific/linux/kmscon/default.nix
index 0d146613542d..4762b63eda9b 100644
--- a/nixpkgs/pkgs/os-specific/linux/kmscon/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kmscon/default.nix
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "KMS/DRM based System Console";
-    homepage = "http://www.freedesktop.org/wiki/Software/kmscon/";
+    homepage = "https://www.freedesktop.org/wiki/Software/kmscon/";
     license = licenses.mit;
     maintainers = with maintainers; [ omasanori ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/os-specific/linux/libnl/default.nix b/nixpkgs/pkgs/os-specific/linux/libnl/default.nix
index c9eea70db992..5248c263b3b2 100644
--- a/nixpkgs/pkgs/os-specific/linux/libnl/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libnl/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   postBuild = lib.optionalString (pythonSupport) ''
       cd python
-      ${python.pythonForBuild.interpreter} setup.py install --prefix=../pythonlib
+      ${python.pythonOnBuildForHost.interpreter} setup.py install --prefix=../pythonlib
       cd -
   '';
 
diff --git a/nixpkgs/pkgs/os-specific/linux/libnvme/default.nix b/nixpkgs/pkgs/os-specific/linux/libnvme/default.nix
index 564fa4537c8f..129bb49e81e9 100644
--- a/nixpkgs/pkgs/os-specific/linux/libnvme/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libnvme/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
     ninja
     perl # for kernel-doc
     pkg-config
-    python3.pythonForBuild
+    python3.pythonOnBuildForHost
     swig
   ];
 
diff --git a/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix b/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix
index ec6d3f5aa4bf..695012effc5c 100644
--- a/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
   ] ++ optionals stdenv.hostPlatform.isStatic [
     "DISABLE_SHARED=y"
   ] ++ optionals enablePython [
-    "PYTHON=${python3.pythonForBuild.interpreter}"
+    "PYTHON=${python3.pythonOnBuildForHost.interpreter}"
     "PYTHONLIBDIR=$(py)/${python3.sitePackages}"
   ];
 
diff --git a/nixpkgs/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix b/nixpkgs/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix
index 471882ae1b42..01607be58fc4 100644
--- a/nixpkgs/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "linux-wifi-hotspot";
-  version = "4.5.0";
+  version = "4.6.0";
 
   src = fetchFromGitHub {
     owner = "lakinduakash";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cCVJPEAZZzOGCf45oo1J7wWtYn/IJfcASHnKR+R0Ge4=";
+    sha256 = "sha256-u9OdSpdxnjHOrK6PP/SFvGRtezssoZSoJFGVdRbOIPU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix b/nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix
index 70d84d6311c4..96477c5f4426 100644
--- a/nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     changelog = "https://linuxcontainers.org/lxcfs/news/";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ mic92 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix b/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix
index b58d471680b5..de51beb2cc18 100644
--- a/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix
+++ b/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microcode-intel";
-  version = "20230808";
+  version = "20231114";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "Intel-Linux-Processor-Microcode-Data-Files";
     rev = "microcode-${version}";
-    hash = "sha256-xyb4FUV7vG2YSuN4H6eBaf8c4At70NZiUuepbgg2HNg=";
+    hash = "sha256-cZ7APDjwjarPCzk1HWxqIXdGwNOl6HG0KSCtffmEhx0=";
   };
 
   nativeBuildInputs = [ iucode-tool libarchive ];
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://www.intel.com/";
+    homepage = "https://www.intel.com/";
+    changelog = "https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/${src.rev}";
     description = "Microcode for Intel processors";
     license = licenses.unfreeRedistributableFirmware;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild
new file mode 100644
index 000000000000..84e8d223bd80
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild
@@ -0,0 +1,165 @@
+#!/usr/bin/env bash
+
+# We're faking a `nix build` command-line to re-use Nix's own completion
+# for the few options passed through to Nix.
+_nixos-rebuild_pretend-nix() {
+  COMP_LINE="nix build ${COMP_LINE}"
+  # number of prepended chars
+  (( COMP_POINT = COMP_POINT + 10))
+
+  COMP_WORDS=(
+    nix build
+    "${COMP_WORDS[@]}"
+  )
+  # Add the amount of prepended words
+  (( COMP_CWORD = COMP_CWORD + 2))
+  _complete_nix "nix"
+}
+
+_nixos-rebuild() {
+  local curr="$2"
+  local prev="$3"
+  local subcommandGiven=0
+  local word
+  local subcommand
+
+  __load_completion nix
+
+  # Arrays are re-ordered by the completion, so it's fine to sort them in logical chunks
+  local all_args=(
+    --verbose -v
+
+    # nixos-rebuild options
+    --fast
+    --no-build-nix
+    --profile-name -p # name
+    --rollback
+    --specialisation -c # name
+    --use-remote-sudo
+    --build-host # host
+    --target-host # host
+    # Used with list-generations
+    --json
+
+    # generation switching options
+    --install-bootloader
+
+    # nix-channel options
+    --upgrade
+    --upgrade-all
+
+    # flakes options
+    --commit-lock-file
+    --flake # flake-uri
+    --override-input # input-name flake-uri
+    --recreate-lock-file
+    --update-input
+    --no-flake
+    --no-registries
+    --no-update-lock-file
+    --no-write-lock-file
+
+    # Nix-copy options
+    --use-substitutes --substitute-on-destination -s
+
+    # Nix options
+    --option
+    --impure
+    --builders # builder-spec
+    --show-trace
+    --keep-failed -K
+    --keep-going -k
+    --max-jobs -j # number
+    --log-format # format
+    -I # NIX_PATH
+  )
+
+  local all_subcommands=(
+    boot
+    build
+    build-vm
+    build-vm-with-bootloader
+    dry-activate
+    dry-build
+    edit
+    list-generations
+    switch
+    test
+  )
+
+  # Suggest arguments that can be consumed under some conditions only
+  for word in "${COMP_WORDS[@]}"; do
+    for subcommand in "${all_subcommands[@]}"; do
+      if [[ "$word" == "$subcommand" ]]; then
+        subcommandGiven=1
+      fi
+    done
+  done
+
+  # Fake out a way to complete the second arg to some options
+  case "${COMP_WORDS[COMP_CWORD-2]}" in
+    "--override-input")
+      prev="--override-input_2"
+      ;;
+    "--option")
+      prev="--option_2"
+      ;;
+  esac
+
+  case "$prev" in
+    --max-jobs|-j)
+      COMPREPLY=( )
+      ;;
+
+    --profile-name|-p)
+      if [[ "$curr" == "" ]]; then
+        COMPREPLY=( /nix/var/nix/profiles/* )
+      else
+        COMPREPLY=( "$curr"* )
+      fi
+      ;;
+
+    --build-host|--target-host|-t|-h)
+      _known_hosts_real "$curr"
+    ;;
+
+    --specialisation|-c)
+      COMPREPLY=()
+      ;;
+
+    -I)
+      _nixos-rebuild_pretend-nix
+      ;;
+    --builders)
+      _nixos-rebuild_pretend-nix
+      ;;
+    --flake)
+      _nixos-rebuild_pretend-nix
+      ;;
+    --override-input)
+      _nixos-rebuild_pretend-nix
+      ;;
+    --override-input_2)
+      _nixos-rebuild_pretend-nix
+      ;;
+    --log-format)
+      _nixos-rebuild_pretend-nix
+      ;;
+    --option)
+      _nixos-rebuild_pretend-nix
+      ;;
+    --option_2)
+      _nixos-rebuild_pretend-nix
+      ;;
+
+    *)
+      if [[ "$curr" == -* ]] || (( subcommandGiven )); then
+        COMPREPLY=( $(compgen -W "${all_args[*]}" -- "$2") )
+      else
+        COMPREPLY=( $(compgen -W "${all_subcommands[*]}" -- "$2") )
+      fi
+    ;;
+  esac
+}
+
+complete -F _nixos-rebuild nixos-rebuild
diff --git a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix
index 4ff0c8c32913..6c150b1b8cdb 100644
--- a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix
@@ -28,6 +28,9 @@ substituteAll {
   ];
   postInstall = ''
     installManPage ${./nixos-rebuild.8}
+
+    installShellCompletion \
+      --bash ${./_nixos-rebuild}
   '';
 
   # run some a simple installer tests to make sure nixos-rebuild still works for them
diff --git a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
index 9e75db6d27b5..dddae8da2068 100755
--- a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
+++ b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
@@ -117,11 +117,11 @@ while [ "$#" -gt 0 ]; do
         specialisation="$1"
         shift 1
         ;;
-      --build-host|h)
+      --build-host)
         buildHost="$1"
         shift 1
         ;;
-      --target-host|t)
+      --target-host)
         targetHost="$1"
         shift 1
         ;;
diff --git a/nixpkgs/pkgs/os-specific/linux/nsncd/default.nix b/nixpkgs/pkgs/os-specific/linux/nsncd/default.nix
index aadecf3f72a8..81590a6f8692 100644
--- a/nixpkgs/pkgs/os-specific/linux/nsncd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nsncd/default.nix
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
     '';
     homepage = "https://github.com/twosigma/nsncd";
     license = licenses.asl20;
-    maintainers = with maintainers; [ flokli ninjatrappeur ];
+    maintainers = with maintainers; [ flokli picnoir ];
     # never built on aarch64-darwin, x86_64-darwin since first introduction in nixpkgs
     broken = stdenv.isDarwin;
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
index e6f366f3433f..7fec21a8237b 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -59,11 +59,11 @@ rec {
   # Vulkan developer beta driver
   # See here for more information: https://developer.nvidia.com/vulkan-driver
   vulkan_beta = generic rec {
-    version = "535.43.15";
+    version = "535.43.16";
     persistencedVersion = "535.98";
     settingsVersion = "535.98";
-    sha256_64bit = "sha256-DyEBrVV9DmeeOU2C0eitQLh9mGo4kxG3xxRsImrIFyo=";
-    openSha256 = "sha256-eW0Z70BTF0j8TmsOiVzbLOyiyScR/7hgEp9GYI9RZbA=";
+    sha256_64bit = "sha256-c93CJSMPlGZgk+jhp9zTHCKSZ0LdnJu+ifLo+qMvIIk=";
+    openSha256 = "sha256-509KaBavGIOOpzdrdJuAR1PYq91Clwo8n+nhruxO1wM=";
     settingsSha256 = "sha256-jCRfeB1w6/dA27gaz6t5/Qo7On0zbAPIi74LYLel34s=";
     persistencedSha256 = "sha256-WviDU6B50YG8dO64CGvU3xK8WFUX8nvvVYm/fuGyroM=";
     url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitString "." version)}-linux";
diff --git a/nixpkgs/pkgs/os-specific/linux/pam_mktemp/default.nix b/nixpkgs/pkgs/os-specific/linux/pam_mktemp/default.nix
new file mode 100644
index 000000000000..04ba58785efa
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/pam_mktemp/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, pam
+, e2fsprogs
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pam_mktemp";
+  version = "1.1.1";
+
+  src = fetchurl {
+    url = "https://openwall.com/pam/modules/${pname}/${pname}-${version}.tar.gz";
+    hash = "sha256-Zs+AwYQ5yjRW25ZALy7qwUsaBQPMHRvn8rFtXwefPz0=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "inherit_private_prefix_from_home.patch";
+      url = "https://git.altlinux.org/gears/p/pam_mktemp.git?p=pam_mktemp.git;a=commitdiff_plain;h=3d2e8ad6da6a44c047bf7a8afa1e1bb2a6e36a55";
+      hash = "sha256-xe44fi2xH9jqlStlIR4QPB0KS7spflRdOsvNPEmxJpU";
+     })
+    (fetchpatch {
+      name = "allow_private_prefix_to_be_stricter.patch";
+      url = "https://git.altlinux.org/gears/p/pam_mktemp.git?p=pam_mktemp.git;a=commitdiff_plain;h=bb2cee0c695d22310e5364c30d74bccb0dbf3205";
+      hash = "sha256-TouysUVlNnl+m7lJ2VKPxUTYD2om1Jh5FEJ6NHMAI4U=";
+    })
+  ];
+
+  patchFlags = "-p2";
+
+  dontConfigure = true;
+
+  buildInputs = [ pam e2fsprogs ];
+
+  makeFlags = [ "DESTDIR=$(out)" ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://www.openwall.com/pam/";
+    description = "PAM for login service to provide per-user private directories";
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ wladmis ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/power-profiles-daemon/default.nix b/nixpkgs/pkgs/os-specific/linux/power-profiles-daemon/default.nix
index ae08f59cc1ad..e81f42b65a23 100644
--- a/nixpkgs/pkgs/os-specific/linux/power-profiles-daemon/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/power-profiles-daemon/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     wrapGAppsNoGuiHook
     python3.pkgs.wrapPython
     # checkInput but cheked for during the configuring
-    (python3.pythonForBuild.withPackages (ps: with ps; [
+    (python3.pythonOnBuildForHost.withPackages (ps: with ps; [
       pygobject3
       dbus-python
       python-dbusmock
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix
index 2775b1801889..73b098894b98 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "rtl88x2bu";
-  version = "${kernel.version}-unstable-2023-07-23";
+  version = "${kernel.version}-unstable-2023-09-24";
 
   src = fetchFromGitHub {
     owner = "morrownr";
     repo = "88x2bu-20210702";
-    rev = "83db18e610845df9434a628ca3feb9004296b307";
-    sha256 = "sha256-as3S7WQkug3suJ5ovUbRu/UzO5GDrGLdgkiWrCrvztk=";
+    rev = "888ba1b309e6258a736ef5c37a68836cd0ea5517";
+    sha256 = "sha256-oLRGRKUNTmIw+Zn23TArGumo24AIH2YEMpnStyXBNw8=";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/nixpkgs/pkgs/os-specific/linux/sssd/default.nix b/nixpkgs/pkgs/os-specific/linux/sssd/default.nix
index 01ec8ce96a03..62db758c7aa7 100644
--- a/nixpkgs/pkgs/os-specific/linux/sssd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/sssd/default.nix
@@ -13,13 +13,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "sssd";
-  version = "2.9.2";
+  version = "2.9.3";
 
   src = fetchFromGitHub {
     owner = "SSSD";
     repo = "sssd";
     rev = "refs/tags/${finalAttrs.version}";
-    hash = "sha256-CxkEyx9X14x8x9tSSN9d0TBTPKJB2Ip7HTL98uqO0J4=";
+    hash = "sha256-WTVOt2TpTCyMmFYzWJMBQdwgmov7m1Sd8CwyL4ywPUY=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/default.nix b/nixpkgs/pkgs/os-specific/linux/systemd/default.nix
index 01054fa7fc6b..98adb27d796f 100644
--- a/nixpkgs/pkgs/os-specific/linux/systemd/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/systemd/default.nix
@@ -773,6 +773,6 @@ stdenv.mkDerivation (finalAttrs: {
     # https://github.com/systemd/systemd/issues/20600#issuecomment-912338965
     broken = stdenv.hostPlatform.isStatic;
     priority = 10;
-    maintainers = with maintainers; [ flokli kloenk mic92 ];
+    maintainers = with maintainers; [ flokli kloenk ];
   };
 })
diff --git a/nixpkgs/pkgs/os-specific/linux/targetcli/default.nix b/nixpkgs/pkgs/os-specific/linux/targetcli/default.nix
index 381a15006627..f6bb705258f1 100644
--- a/nixpkgs/pkgs/os-specific/linux/targetcli/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/targetcli/default.nix
@@ -1,14 +1,14 @@
-{ lib, python3, fetchFromGitHub }:
+{ lib, python3, fetchFromGitHub, nixosTests }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "targetcli";
-  version = "2.1.56";
+  version = "2.1.57";
 
   src = fetchFromGitHub {
     owner = "open-iscsi";
     repo = "${pname}-fb";
     rev = "v${version}";
-    hash = "sha256-sWLwjfuy9WPnrGK0BxUGnNrhtGDoQyRFMY1OSlyxqs4=";
+    hash = "sha256-7JRNHKku9zTeSafL327hkM/E5EWTKqwPudCfmngvWuo=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [ configshell rtslib ];
@@ -18,6 +18,10 @@ python3.pkgs.buildPythonApplication rec {
     install -D targetclid.8 -t $out/share/man/man8/
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) iscsi-root;
+  };
+
   meta = with lib; {
     description = "A command shell for managing the Linux LIO kernel target";
     homepage = "https://github.com/open-iscsi/targetcli-fb";
diff --git a/nixpkgs/pkgs/os-specific/linux/tinyalsa/default.nix b/nixpkgs/pkgs/os-specific/linux/tinyalsa/default.nix
deleted file mode 100644
index cae778227c73..000000000000
--- a/nixpkgs/pkgs/os-specific/linux/tinyalsa/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-}:
-
-stdenv.mkDerivation rec {
-  pname = "tinyalsa";
-  version = "unstable-2022-06-05";
-
-  src = fetchFromGitHub {
-    owner = "tinyalsa";
-    repo = "tinyalsa";
-    rev = "3d70d227e7dfd1be6f8f420a5aae164a2b4126e0";
-    hash = "sha256-RHeF3VShy+LYFtJK+AEU7swIr5/rnpg2fdllnH9cFCk=";
-  };
-
-  nativeBuildInputs = [
-    cmake
-  ];
-
-  cmakeFlags = [
-    "-DTINYALSA_USES_PLUGINS=ON"
-  ];
-
-  env.NIX_CFLAGS_COMPILE = toString [
-    "-Wno-error=sign-compare"
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/tinyalsa/tinyalsa";
-    description = "Tiny library to interface with ALSA in the Linux kernel";
-    license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; linux;
-  };
-}
diff --git a/nixpkgs/pkgs/os-specific/linux/tomb/default.nix b/nixpkgs/pkgs/os-specific/linux/tomb/default.nix
index af04476aa1d0..9c97377cfe04 100644
--- a/nixpkgs/pkgs/os-specific/linux/tomb/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/tomb/default.nix
@@ -1,19 +1,37 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper
-, gettext, zsh, pinentry, cryptsetup, gnupg, util-linux, e2fsprogs, sudo
+{ stdenv
+, lib
+, fetchFromGitHub
+, substituteAll
+, makeWrapper
+, zsh
+, coreutils
+, cryptsetup
+, e2fsprogs
+, file
+, gawk
+, getent
+, gettext
+, gnugrep
+, gnupg
+, libargon2
+, lsof
+, pinentry
+, util-linux
+, nix-update-script
 }:
 
 stdenv.mkDerivation rec {
   pname = "tomb";
-  version = "2.9";
+  version = "2.10";
 
   src = fetchFromGitHub {
-    owner  = "dyne";
-    repo   = "Tomb";
-    rev    = "v${version}";
-    sha256 = "0d6vmfcf4kd0p2bcljmdnyc2fmbwvar81cc472zx86r7yc3ih102";
+    owner = "dyne";
+    repo = "Tomb";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-lLxQJX0P6b6lbXEcrq45EsX9iKiayZ9XkhqgMfpN3/w=";
   };
 
-  buildInputs = [ sudo zsh pinentry ];
+  buildInputs = [ zsh pinentry ];
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -23,22 +41,39 @@ stdenv.mkDerivation rec {
       --replace 'TOMBEXEC=$0' 'TOMBEXEC=tomb'
   '';
 
-  doInstallCheck = true;
-  installCheckPhase = "$out/bin/tomb -h";
-
   installPhase = ''
-    install -Dm755 tomb       $out/bin/tomb
+    install -Dm755 tomb $out/bin/tomb
     install -Dm644 doc/tomb.1 $out/share/man/man1/tomb.1
 
     wrapProgram $out/bin/tomb \
-      --prefix PATH : $out/bin:${lib.makeBinPath [ cryptsetup gettext gnupg pinentry util-linux e2fsprogs ]}
+      --prefix PATH : $out/bin:${lib.makeBinPath [
+          coreutils
+          cryptsetup
+          e2fsprogs
+          file
+          gawk
+          getent
+          gettext
+          gnugrep
+          gnupg
+          libargon2
+          lsof
+          pinentry
+          util-linux
+        ]}
   '';
 
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
   meta = with lib; {
     description = "File encryption on GNU/Linux";
-    homepage    = "https://www.dyne.org/software/tomb/";
-    license     = licenses.gpl3;
-    maintainers = with maintainers; [ peterhoeg ];
-    platforms   = platforms.linux;
+    homepage = "https://www.dyne.org/software/tomb/";
+    changelog = "https://github.com/dyne/Tomb/blob/v${version}/ChangeLog.md";
+    license = licenses.gpl3Only;
+    mainProgram = "tomb";
+    maintainers = with maintainers; [ peterhoeg anthonyroussel ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/uhk-agent/default.nix b/nixpkgs/pkgs/os-specific/linux/uhk-agent/default.nix
index dfc43cba01c2..fe01cecc8cc7 100644
--- a/nixpkgs/pkgs/os-specific/linux/uhk-agent/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/uhk-agent/default.nix
@@ -1,33 +1,67 @@
-{ appimageTools, lib, fetchurl }:
+{ lib
+, stdenvNoCC
+, fetchurl
+, appimageTools
+, electron
+, makeWrapper
+, asar
+, autoPatchelfHook
+, libusb1
+}:
+
 let
   pname = "uhk-agent";
-  version = "3.1.0";
+  version = "3.2.0";
+
   src = fetchurl {
     url = "https://github.com/UltimateHackingKeyboard/agent/releases/download/v${version}/UHK.Agent-${version}-linux-x86_64.AppImage";
     name = "${pname}-${version}.AppImage";
-    sha256 = "sha256-KFuB1cbrEDfqeRyrhXZs4ClhdIjZqIT5a+rnvdi3kpA=";
+    sha256 = "sha256-YMm84jKtWz5DeGJhBlmo2hlIy4iarEvWylgAWY/itII=";
   };
 
   appimageContents = appimageTools.extract {
     name = "${pname}-${version}";
     inherit src;
   };
-in appimageTools.wrapType2 {
+in
+stdenvNoCC.mkDerivation {
   inherit pname version src;
 
-  extraPkgs = pkgs: with pkgs; [ polkit udev ];
+  dontUnpack = true;
+
+  nativeBuildInputs = [
+    asar
+    makeWrapper
+    autoPatchelfHook
+  ];
+
+  buildInputs = [
+    libusb1
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out"/{opt,share/applications}
+
+    cp -r --no-preserve=mode "${appimageContents}/resources"        "$out/opt/${pname}"
+    cp -r --no-preserve=mode "${appimageContents}/usr/share/icons"  "$out/share/icons"
+    cp -r --no-preserve=mode "${appimageContents}/${pname}.desktop" "$out/share/applications/${pname}.desktop"
+
+    substituteInPlace "$out/share/applications/${pname}.desktop" \
+      --replace "Exec=AppRun" "Exec=${pname}"
+
+    asar extract "$out/opt/${pname}/app.asar" "$out/opt/${pname}/app.asar.unpacked"
+    rm           "$out/opt/${pname}/app.asar"
 
-  extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
+    makeWrapper "${electron}/bin/electron" "$out/bin/${pname}" \
+      --add-flags "$out/opt/${pname}/app.asar.unpacked" \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
+      --set-default ELECTRON_IS_DEV 0 \
+      --inherit-argv0
 
-    install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
-    install -m 644 -D ${appimageContents}/resources/rules/50-uhk60.rules $out/rules/50-uhk60.rules
-    substituteInPlace $out/share/applications/${pname}.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-    cp -r ${appimageContents}/usr/share/icons $out/share
+    runHook postInstall
   '';
-  # wrapType2 does not passthru pname+version
-  passthru.version = version;
 
   meta = with lib; {
     description = "Agent is the configuration application of the Ultimate Hacking Keyboard";
diff --git a/nixpkgs/pkgs/os-specific/linux/uhk-udev-rules/default.nix b/nixpkgs/pkgs/os-specific/linux/uhk-udev-rules/default.nix
index bcb7799731f6..1b68c46b6571 100644
--- a/nixpkgs/pkgs/os-specific/linux/uhk-udev-rules/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/uhk-udev-rules/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   dontBuild = true;
   installPhase = ''
     runHook preInstall
-    install -D -m 644 ${uhk-agent.out}/rules/50-uhk60.rules $out/lib/udev/rules.d/50-uhk60.rules
+    install -D -m 644 ${uhk-agent.out}/opt/uhk-agent/rules/50-uhk60.rules $out/lib/udev/rules.d/50-uhk60.rules
     runHook postInstall
   '';