#!/usr/bin/env bash # Script to patch Electron for NixOS set -e if [ ! -d "node_modules/electron/dist" ]; then echo "Electron not installed yet. Run 'npm install' first." exit 1 fi echo "Patching Electron binaries for NixOS..." cd node_modules/electron/dist # Patch main electron binary if [ -f electron ]; then patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" electron patchelf --set-rpath "${LD_LIBRARY_PATH}" electron echo "✓ Patched electron" fi # Patch chrome-sandbox if [ -f chrome-sandbox ]; then chmod u+w chrome-sandbox patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" chrome-sandbox || true patchelf --set-rpath "${LD_LIBRARY_PATH}" chrome-sandbox || true echo "✓ Patched chrome-sandbox" fi # Copy libffmpeg from the system if [ ! -f libffmpeg.so ]; then # Try to find libffmpeg in the system for ffmpeg_lib in /nix/store/*-electron-*/lib/libffmpeg.so; do if [ -f "$ffmpeg_lib" ]; then cp "$ffmpeg_lib" . chmod +w libffmpeg.so echo "✓ Copied libffmpeg.so" break fi done fi echo "Electron patching complete!"