A shortcoming of the Arroyo Systems Management data model is that I can't have modules in the same file with different roles: If I were to install Syncthing's tray files in the Syncthing page, it pulls in a whole Qt and KDE Plasma environment on to my server! So I define it here. open threads
So this is the tray module for Syncthing which is installed in My NixOS configuration for endpoints.
{ lib, pkgs, ... }:
{
services.syncthing.tray.enable = true;
systemd.user.services.syncthingtray.Service.ExecStart = lib.mkForce "${pkgs.syncthingtray}/bin/syncthingtray --wait";
systemd.user.services.syncthingtray.Unit.After = lib.mkForce ["graphical-session-pre.target"];
systemd.user.services.syncthingtray.Unit.Requires = lib.mkForce [];
home.packages = [ pkgs.syncthingtray ];
}
I modify the systemd
configuration to
wait for the Plasma tray to become available since there is no tray.target
which the default configuration
relies on.