about summary refs log tree commit diff
path: root/nixos/modules/system/boot/initrd-network.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/system/boot/initrd-network.nix')
-rw-r--r--nixos/modules/system/boot/initrd-network.nix13
1 files changed, 9 insertions, 4 deletions
diff --git a/nixos/modules/system/boot/initrd-network.nix b/nixos/modules/system/boot/initrd-network.nix
index 8ccf56ff6e0d..6e226c190609 100644
--- a/nixos/modules/system/boot/initrd-network.nix
+++ b/nixos/modules/system/boot/initrd-network.nix
@@ -63,9 +63,9 @@ in
       copy_bin_and_libs ${pkgs.mkinitcpio-nfs-utils}/bin/ipconfig
     '';
 
-    boot.initrd.preLVMCommands =
+    boot.initrd.preLVMCommands = mkBefore (
       # Search for interface definitions in command line.
-      mkBefore ''
+      ''
         for o in $(cat /proc/cmdline); do
           case $o in
             ip=*)
@@ -87,11 +87,16 @@ in
 
           # Acquire a DHCP lease.
           echo "acquiring IP address via DHCP..."
-          udhcpc --quit --now --script ${udhcpcScript}
+          udhcpc --quit --now --script ${udhcpcScript} && hasNetwork=1
         fi
       ''
 
-      + cfg.postCommands;
+      + ''
+        if [ -n "$hasNetwork" ]; then
+          echo "networking is up!"
+          ${cfg.postCommands}
+        fi
+      '');
 
   };