{ description = "Astro-PocketBase-Continue development environment with Bun"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, }: flake-utils.lib.eachDefaultSystem ( system: let pkgs = nixpkgs.legacyPackages.${system}; bun = pkgs.bun; in { devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ bun git nodejs_24 tea # nodePackages.node-inspector ]; shellHook = '' echo "🚀 Astro-PocketBase-Continue development environment (Bun-powered)" echo "Bun version: $(bun --version)" echo "Tea version: $(tea --version)" echo "" echo "Available commands:" echo " bun install - Install dependencies" echo " bun run dev - Start development" echo " bun build - Build with Bun's bundler" echo " tea releases create - Create Gitea release" echo "" if [ ! -d "node_modules" ]; then echo "📦 Installing dependencies with Bun..." bun install fi ''; NODE_ENV = "development"; BUN_RUNTIME = "bun"; }; packages.default = pkgs.stdenv.mkDerivation { name = "astro-pocketbase-continue"; src = ./.; buildInputs = [ bun ]; buildPhase = '' export HOME=$TMPDIR bun install --frozen-lockfile bun run build ''; installPhase = '' mkdir -p $out cp -r dist $out/ cp package.json $out/ ''; }; } ); }