feat: the Linux app as a Snap
All checks were successful
CI / check (push) Successful in 9m31s
CI / deploy (push) Successful in 11s

snap/snapcraft.yaml builds the Linux app as a strictly confined Snap on
core24 with the GNOME extension (GTK, WebKitGTK, GStreamer and libsecret
come from its runtime; files and the browser go through the desktop's
portals), connecting to learn.halkyon.eu, the project's instance. It
builds what is committed, with Flutter pinned as in CI.

- The session: libsecret's keyring over D-Bus needs the
  password-manager-service plug, which the Store never connects by
  itself, so unless it is connected the app keeps the session in an
  encrypted file whose key comes from the Secret portal
  (snap/local/secret-backend).
- network-manager-observe lets Serverpod hear that the network went and
  end the sync's connection at once; until the Store grants it, it too
  is connected by hand.
- The listing points to the project, not the instance: the website
  learn.halkyon.app, contact and issues support@halkyon.app.
- The icon is the app's with rounded corners (tool/snap_icon.py), for
  the Store and the dock alike.
- The app's version is 0.1.0, build 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-05 14:27:54 +02:00
commit 6da776e6ba
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64
2 changed files with 190 additions and 1 deletions

View file

@ -0,0 +1,9 @@
[Desktop Entry]
Type=Application
Name=Halkyon Learn
Comment=Learn with flashcards, studied offline and synced between your devices
Exec=halkyon-learn
Icon=${SNAP}/meta/gui/halkyon-learn.png
Terminal=false
Categories=Education;
StartupWMClass=app.halkyon.learn

BIN
snap/gui/halkyon-learn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB