{ pkgs, config, lib, ... }: let fqdn = "sync.freun.dev"; port = 8384; storage_dir = "/mnt/storage/syncthing"; in { services.syncthing = { enable = true; dataDir = "/mnt/storage/syncthing"; openDefaultPorts = true; guiAddress = "[::1]:${toString port}"; settings.gui.insecureSkipHostCheck = true; }; modules.webserver.vHosts.${fqdn}.locations."/".proxyPort = port; fileSystems."${storage_dir}" = { device = "//u407959.your-storagebox.de/backup/syncthing"; fsType = "cifs"; options = let # this line prevents hanging on network split automount_opts = "x-systemd.automount,auto,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"; uid = builtins.toString config.users.users.syncthing.uid; gid = builtins.toString config.users.groups.syncthing.gid; in [ "${automount_opts},credentials=/var/secrets/smb-storage,uid=${uid},gid=${gid}" ]; }; environment.systemPackages = [ pkgs.cifs-utils ]; }