{ lib, config, ... }: let cfg = config.modules.syncthing; in { options.modules.syncthing = { enable = lib.mkOption {default = false;}; overrideSettings = lib.mkOption {default = false;}; }; config = lib.mkIf cfg.enable { services.syncthing.enable = true; services.syncthing.user = "julian"; services.syncthing.openDefaultPorts = true; services.syncthing.configDir = "/home/julian/.config/syncthing"; services.syncthing.overrideDevices = cfg.overrideSettings; # overrides any devices added or deleted through the WebUI services.syncthing.overrideFolders = cfg.overrideSettings; # overrides any folders added or deleted through the WebUI systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true"; # Don't create default ~/Sync folder }; }