{ config, lib, pkgs, ...}: let inherit (lib) mkEnableOption mkIf; cfg = config.nixfiles.programs.syncthing; in { options.nixfiles.programs.syncthing = { enable = mkEnableOption "Syncthing configuration"; }; config = mkIf cfg.enable { services.syncthing = { enable = lib.mkDefault true; openDefaultPorts = lib.mkDefault true; user = lib.mkDefault "nullbite"; dataDir = let user = config.services.syncthing.user; dir = config.users.users.${user}.home; in lib.mkDefault dir; }; }; }