summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonas Chevalier <zimbatm@zimbatm.com>2021-10-05 09:14:47 +0000
committerGitHub <noreply@github.com>2021-10-05 11:14:47 +0200
commit8377a7bca967dba811899164d4218d1d4a24b483 (patch)
tree931a54c56c39aba65131393d8c1561fd5ffe1f69
parenta2a0a58f7c6c3d6f1174524333c078052916841f (diff)
lib: add list of supported systems (#140428)
Adds the first 3 tiers of RFC0046 that are being used in flake.nix.
-rw-r--r--flake.nix10
-rw-r--r--lib/systems/default.nix1
-rw-r--r--lib/systems/supported.nix24
3 files changed, 26 insertions, 9 deletions
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"
+ ];
+}