packages: run KUnifiedPush as the UnifiedPush distributor

another.im (and any UnifiedPush app) is woken by its server for each
message only while a distributor runs on the session bus; GNOME has
none, so the app reported "no UnifiedPush distributor" and missed
messages once quit. KUnifiedPush's distributor needs no Plasma and
uses KDE's ntfy server by default.

Its unit ships in share/systemd/user, which systemd.packages does not
read, so the user service is written out here as the package's own
(26.04), started with the graphical session.

Assisted-by: Claude:opus-5-5
This commit is contained in:
Sergei Poljanski 2026-10-16 13:52:56 +04:00
commit 23b3b3ff39
Signed by: asxpi
GPG key ID: 4F8851660FA4121B

View file

@ -142,6 +142,26 @@
gnomeExtensions.tlp-profile-switcher
];
# UnifiedPush distributor, so a server can wake push-capable apps
# (another.im) after they have quit. KUnifiedPush defaults to KDE's ntfy
# server; System Settings' "Push Notifications" page (kcm_push_notifications)
# picks another. Its own unit is in share/systemd/user, which systemd.packages
# does not read, so it is written out here (the package's, as of 26.04).
systemd.user.services.kunifiedpush-distributor = {
description = "KUnifiedPush Distributor";
partOf = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
wantedBy = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${pkgs.kdePackages.kunifiedpush}/bin/kunifiedpush-distributor";
Type = "exec";
BusName = "org.unifiedpush.Distributor.kde";
TimeoutStopSec = "5sec";
Slice = "background.slice";
Restart = "on-failure";
};
};
# PC/SC daemon — middleware for the smart card reader (Estonian ID)
services.pcscd.enable = true;