{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nix-gleam = { url = "github:arnarg/nix-gleam"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, nix-gleam, ... }: let lib = nixpkgs.lib; supportedSystems = lib.systems.flakeExposed; forEachSupportedSystem = f: lib.genAttrs supportedSystems (system: f { pkgs = import nixpkgs {inherit system;}; packages' = self.packages.${system}; inherit system; }); in { devShells = forEachSupportedSystem ({pkgs, ...}: { default = pkgs.mkShell { packages = with pkgs; [ gleam beamMinimal28Packages.erlang beamMinimal28Packages.rebar3 ]; }; }); packages = forEachSupportedSystem ({ pkgs, system, packages', ... }: { default = packages'.xylo; xylo = pkgs.callPackage ./nix/packages/xylo.nix { inherit (nix-gleam.packages.${system}) buildGleamApplication; }; }); }; }