app-id: app.deepink.Deepink runtime: org.freedesktop.Platform runtime-version: "25.08" sdk: org.freedesktop.Sdk command: deepink finish-args: # ── Display ────────────────────────────────────────────────────────────── # Primary display socket. Electron 20+ can run natively on Wayland when # launched with --ozone-platform-hint=auto (see deepink.sh). - --socket=wayland # Automatically falls back to X11/XWayland on systems without Wayland. # Use fallback-x11 (not plain x11) when wayland is also listed. - --socket=fallback-x11 # X11 shared-memory (MIT-SHM) — required for correct rendering on X11/XWayland. - --share=ipc # ── GPU ────────────────────────────────────────────────────────────────── # Grants access to /dev/dri for hardware-accelerated rendering. # Without this Chromium falls back to software rendering or crashes. - --device=dri # ── Network ────────────────────────────────────────────────────────────── # Needed for the built-in update-checker and any future sync features. - --share=network # ── D-Bus ──────────────────────────────────────────────────────────────── # Send desktop notifications (used by the Reminders feature). # Also used to listen for the screen lock events and lock vault automatically - --talk-name=org.freedesktop.Notifications # Allow the tray icon to register itself on KDE/Plasma. - --talk-name=org.kde.StatusNotifierWatcher # Support for the global application menu on KDE. - --talk-name=com.canonical.AppMenu.Registrar modules: - name: deepink buildsystem: simple only-arches: - x86_64 build-commands: # Install Electron app under /app/lib/deepink/ - mkdir -p /app/lib/deepink - cp -r artifacts/app/* /app/lib/deepink - chmod +x /app/lib/deepink/deepink # Install the launcher wrapper # The wrapper passes --no-sandbox because Electron's setuid # chrome-sandbox cannot be used inside a Flatpak (setuid is disallowed). # The Flatpak sandbox itself provides equivalent isolation. - install -Dm755 deepink.sh /app/bin/deepink # Install the application icon # Generate PNGs from SVG - | for size in 256 128 64 48 32; do \ rsvg-convert -w $size -h $size /app/lib/deepink/resources/assets/icons/app.svg -o app-$size.png; \ done # Install SVG - install -Dm644 /app/lib/deepink/resources/assets/icons/app.svg \ /app/share/icons/hicolor/scalable/apps/app.deepink.Deepink.svg # Install PNGs - | for size in 256 128 64 48 32; do \ install -Dm644 app-$size.png \ /app/share/icons/hicolor/${size}x${size}/apps/app.deepink.Deepink.png; \ done # Install the desktop entry - install -Dm644 app.deepink.Deepink.desktop /app/share/applications/app.deepink.Deepink.desktop # Install AppStream metadata - install -Dm644 app.deepink.Deepink.metainfo.xml /app/share/metainfo/app.deepink.Deepink.metainfo.xml sources: # Pre-built release artifact from GitHub # flatpak-builder downloads and verifies the sha256 before building. # Update both url and sha256 on every new release. - type: archive url: https://github.com/DeepinkApp/deepink/releases/download/v0.2.1/deepink-linux-x64-0.2.1.zip sha256: 226ebb2b4914ffaa809961b7192ed43bdaaf33a4eda341f706433fff211f2296 dest: "artifacts/app" - type: file path: deepink.sh - type: file path: app.deepink.Deepink.metainfo.xml - type: file path: app.deepink.Deepink.desktop