diff options
Diffstat (limited to 'pkgs/games/minecraft-servers/default.nix')
-rw-r--r-- | pkgs/games/minecraft-servers/default.nix | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/pkgs/games/minecraft-servers/default.nix b/pkgs/games/minecraft-servers/default.nix new file mode 100644 index 0000000000000..f3d4aad16698e --- /dev/null +++ b/pkgs/games/minecraft-servers/default.nix @@ -0,0 +1,24 @@ +{ callPackage, lib, javaPackages }: +let + versions = lib.importJSON ./versions.json; + + latestVersion = lib.last (builtins.sort lib.versionOlder (builtins.attrNames versions)); + escapeVersion = builtins.replaceStrings [ "." ] [ "-" ]; + + getJavaVersion = v: (builtins.getAttr "openjdk${toString v}" javaPackages.compiler).headless; + + packages = lib.mapAttrs' + (version: value: { + name = "vanilla-${escapeVersion version}"; + value = callPackage ./derivation.nix { + inherit (value) version url sha1; + jre_headless = getJavaVersion (if value.javaVersion == null then 8 else value.javaVersion); # versions <= 1.6 will default to 8 + }; + }) + versions; +in +lib.recurseIntoAttrs ( + packages // { + vanilla = builtins.getAttr "vanilla-${escapeVersion latestVersion}" packages; + } +) |