about summary refs log tree commit diff
path: root/pkgs/games/papermc/default.nix
blob: 037b307c6df37b8442cca2e69fcc4fb285371cb3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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;
})