diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 51 |
1 files changed, 28 insertions, 23 deletions
@@ -3,14 +3,20 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; - packwiz2nix.url = "github:getchoo/packwiz2nix"; + packwiz2nix = { + url = "github:getchoo/packwiz2nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { nixpkgs, packwiz2nix, + self, ... }: let + inherit (nixpkgs) lib; + systems = [ "x86_64-linux" "aarch64-linux" @@ -18,37 +24,36 @@ "aarch64-darwin" ]; - forAllSystems = nixpkgs.lib.genAttrs systems; - nixpkgsFor = forAllSystems (system: import nixpkgs {inherit system;}); - inherit (packwiz2nix.lib) mkChecksumsApp mkMultiMCPack mkPackwizPackages; + forAllSystems = fn: lib.genAttrs systems (s: fn nixpkgs.legacyPackages.${s}); in { - apps = forAllSystems (s: let - pkgs = nixpkgsFor.${s}; + packages = forAllSystems (pkgs: let + inherit (pkgs.stdenv.hostPlatform) system; + + inherit + (packwiz2nix.lib.${system}) + fetchPackwizModpack + mkMultiMCPack + ; in { - generate-checksums = mkChecksumsApp pkgs ./mods; - }); + modpack = fetchPackwizModpack { + manifest = "${self}/pack.toml"; + hash = "sha256-NVfgazU/mYs8rGBKNBgV+za+T4tmNLDPA8gz0699ZJs="; + }; - packages = forAllSystems (s: let - pkgs = nixpkgsFor.${s}; - mods = mkPackwizPackages pkgs ./checksums.json; - in rec { - getchoo-modpack = mkMultiMCPack { - inherit pkgs mods; - filesDir = ./files; - name = "getchoo-modpack"; + modpack-zip = mkMultiMCPack { + src = self.packages.${system}.modpack; + instanceCfg = ./files/instance.cfg; }; - default = getchoo-modpack; + default = self.packages.${system}.modpack-zip; }); - devShells = forAllSystems (s: let - pkgs = nixpkgsFor.${s}; - inherit (pkgs) mkShell; - in { - default = mkShell { + devShells = forAllSystems (pkgs: { + default = pkgs.mkShell { packages = with pkgs; [ packwiz - p7zip + unzip + zip ]; }; }); |
