profiles-list: generate for all known releases

This commit is contained in:
Astro 2022-04-28 03:12:41 +02:00
parent b2a5626072
commit bb757271e3
1 changed files with 31 additions and 15 deletions

View File

@ -1,21 +1,37 @@
{ pkgs ? import <nixpkgs> {}
, release ? "21.02.3"
}:
with pkgs;
let
inherit (import ./profiles.nix { inherit pkgs; }) allProfiles;
releases =
map (builtins.replaceStrings [ ".nix" ] [ "" ]) (
builtins.filter (lib.hasSuffix ".nix") (
builtins.attrNames (builtins.readDir ./hashes)
)
);
list = release:
let
inherit (import ./profiles.nix {
inherit pkgs release;
}) allProfiles;
in writeText "openwrt-${release}-profiles-list.md" ''
# OpenWRT ${release} profiles
${lib.concatMapStrings (target:
lib.concatMapStrings (variant: ''
## ${target}/${variant}
${lib.concatMapStrings (profile: ''
- ${profile}
'') (builtins.attrNames allProfiles.${target}.${variant}.profiles)}
'') (builtins.attrNames allProfiles.${target})
) (builtins.attrNames allProfiles)}
'';
in
writeText "openwrt-${release}-profiles-list.md" ''
# OpenWRT ${release} profiles
${lib.concatMapStrings (target:
lib.concatMapStrings (variant: ''
## ${target}/${variant}
${lib.concatMapStrings (profile: ''
- ${profile}
'') (builtins.attrNames allProfiles.${target}.${variant}.profiles)}
'') (builtins.attrNames allProfiles.${target})
) (builtins.attrNames allProfiles)}
runCommandNoCC "openwrt-profiles" {} ''
mkdir $out
${lib.concatMapStrings (release: ''
ln -s ${list release} $out/${release}.md
'') releases}
''