{
  lib,
  config,
  pkgs,
  ...
}: let
  cfg = config.marleyos.services.syncthing;
in {
  # I am specifically not enabling this for the OS as a whole, as I don't want
  # to deal with user shenanigans.
  options.marleyos.services.syncthing.enable = lib.mkEnableOption "syncthing";

  config = lib.mkIf cfg.enable {
    home.packages = [
      config.services.syncthing.tray.package
    ];

    services.syncthing = {
      enable = true;

      tray = {
        enable = true;
        command = "syncthingtray";
        package = pkgs.syncthingtray-minimal;
      };
    };
  };
}
