{ config, lib, pkgs, ... }: { # ZFS automatic backup solution services.znapzend = { enable = true; autoCreation = true; features = { compressed = true; recvu = true; }; zetup = { "syscea/state/root" = { plan = "1d=>1h,1m=>1d,1y=>1m"; recursive = true; mbuffer = true; destinations.remote = { host = "coolneng@zion"; dataset = "syscea/root"; }; }; "syscea/state/home" = { plan = "1d=>1h,1m=>1d,1y=>1m"; recursive = true; mbuffer = true; destinations.remote = { host = "coolneng@zion"; dataset = "syscea/home"; }; }; }; }; # Syncthing configuration services.syncthing = { enable = true; dataDir = "/home/coolneng"; declarative = { devices = { zion = { id = "XABIMVG-K5RKMAF-KNC33AR-TDAVEGK-GHUIVFD-NIFCX6L-6PQXRM5-KLK2PAU"; }; }; 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"; type = "sendonly"; path = "/home/coolneng/Projects"; devices = [ "zion" ]; }; }; }; }; }