{ pkgs ? import {} }: pkgs.mkShell { buildInputs = with pkgs; [ nodejs_24 nodePackages.pnpm git curl ]; shellHook = '' echo "🚀 atridotdad development environment loaded!" echo "Node version: $(node --version)" echo "pnpm version: $(pnpm --version)" # Always allow Playwright/Puppeteer to download their own browsers export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=0 export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=false if [ ! -d "node_modules" ]; then echo "📦 Installing pnpm dependencies..." pnpm install fi # Check if Playwright browsers are installed and install them if not PLAYWRIGHT_BROWSERS_PATH="$HOME/.cache/ms-playwright" if [ ! -d "$PLAYWRIGHT_BROWSERS_PATH" ] || [ -z "$(ls -A "$PLAYWRIGHT_BROWSERS_PATH")" ]; then echo "🌐 Installing Playwright browsers..." pnpm exec playwright install --with-deps # --with-deps ensures all necessary drivers/libraries are also fetched else echo "✅ Playwright browsers already installed." fi ''; PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "0"; PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = "false"; }