about summary refs log tree commit diff
path: root/lib/systems
diff options
context:
space:
mode:
Diffstat (limited to 'lib/systems')
-rw-r--r--lib/systems/default.nix6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index e02890b113861..74f84914faab1 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -34,8 +34,10 @@ rec {
       # Either of these can be losslessly-extracted from `parsed` iff parsing succeeds.
       system = parse.doubleFromSystem final.parsed;
       config = parse.tripleFromSystem final.parsed;
-      # Determine whether we are compatible with the provided CPU
-      isCompatible = platform: parse.isCompatible final.parsed.cpu platform.parsed.cpu;
+      # Determine whether we can execute binaries built for the provided platform.
+      canExecute = platform:
+        parse.isCompatible final.parsed.cpu platform.parsed.cpu
+        && final.parsed.kernel == platform.parsed.kernel;
       # Derived meta-data
       libc =
         /**/ if final.isDarwin              then "libSystem"