anchor.diff:        '';
       };
   
  +    networking.dhcpcd.wait = mkOption {
  +      type = types.enum [ "background" "any" "ipv4" "ipv6" "both" "if-carrier-up" ];
  +      default = "any";
  +      description = ''
  +        This option specifies when the dhcpcd service will fork to background.
  +        If set to "background", dhcpcd will fork to background immediately.
  +        If set to "ipv4" or "ipv6", dhcpcd will wait for the corresponding IP
  +        address to be assigned. If set to "any", dhcpcd will wait for any type
  +        (IPv4 or IPv6) to be assigned. If set to "both", dhcpcd will wait for
  +        both an IPv4 and an IPv6 address before forking.
  +        The option "if-carrier-up" is equivalent to "any" if either ethernet
  +        is plugged nor WiFi is powered, and to "background" otherwise.
  +      '';
  +    };
  +
     };
   
   
  
positive.code: 
        # Use the list of allowed interfaces if specified
        ${optionalString (allowInterfaces != null) "allowinterfaces ${toString allowInterfaces}"}
  
        ${cfg.extraConfig}
      '';
  
negative.code:         serviceConfig =
            { Type = "forking";
              PIDFile = "/run/dhcpcd.pid";
              ExecStart = "@${dhcpcd}/sbin/dhcpcd dhcpcd --quiet ${optionalString cfg.persistent "--persistent"} --config ${dhcpcdConf}";
              ExecReload = "${dhcpcd}/sbin/dhcpcd --rebind";
              Restart = "always";
            };
  