8d2a765adf
Some of these were read/parsed dozens of times in a `nix search` invocation, and in particular the MELPA recipes archive (3 MiB) was read 4 times.
18 lines
576 B
Nix
18 lines
576 B
Nix
let
|
|
versions = builtins.fromJSON (builtins.readFile ./versions.json);
|
|
in
|
|
{ callPackage, lib, ... }:
|
|
let
|
|
latestVersion = lib.last (builtins.sort lib.versionOlder (builtins.attrNames versions));
|
|
escapeVersion = builtins.replaceStrings [ "." ] [ "_" ];
|
|
packages = lib.mapAttrs'
|
|
(version: value: {
|
|
name = "papermc-${escapeVersion version}";
|
|
value = callPackage ./derivation.nix { inherit (value) version hash; };
|
|
})
|
|
versions;
|
|
in
|
|
lib.recurseIntoAttrs (packages // {
|
|
papermc = builtins.getAttr "papermc-${escapeVersion latestVersion}" packages;
|
|
})
|