profiles-list: generate for all known releases
This commit is contained in:
parent
b2a5626072
commit
bb757271e3
|
@ -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}
|
||||
''
|
||||
|
|
Loading…
Reference in New Issue