about summary refs log tree commit diff
path: root/lib/systems/flake-systems.nix
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2022-04-11 22:11:29 +0200
committersternenseemann <sternenseemann@systemli.org>2022-05-23 15:27:30 +0200
commit168b926435628cb06c4a8cb0f3e6f69f141529f1 (patch)
treeaadc17fe211331852eef5a9658533c91071e8c0f /lib/systems/flake-systems.nix
parent6d82088583295dea8f9d7f61641dc3d8c5014fc7 (diff)
lib.systems: remove supported, replace with flakeExposed
Since the list only gates the platforms the nixpkgs flake exposes
packages to build on, the `hydra` label made little sense. It was also
only used for this purpose, so the `tier*` attributes were largely
unnecessary.

To reflect the intention more accurately, we expose
`lib.systems.flakeExposed` and use it to gate flake.nix's system list.
Diffstat (limited to 'lib/systems/flake-systems.nix')
-rw-r--r--lib/systems/flake-systems.nix29
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/systems/flake-systems.nix b/lib/systems/flake-systems.nix
new file mode 100644
index 0000000000000..74124c32e8369
--- /dev/null
+++ b/lib/systems/flake-systems.nix
@@ -0,0 +1,29 @@
+# See [RFC 46] for mandated platform support and ../../pkgs/stdenv for
+# implemented platform support. This list is mainly descriptive, i.e. all
+# system doubles for platforms where nixpkgs can do native compiliation
+# reasonably well are included.
+#
+# [RFC 46]: https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md
+{ }:
+
+[
+  # Tier 1
+  "x86_64-linux"
+  # Tier 2
+  "aarch64-linux"
+  "x86_64-darwin"
+  # Tier 3
+  "armv6l-linux"
+  "armv7l-linux"
+  "i686-linux"
+  "mipsel-linux"
+
+  # Other platforms with sufficient support in stdenv which is not formally
+  # mandated by their platform tier.
+  "aarch64-darwin"
+  "armv5tel-linux"
+  "powerpc64le-linux"
+  "riscv64-linux"
+
+  # "x86_64-freebsd" is excluded because it is mostly broken
+]