lol

udev module: filter duplicate udev paths

Fixes #24174

+4 -2
+4 -2
nixos/modules/services/hardware/udev.nix
··· 35 35 udevRules = pkgs.runCommand "udev-rules" 36 36 { preferLocalBuild = true; 37 37 allowSubstitutes = false; 38 + packages = unique (map toString cfg.packages); 38 39 } 39 40 '' 40 41 mkdir -p $out ··· 45 46 echo 'ENV{PATH}="${udevPath}/bin:${udevPath}/sbin"' > $out/00-path.rules 46 47 47 48 # Add the udev rules from other packages. 48 - for i in ${toString cfg.packages}; do 49 + for i in $packages; do 49 50 echo "Adding rules for package $i" 50 51 for j in $i/{etc,lib}/udev/rules.d/*; do 51 52 echo "Copying $j to $out/$(basename $j)" ··· 132 133 hwdbBin = pkgs.runCommand "hwdb.bin" 133 134 { preferLocalBuild = true; 134 135 allowSubstitutes = false; 136 + packages = unique (map toString ([udev] ++ cfg.packages)); 135 137 } 136 138 '' 137 139 mkdir -p etc/udev/hwdb.d 138 - for i in ${toString ([udev] ++ cfg.packages)}; do 140 + for i in $packages; do 139 141 echo "Adding hwdb files for package $i" 140 142 for j in $i/{etc,lib}/udev/hwdb.d/*; do 141 143 ln -s $j etc/udev/hwdb.d/$(basename $j)