summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/os-specific/linux/device-tree/default.nix26
1 files changed, 12 insertions, 14 deletions
diff --git a/pkgs/os-specific/linux/device-tree/default.nix b/pkgs/os-specific/linux/device-tree/default.nix
index 8b8cca911a9..fb8e92f2330 100644
--- a/pkgs/os-specific/linux/device-tree/default.nix
+++ b/pkgs/os-specific/linux/device-tree/default.nix
@@ -22,21 +22,19 @@ with lib; {
 
         # skip incompatible and non-matching overlays
         if [[ ! "$dtbCompat" =~ "$overlayCompat" ]]; then
-          echo -n "Skipping overlay ${o.name}: incompatible with $(basename "$dtb")"
-          continue
-        fi
-        ${optionalString (o.filter != null) ''
-        if [[ "''${dtb//${o.filter}/}" ==  "$dtb" ]]; then
-          echo -n "Skipping overlay ${o.name}: filter does not match $(basename "$dtb")"
-          continue
-        fi
+          echo "Skipping overlay ${o.name}: incompatible with $(basename "$dtb")"
+        elif ${if (o.filter == null) then "false" else ''
+          [[ "''${dtb//${o.filter}/}" ==  "$dtb" ]]
         ''}
-
-        echo -n "Applying overlay ${o.name} to $(basename "$dtb")... "
-        mv "$dtb"{,.in}
-        fdtoverlay -o "$dtb" -i "$dtb.in" "${o.dtboFile}"
-        echo "ok"
-        rm "$dtb.in"
+        then
+          echo "Skipping overlay ${o.name}: filter does not match $(basename "$dtb")"
+        else
+          echo -n "Applying overlay ${o.name} to $(basename "$dtb")... "
+          mv "$dtb"{,.in}
+          fdtoverlay -o "$dtb" -i "$dtb.in" "${o.dtboFile}"
+          echo "ok"
+          rm "$dtb.in"
+        fi
         '')}
 
       done