From c06ad375ebc8b7bc5e7c87cdef14166e61195978 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Tue, 21 Oct 2025 23:54:58 +0200 Subject: [PATCH] android-udev-rules: drop As of systemd 258 adb and fastboot connections are handled by a built-in uaccess rule, so a dedicated package with hardcoded ID-based udev rules is no longer needed. Drop the android-udev-rules package and related mentions of the adbusers group, which is also no longer used. --- doc/release-notes/rl-2511.section.md | 2 + nixos/modules/programs/adb.nix | 4 -- nixos/modules/programs/envision.nix | 1 - nixos/modules/services/video/wivrn.nix | 1 - .../by-name/an/android-udev-rules/package.nix | 44 ------------------- pkgs/top-level/aliases.nix | 1 + 6 files changed, 3 insertions(+), 50 deletions(-) delete mode 100644 pkgs/by-name/an/android-udev-rules/package.nix diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index ec1bec180d02..d9a0e065b598 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -180,6 +180,8 @@ - `proton-caller` has been removed due to lack of upstream maintenance. +- `android-udev-rules` has been removed, as it is effectively superseded by built-in uaccess rules in systemd. + - `lima` package now only includes the guest agent for the host's architecture by default. If your guest VM's architecture differs from your Lima host's, you'll need to enable the `lima-additional-guestagents` package by setting `withAdditionalGuestAgents = true` when overriding lima with this input. - `mongodb-6_0` was removed as it is end of life as of 2025-07-31. diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix index 28182df9cc23..4ae2569049ed 100644 --- a/nixos/modules/programs/adb.nix +++ b/nixos/modules/programs/adb.nix @@ -16,8 +16,6 @@ type = lib.types.bool; description = '' Whether to configure system to use Android Debug Bridge (adb). - To grant access to a user, it must be part of adbusers group: - `users.users.alice.extraGroups = ["adbusers"];` ''; }; }; @@ -25,8 +23,6 @@ ###### implementation config = lib.mkIf config.programs.adb.enable { - services.udev.packages = [ pkgs.android-udev-rules ]; environment.systemPackages = [ pkgs.android-tools ]; - users.groups.adbusers = { }; }; } diff --git a/nixos/modules/programs/envision.nix b/nixos/modules/programs/envision.nix index 02f7ba5fdbeb..b31980f03eb8 100644 --- a/nixos/modules/programs/envision.nix +++ b/nixos/modules/programs/envision.nix @@ -34,7 +34,6 @@ in services.udev = { enable = true; packages = with pkgs; [ - android-udev-rules xr-hardware ]; }; diff --git a/nixos/modules/services/video/wivrn.nix b/nixos/modules/services/video/wivrn.nix index 6f4538964283..9c7250fb7d08 100644 --- a/nixos/modules/services/video/wivrn.nix +++ b/nixos/modules/services/video/wivrn.nix @@ -217,7 +217,6 @@ in }; services = { - udev.packages = with pkgs; [ android-udev-rules ]; avahi = { enable = true; publish = { diff --git a/pkgs/by-name/an/android-udev-rules/package.nix b/pkgs/by-name/an/android-udev-rules/package.nix deleted file mode 100644 index 4c118124e02b..000000000000 --- a/pkgs/by-name/an/android-udev-rules/package.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - udevCheckHook, -}: -stdenv.mkDerivation (finalAttrs: { - pname = "android-udev-rules"; - version = "20250525"; - - src = fetchFromGitHub { - owner = "M0Rf30"; - repo = "android-udev-rules"; - rev = finalAttrs.version; - hash = "sha256-4ODU9EoVYV+iSu6+M9ePed45QkOZgWkDUlFTlWJ8ttQ="; - }; - - installPhase = '' - runHook preInstall - install -D 51-android.rules $out/lib/udev/rules.d/51-android.rules - runHook postInstall - ''; - - nativeBuildInputs = [ - udevCheckHook - ]; - doInstallCheck = true; - - meta = { - homepage = "https://github.com/M0Rf30/android-udev-rules"; - description = "Android udev rules list aimed to be the most comprehensive on the net"; - longDescription = '' - Android udev rules list aimed to be the most comprehensive on the net. - To use on NixOS, simply add this package to services.udev.packages: - ```nix - services.udev.packages = [ pkgs.android-udev-rules ]; - ``` - ''; - platforms = lib.platforms.linux; - license = lib.licenses.gpl3Plus; - maintainers = [ ]; - teams = [ lib.teams.android ]; - }; -}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 4b7c42542c5f..f3c45aee3f03 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -434,6 +434,7 @@ mapAliases { alsaUtils = throw "'alsaUtils' has been renamed to/replaced by 'alsa-utils'"; # Converted to throw 2024-10-17 amazon-qldb-shell = throw "'amazon-qldb-shell' has been removed due to being unmaintained upstream"; # Added 2025-07-30 amdvlk = throw "'amdvlk' has been removed since it was deprecated by AMD. Its replacement, RADV, is enabled by default."; # Added 2025-09-20 + android-udev-rules = throw "'android-udev-rules' has been removed due to being superseded by built-in systemd uaccess rules."; # Added 2025-10-21 angelfish = throw "'angelfish' has been renamed to/replaced by 'libsForQt5.kdeGear.angelfish'"; # Converted to throw 2024-10-17 animeko = throw "'animeko' has been removed since it is unmaintained"; # Added 2025-08-20 ansible_2_14 = throw "Ansible 2.14 goes end of life in 2024/05 and can't be supported throughout the 24.05 release cycle"; # Added 2024-04-11