diff --git a/modules/services/hardware/udev.nix b/modules/services/hardware/udev.nix
index 90ff26da91f..3bec396bfe5 100644
--- a/modules/services/hardware/udev.nix
+++ b/modules/services/hardware/udev.nix
@@ -83,6 +83,10 @@ let
         grep -l '\(RUN+\|IMPORT{program}\)="\(/usr\)\?/s\?bin' $i/*/udev/rules.d/* || true
       done
 
+      ${optionalString (!config.networking.usePredictableInterfaceNames) ''
+        ln -s /dev/null $out/80-net-name-slot.rules
+      ''}
+
       # If auto-configuration is disabled, then remove
       # udev's 80-drivers.rules file, which contains rules for
       # automatically calling modprobe.
@@ -218,8 +222,6 @@ in
         }
       ];
 
-    boot.extraKernelParams = mkIf (! config.networking.usePredictableInterfaceNames) [ "net.ifnames=0" ];
-
     system.requiredKernelConfig = with config.lib.kernelConfig; [
       (isEnabled "UNIX")
       (isYes "INOTIFY_USER")