anchor.diff:    udev = config.systemd.package;
   
     cfg = config.services.udev;
  +
  +  initrdUdevRules = pkgs.runCommand "initrd-udev-rules" {} ''
  +    mkdir -p $out/etc/udev/rules.d
  +    for f in 60-cdrom_id 60-persistent-storage 75-net-description 80-drivers 80-net-setup-link; do
  +      ln -s ${config.boot.initrd.systemd.package}/lib/udev/rules.d/$f.rules $out/etc/udev/rules.d
  +    done
  +  '';
  +
  +
  +  # networkd link files are used early by udev to set up interfaces early.
  +  # This must be done in stage 1 to avoid race conditions between udev and
  +  # network daemons.
  +  # TODO move this into the initrd-network module when it exists
  +  initrdLinkUnits = pkgs.runCommand "initrd-link-units" {} ''
  +    mkdir -p $out
  +    ln -s ${udev}/lib/systemd/network/*.link $out/
  +    ${lib.concatMapStringsSep "\n" (file: "ln -s ${file} $out/") (lib.mapAttrsToList (n: v: "${v.unit}/${n}") (lib.filterAttrs (n: _: hasSuffix ".link" n) config.systemd.network.units))}
  +  '';
   
     extraUdevRules = pkgs.writeTextFile {
       name = "extra-udev-rules";
  
positive.code:         systemd = config.boot.initrd.systemd.package;
          binPackages = config.boot.initrd.services.udev.binPackages ++ [ config.boot.initrd.systemd.contents."/bin".source ];
        };
      };
      # Insert custom rules
      boot.initrd.services.udev.packages = mkIf (config.boot.initrd.services.udev.rules != "") (pkgs.writeTextFile {
        name = "initrd-udev-rules";
        destination = "/etc/udev/rules.d/99-local.rules";
        text = config.boot.initrd.services.udev.rules;
      });
  
      environment.etc =
        {
  
negative.code:     ];
      boot.initrd.systemd.storePaths = [
        "${config.boot.initrd.systemd.package}/lib/systemd/systemd-udevd"
        "${config.boot.initrd.systemd.package}/lib/udev/ata_id"
        "${config.boot.initrd.systemd.package}/lib/udev/cdrom_id"
        "${config.boot.initrd.systemd.package}/lib/udev/scsi_id"
        "${config.boot.initrd.systemd.package}/lib/udev/rules.d"
      ] ++ map (x: "${x}/bin") config.boot.initrd.services.udev.binPackages;
  
      # Generate the udev rules for the initrd
  