{ config, lib, pkgs, ... }: { # ZFS automatic snapshots services.zfs.autoSnapshot = { enable = true; frequent = 4; hourly = 24; daily = 7; weekly = 4; monthly = 12; }; # Syncthing configuration services.syncthing = { enable = true; user = "coolneng"; dataDir = "/home/coolneng"; key = config.age.secrets.syncthing.path; devices.zion = { id = "FLI2RS7-GNI5PDM-SQRNF7P-YJIOXJ7-46FRPEI-NRLQGBC-HXRWG7O-RKOVLAF"; addresses = [ "tcp://192.168.1.2:22000" ]; }; folders = { Documents = { id = "wusdj-bfjkr"; path = "/home/coolneng/Documents"; devices = [ "zion" ]; versioning = { type = "simple"; params.keep = "5"; }; }; Notes = { id = "kafhz-bfmzm"; path = "/home/coolneng/Notes"; devices = [ "zion" ]; versioning = { type = "simple"; params.keep = "5"; }; }; Music = { id = "2aqt7-vpprc"; path = "/home/coolneng/Music"; devices = [ "zion" ]; }; Photos = { id = "mjibc-ustcg"; path = "/home/coolneng/Photos"; devices = [ "zion" ]; }; Projects = { id = "cjhmu-avy9v"; path = "/home/coolneng/Projects"; devices = [ "zion" ]; }; Phone = { id = "m2007j20cg_vc7r-photos"; type = "receiveonly"; path = "/home/coolneng/Photos/Phone"; devices = [ "zion" ]; }; Files = { id = "tsk52-u6rbk"; path = "/home/coolneng/Files"; devices = [ "zion" ]; }; }; }; # Samba configuration fileSystems."/ugent" = { device = "//files.ugent.be/akasroua"; fsType = "cifs"; options = let automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"; credentials = config.age.secrets.samba-ugent.path; # Automount external storage systemd.mounts = [ # USB { what = "/dev/sda1"; where = "/usb"; mountConfig = { TimeoutSec = "5"; }; } # SD card { what = "/dev/mmcblk0p1"; where = "/sdcard"; mountConfig = { TimeoutSec = "5"; }; } ]; systemd.automounts = [ # USB { where = "/usb"; automountConfig = { TimeoutIdleSec = "5"; }; wantedBy = [ "default.target" ]; } # SD card { where = "/sdcard"; automountConfig = { TimeoutIdleSec = "5"; }; wantedBy = [ "default.target" ]; } ]; in [ "${automount_opts},credentials=${credentials},noperm,vers=3.0,sec=ntlmv2i" ]; }; }