3 nixpkgsFun = import ../../top-level;
9 # crossSystem is implicitly set to localSystem.
11 localSystem = { system = "x86_64-linux"; };
14 localSystem = { system = "aarch64-linux"; };
17 # Both systems explicitly set to the same string.
19 localSystem = { system = "x86_64-linux"; };
20 crossSystem = { system = "x86_64-linux"; };
22 # Vendor and ABI inferred from system double.
24 localSystem = { system = "aarch64-linux"; };
25 crossSystem = { config = "aarch64-unknown-linux-gnu"; };
29 # GNU is inferred from double, but config explicitly requests musl.
31 localSystem = { system = "aarch64-linux"; };
32 crossSystem = { config = "aarch64-unknown-linux-musl"; };
34 # Cross-compile from AArch64 to x86-64.
36 localSystem = { system = "aarch64-linux"; };
37 crossSystem = { system = "x86_64-unknown-linux-gnu"; };
41 pkgsLocal = map nixpkgsFun configsLocal;
42 pkgsCross = map nixpkgsFun configsCross;
44 assert lib.all (p: p.buildPlatform == p.hostPlatform) pkgsLocal;
45 assert lib.all (p: p.buildPlatform != p.hostPlatform) pkgsCross;