complete-computing-environment/syncthing-tray.org

1.5 KiB

Controlling Syncthing on my Endpoints

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.