anchor.diff:      #udev_log="debug"
     '';
   
  +  # Udev has a 512-character limit for ENV{PATH}, so create a symlink
  +  # tree to work around this.
  +  udevPath = pkgs.buildEnv {
  +    name = "udev-path";
  +    paths = cfg.path;
  +    pathsToLink = [ "/bin" "/sbin" ];
  +    ignoreCollisions = true;
  +  };
  +
   in
   
   {
  
positive.code:       cp -v ${udev}/libexec/rules.d/*.rules $out/
  
        # Set a reasonable $PATH for programs called by udev rules.
        echo 'ENV{PATH}="${pkgs.coreutils}/bin:${pkgs.gnused}/bin:${pkgs.utillinux}/bin"' > $out/00-path.rules
  
        # Set the firmware search path so that the firmware.sh helper
        # called by 50-firmware.rules works properly.
  
negative.code: 
      services.udev.extraRules = nixosRules;
      
      services.udev.packages = [ extraUdevRules ];
  
      services.udev.path = [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.utillinux ];
  
      jobs.udev =
        { startOn = "startup";
  