From 8377a7bca967dba811899164d4218d1d4a24b483 Mon Sep 17 00:00:00 2001 From: Jonas Chevalier Date: Tue, 5 Oct 2021 09:14:47 +0000 Subject: [PATCH] lib: add list of supported systems (#140428) Adds the first 3 tiers of RFC0046 that are being used in flake.nix. --- flake.nix | 10 +--------- lib/systems/default.nix | 1 + lib/systems/supported.nix | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 lib/systems/supported.nix diff --git a/flake.nix b/flake.nix index ececd26c153c..1e20fcd40ebe 100644 --- a/flake.nix +++ b/flake.nix @@ -11,15 +11,7 @@ lib = import ./lib; - systems = [ - "x86_64-linux" - "i686-linux" - "x86_64-darwin" - "aarch64-linux" - "armv6l-linux" - "armv7l-linux" - "aarch64-darwin" - ]; + systems = lib.systems.supported.hydra; forAllSystems = f: lib.genAttrs systems (system: f system); diff --git a/lib/systems/default.nix b/lib/systems/default.nix index ef609859abbf..529eeb6514b9 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -8,6 +8,7 @@ rec { 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. diff --git a/lib/systems/supported.nix b/lib/systems/supported.nix new file mode 100644 index 000000000000..60bf30741344 --- /dev/null +++ b/lib/systems/supported.nix @@ -0,0 +1,24 @@ +# 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" + ]; +}