system dependencies
this document lists the runtime and build-time system libraries the app depends on per platform. keep it in sync with the packaging manifests and the CI builder image.
Linux
these are required for the app to run after installation. package names may vary by distribution; the Debian / Ubuntu name is listed first.
libayatana-appindicator3-1(orlibappindicator3-1on older distros) — required bycnativeapifor the system tray icon.libgtk-3-0— GTK 3 runtime used by the native window and menu code.libx11-6andlibxi6— X11 and XInput libraries used by the native windowing layer.libasound2— ALSA.flutter_soloudlinks the bundled SoLoud engine, which opens the sound device through ALSA/PulseAudio. without it the engine fails to initialize and the app runs without audio (bells, soundscapes, TTS).libsecret-1-0— needed if any secure storage APIs are used.- standard GLibc /
pthreadruntime.
these names map to gtk3 / alsa-lib / libsecret on RPM and pacman
systems; the deb also pulls libblkid1 and liblzma5 for Flutter's bundled
shared libraries.
sandboxed packaging:
- Flatpak —
finish-argsincludes--socket=pulseaudioin addition to the wayland/x11 sockets, so the confined app can reach the sound server. - Snap — the
audio-playbackplug pluslibasound2instage-packages;password-manager-servicecovers libsecret-backed credential storage (WebDAV password).
build-time Linux dependencies (used when compiling the app from source):
build-essentialclangcmake>= 3.10pkg-configlibgtk-3-devlibx11-devlibxi-devlibayatana-appindicator3-dev(orlibappindicator3-dev)libsecret-1-devninja-build
Android
android.permission.INTERNETandandroid.permission.ACCESS_NETWORK_STATEare declared inAndroidManifest.xmland are required for WebDAV backup and sync.android.permission.USE_EXACT_ALARMorSCHEDULE_EXACT_ALARMdepending on target SDK.flutter_local_notificationshandles the exact-alarm request on Android 12+.
iOS / macOS
- no extra runtime libraries beyond the Flutter toolchain and iOS/macOS system frameworks.
- HealthKit (iOS only). writing sessions to Apple Health needs all of:
- the HealthKit capability on the Runner target, declared by
ios/Runner/Runner.entitlements(com.apple.developer.healthkit) and wired throughCODE_SIGN_ENTITLEMENTSinRunner.xcodeproj; NSHealthUpdateUsageDescriptioninios/Runner/Info.plist. the app writes only, soNSHealthShareUsageDescriptionis deliberately absent — add it alongside a read request if a feature ever reads back from the store, or HealthKit will terminate the app;- an iOS 14.0 deployment target, required by the
healthplugin. this is set in bothios/PodfileandIPHONEOS_DEPLOYMENT_TARGET; the two must stay in sync. - a paid Apple Developer account to provision the entitlement. HealthKit does not run on a free personal team.
- HealthKit does not exist on macOS.
healthServiceProviderroutes macOS to thehealthpackage, whoseisSupported()reports false there, so health sync is inert rather than broken.
Windows
- no extra runtime libraries beyond what Flutter bundles.