anchor.diff:          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;
  -    });
  +      "/etc/systemd/network".source = initrdLinkUnits;
  +    };
  +    # Insert initrd rules
  +    boot.initrd.services.udev.packages = [
  +      initrdUdevRules
  +      (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 =
         {
  
positive.code:   udev = config.systemd.package;
  
    cfg = config.services.udev;
  
    extraUdevRules = pkgs.writeTextFile {
      name = "extra-udev-rules";
  
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
  