1let
2 features = [
3 {
4 description = "the `nixVersion` builtin";
5 condition = builtins ? nixVersion;
6 }
7 {
8 description = "`builtins.nixVersion` reports at least 2.18";
9 condition = builtins ? nixVersion && builtins.compareVersions "2.18" builtins.nixVersion != 1;
10 }
11 ];
12
13 evaluated = builtins.partition ({ condition, ... }: condition) features;
14in
15{
16 all = features;
17 supported = evaluated.right;
18 missing = evaluated.wrong;
19}