nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib }:
2lib.mapAttrs (
3 redistName: _type:
4 let
5 redistManifestDir = ./. + "/${redistName}";
6 in
7 lib.concatMapAttrs (
8 fileName: _type:
9 let
10 # Manifests all end in .json and are named "redistrib_<version>.json".
11 version = lib.removePrefix "redistrib_" (lib.removeSuffix ".json" fileName);
12 in
13 # NOTE: We do not require that all files have this pattern, as manifest directories may contain documentation
14 # and utility functions we should ignore.
15 lib.optionalAttrs (version != fileName) {
16 "${version}" = lib.importJSON (redistManifestDir + "/${fileName}");
17 }
18 ) (builtins.readDir redistManifestDir)
19) (builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ])