pollymc/flake.nix

59 lines
1.5 KiB
Nix
Raw Normal View History

2022-01-08 13:03:26 +05:30
{
2022-03-13 21:48:46 +05:30
description = "A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC)";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
flake-compat = {
url = "github:edolstra/flake-compat";
flake = false;
};
libnbtplusplus = {
url = "github:PrismLauncher/libnbtplusplus";
flake = false;
};
2022-01-09 00:45:19 +05:30
};
2022-01-08 13:03:26 +05:30
outputs = {
self,
nixpkgs,
flake-utils,
libnbtplusplus,
...
}: let
# User-friendly version number.
version = builtins.substring 0 8 self.lastModifiedDate;
2022-03-13 21:48:46 +05:30
# Supported systems (qtbase is currently broken for "aarch64-darwin")
supportedSystems = with flake-utils.lib.system; [
x86_64-linux
x86_64-darwin
aarch64-linux
];
2022-03-13 21:48:46 +05:30
packagesFn = pkgs: rec {
prismlauncher-qt5 = pkgs.libsForQt5.callPackage ./nix {
inherit version self libnbtplusplus;
};
prismlauncher = pkgs.qt6Packages.callPackage ./nix {
inherit version self libnbtplusplus;
};
2022-03-13 21:48:46 +05:30
};
in
flake-utils.lib.eachSystem supportedSystems (system: let
pkgs = nixpkgs.legacyPackages.${system};
in {
packages = let
packages = packagesFn pkgs;
in
packages // {default = packages.prismlauncher;};
devShells.default = pkgs.mkShell {
inputsFrom = [self.packages.${system}.default];
buildInputs = with pkgs; [ccache ninja];
};
overlay = final: packagesFn;
});
}