{
 "app_id": "com.pears.pass",
 "source_url": "https://raw.githubusercontent.com/tetherto/pearpass-app-desktop/main/flatpak/com.pears.pass.yaml",
 "runtime": "org.gnome.Platform",
 "runtime_version": "49",
 "sdk": "org.gnome.Sdk",
 "finish_args": [
  "--share=ipc",
  "--share=network",
  "--socket=x11",
  "--socket=fallback-x11",
  "--socket=system-bus",
  "--device=dri",
  "--filesystem=home",
  "--filesystem=xdg-config/pear:create",
  "--talk-name=org.freedesktop.Notifications",
  "--talk-name=org.freedesktop.secrets",
  "--system-talk-name=org.freedesktop.DBus",
  "--system-talk-name=org.bluez",
  "--system-talk-name=org.freedesktop.UPower"
 ],
 "module_count": 1,
 "fetched_at": "2026-09-20T13:02:37.607800+00:00",
 "manifest": {
  "app-id": "com.pears.pass",
  "runtime": "org.gnome.Platform",
  "runtime-version": "49",
  "sdk": "org.gnome.Sdk",
  "command": "pearpass",
  "finish-args": [
   "--share=ipc",
   "--share=network",
   "--socket=x11",
   "--socket=fallback-x11",
   "--socket=system-bus",
   "--device=dri",
   "--filesystem=home",
   "--filesystem=xdg-config/pear:create",
   "--talk-name=org.freedesktop.Notifications",
   "--talk-name=org.freedesktop.secrets",
   "--system-talk-name=org.freedesktop.DBus",
   "--system-talk-name=org.bluez",
   "--system-talk-name=org.freedesktop.UPower"
  ],
  "modules": [
   {
    "name": "pearpass",
    "buildsystem": "simple",
    "build-commands": [
     "chmod +x PearPass.AppImage",
     "./PearPass.AppImage --appimage-extract",
     "mkdir -p /app/lib/pearpass",
     "cp -a squashfs-root/. /app/lib/pearpass/",
     "mkdir -p /app/bin",
     "cat > /app/bin/pearpass <<'WRAPPER'\n#!/bin/sh\nAPP_ROOT=\"/app/lib/pearpass\"\nexport LD_LIBRARY_PATH=\"$APP_ROOT${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}\"\n# Force X11 backend: Wayland auto-detection inside the flatpak sandbox\n# is unreliable and was producing a black window on CI-built bundles.\n# X11 works natively on X11 sessions and via XWayland on Wayland sessions.\nexport GDK_BACKEND=x11\ncd \"$APP_ROOT\"\nexec \"$APP_ROOT/pearpass-app-desktop\" \\\n  --no-sandbox \\\n  --disable-gpu \\\n  --disable-gpu-sandbox \\\n  --disable-dev-shm-usage \\\n  --enable-features=UseOzonePlatform \\\n  --ozone-platform=x11 \\\n  \"$@\"\nWRAPPER\n",
     "chmod +x /app/bin/pearpass",
     "cat > /app/bin/pearpass-native-host <<'NMHOST'\n#!/bin/sh\n# Call the Electron binary directly, bypassing the pearpass-app-desktop\n# shell launcher which unconditionally injects --no-sandbox. Under\n# ELECTRON_RUN_AS_NODE=1 the binary runs as Node and rejects that flag,\n# causing Chrome to see \"Native host has exited\".\nAPP_ROOT=\"/app/lib/pearpass\"\nexport LD_LIBRARY_PATH=\"$APP_ROOT${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}\"\nexport ELECTRON_RUN_AS_NODE=1\nexec \"$APP_ROOT/pearpass-app-desktop.bin\" \\\n  \"$APP_ROOT/resources/app/dist/native-messaging-bridge.bundle.cjs\" \\\n  \"$@\"\nNMHOST\n",
     "chmod +x /app/bin/pearpass-native-host",
     "install -Dm644 com.pears.pass.desktop /app/share/applications/com.pears.pass.desktop",
     "install -Dm644 com.pears.pass.metainfo.xml /app/share/metainfo/com.pears.pass.metainfo.xml",
     "install -Dm644 icon-512.png /app/share/icons/hicolor/512x512/apps/com.pears.pass.png"
    ],
    "sources": [
     {
      "type": "file",
      "path": "appimage/PearPass.AppImage"
     },
     {
      "type": "file",
      "path": "com.pears.pass.desktop"
     },
     {
      "type": "file",
      "path": "com.pears.pass.metainfo.xml"
     },
     {
      "type": "file",
      "path": "icon-512.png"
     }
    ]
   }
  ]
 }
}