feat(packages): add GNOME desktop apps for isDesktop
Merged
SH
7mo ago+143+143+012345678901234567890123456789-3-3-0123456789
Summary
GNOME desktop apps
Adds 10 GNOME desktop apps to the isDesktop package list:
baobab, celluloid, cheese, eog, file-roller, gedit, gthumb, loupe, seahorse, shotwell
GNOME Keyring auto-unlock via TPM2 (fingerprint-compatible)
Enables fully automatic GNOME Keyring unlock at login ā including fingerprint auth ā using a TPM2+host-bound systemd-creds credential.
Why not gnome-keyring-daemon --unlock? In v48+ it ignores GNOME_KEYRING_CONTROL and always spawns a fresh instance. Instead, a Python script speaks the control socket protocol directly ($XDG_RUNTIME_DIR/keyring/control): credentials byte + big-endian [oplen][op=1][pwlen][password], reads [8][result].
Architecture:
- System service (
systemd.services) withUser=skakinokiā system manager handles TPM decryption, then drops to user LoadCredentialEncryptedfrom/etc/credstore.encrypted/gnome-keyring.credpam_gnome_keyringstill handles password logins via PAM; this service covers fingerprint logins
One-time setup (see named-hosts/matic/README.md):
sudo bash -c 'mkdir -p /etc/credstore.encrypted && \
systemd-ask-password "Keyring password:" | \
systemd-creds encrypt --name=gnome-keyring --with-key=tpm2+host \
- /etc/credstore.encrypted/gnome-keyring.cred'
Test plan
-
make build && make switchsucceeds - GNOME apps launch correctly on desktop
- After setup:
sudo systemctl restart gnome-keyring-unlock.servicelogsgnome-keyring unlock: OK - After reboot with fingerprint login: no keyring password prompt
š¤ Generated with Claude Code