From b4528a696a6ea50b98ac1919fc2da85e325cab41 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 3 Feb 2016 15:51:28 +0300 Subject: [PATCH] initrd-network: call postCommands only if network is up --- nixos/modules/system/boot/initrd-network.nix | 13 +++++++++---- 1 file 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 + ''); };