{ description = "Next-generation open source Minecraft launcher"; inputs = { nixpkgs = { url = "github:nixos/nixpkgs/nixos-unstable"; }; flake-parts = { url = "github:hercules-ci/flake-parts"; }; crane = { url = "github:ipetkov/crane"; }; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs = { nixpkgs = { follows = "nixpkgs"; }; }; }; }; outputs = inputs@{ flake-parts, rust-overlay, ... }: flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; perSystem = { pkgs, system, ... }: let pkgs' = import inputs.nixpkgs { inherit system; overlays = [ rust-overlay.overlays.default ]; }; in { devShells.default = pkgs'.mkShell { packages = with pkgs'; [ (rust-bin.fromRustupToolchainFile ./rust-toolchain.toml) cargo-tauri nodejs_24 pnpm eslint typescript pkg-config openssl gobject-introspection at-spi2-atk atkmm cairo gdk-pixbuf glib gtk3 harfbuzz librsvg libsoup_3 pango webkitgtk_4_1 ]; shellHook = '' export GIO_MODULE_DIR="${pkgs.glib-networking}/lib/gio/modules/" pnpm i pnpm prep ''; }; }; }; }