{ description = "ghostty-web - Web terminal using Ghostty's VT100 parser via WASM"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; zig-overlay.url = "github:mitchellh/zig-overlay"; }; outputs = { self, nixpkgs, flake-utils, zig-overlay }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [ zig-overlay.overlays.default ]; }; zig = pkgs.zigpkgs."0.15.2"; in { devShells.default = pkgs.mkShell { buildInputs = [ pkgs.bun pkgs.nodejs_22 zig ]; }; packages.default = pkgs.stdenv.mkDerivation { pname = "ghostty-web"; version = "0.3.0"; src = ./.; nativeBuildInputs = [ pkgs.bun pkgs.nodejs_22 ]; buildPhase = '' export HOME=$TMPDIR bun install --frozen-lockfile bun run build ''; installPhase = '' mkdir -p $out cp -r dist/* $out/ ''; }; } ); }