lib: add list of supported systems (#140428)

Adds the first 3 tiers of RFC0046 that are being used in flake.nix.

Changed files
+26 -9
lib
+1 -9
flake.nix
···
lib = import ./lib;
-
systems = [
-
"x86_64-linux"
-
"i686-linux"
-
"x86_64-darwin"
-
"aarch64-linux"
-
"armv6l-linux"
-
"armv7l-linux"
-
"aarch64-darwin"
-
];
forAllSystems = f: lib.genAttrs systems (system: f system);
···
lib = import ./lib;
+
systems = lib.systems.supported.hydra;
forAllSystems = f: lib.genAttrs systems (system: f system);
+1
lib/systems/default.nix
···
platforms = import ./platforms.nix { inherit lib; };
examples = import ./examples.nix { inherit lib; };
architectures = import ./architectures.nix { inherit lib; };
# Elaborate a `localSystem` or `crossSystem` so that it contains everything
# necessary.
···
platforms = import ./platforms.nix { inherit lib; };
examples = import ./examples.nix { inherit lib; };
architectures = import ./architectures.nix { inherit lib; };
+
supported = import ./supported.nix { inherit lib; };
# Elaborate a `localSystem` or `crossSystem` so that it contains everything
# necessary.
+24
lib/systems/supported.nix
···
···
+
# Supported systems according to RFC0046's definition.
+
#
+
# https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md
+
{ lib }:
+
rec {
+
# List of systems that are built by Hydra.
+
hydra = tier1 ++ tier2 ++ tier3;
+
+
tier1 = [
+
"x86_64-linux"
+
];
+
+
tier2 = [
+
"aarch64-linux"
+
"x86_64-darwin"
+
];
+
+
tier3 = [
+
"armv6l-linux"
+
"armv7l-linux"
+
"i686-linux"
+
"mipsel-linux"
+
];
+
}