diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 51 |
1 files changed, 47 insertions, 4 deletions
@@ -1,7 +1,50 @@ { - description = "PolyMC"; - - outputs = inputs: { - overlay = import ./packages/nix/overlay.nix; + description = "PolyMC flake"; + inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + inputs.flake-utils.url = "github:numtide/flake-utils"; + inputs.libnbtplusplus = { + url = "github:multimc/libnbtplusplus"; + flake = false; + }; + inputs.quazip = { + url = "github:multimc/quazip"; + flake = false; }; + + outputs = inputs@{ self, nixpkgs, flake-utils, libnbtplusplus, quazip, ... }: + flake-utils.lib.eachSystem [ "x86_64-linux" "aarch64-linux" ] (system: + let + pkgs = import nixpkgs { + inherit system; + }; + + packages = { + polymc = pkgs.libsForQt5.callPackage ./packages/nix/polymc { + inherit self; + submoduleQuazip = quazip; + submoduleNbt = libnbtplusplus; + }; + }; + + overlay = (final: prev: rec { + polymc = prev.libsForQt5.callPackage ./packages/nix/polymc { + inherit self; + submoduleQuazip = quazip; + submoduleNbt = libnbtplusplus; + }; + }); + + apps = { + polymc = flake-utils.lib.mkApp { + name = "polymc"; + drv = packages.polymc; + }; + }; + in + { + inherit packages overlay apps; + defaultPackage = packages.polymc; + defaultApp = apps.polymc; + } + ); } |