{ config, lib, pkgs, ... }: with lib; { services.syncthing = { guiAddress = lib.mkDefault "${config.networking.hostName}.private:8384"; declarative = { overrideDevices = lib.mkDefault true; devices = let device = name: id: { "${name}" = { name = name; id = id; addresses = [ "tcp://${name}.private:22000" ]; }; }; in { "robi" = { name = "robi"; id = "B6P22RF-5BC2LTZ-6GHVWRZ-5D3OLXC-D66E45Y-JEB3WYT-ZQ442WZ-5FFAMQ7"; addresses = [ "tcp://144.76.13.147:22000" ]; }; } // (device "workhorse" "AFSAKB6-JLH4QAS-DSRMPI3-6PVCIHF-IIAVLPC-STPNO3Y-YRDU5NW-QD445QI") // (device "pepe" "SZLXFW3-VTAC7UB-V2Z7CHE-3VZAYPL-6D72AK6-OCDMPZP-G4FPY5P-FL6ZVAG") // (device "workout" "DZOOAKG-GI2SVOS-QEVMFL7-TRHVTPQ-ADIJEVH-RH5WV3J-6M7MJHC-C53EOAC") // (device "sterni" "ZFNNKPD-ZSOAYJQ-VROXXDB-5MD3UTJ-GDCNTSQ-G5POVV3-UZG5HFT-CCAU3AD") // { "porani" = { name = "porani"; id = "6YOIA4E-X52ZD5Z-FPNWPRS-77QIMMU-VDIXVZB-6BPQN7A-FFJDU4W-EXEGFAI"; addresses = [ "tcp://porani.secret:22000" "tcp://porani.secret:21027" ]; }; } // { smartphone = { name = "smartphone"; id = "PRCA4KO-PEMLUSO-ERUSKAP-GUDSW2I-AYTEB54-E5JJOXJ-23X2UYP-RLSMKQM"; addresses = [ "dynamic" ]; }; } // { bumba = { name = "windows-bumba"; id = "JS7PWTO-VKFGBUP-GNFLSWP-MGFJ2KH-HLO2LKW-V3RPCR6-PCB5SQC-42FCKQZ"; addresses = [ "dynamic" ]; }; } // { mors = { name = "lassulus-mors"; id = "ZPRS57K-YK32ROQ-7A6MRAV-VOYXQ3I-CQCXISZ-C5PCV2A-GSFLG3I-K7UGGAH"; addresses = [ "tcp://mors.r:22000" ]; }; }; folders = { # needs to be on encrypted drives # ------------------------------- private = { enable = lib.mkDefault false; watch = false; devices = [ "workout" "workhorse" "pepe" "sterni" ]; versioning = { type = "simple"; params.keep = "10"; }; }; desktop = { enable = lib.mkDefault false; watch = false; devices = [ "workout" "workhorse" "pepe" "sterni" ]; }; finance = { enable = lib.mkDefault false; watch = false; devices = [ "workout" "workhorse" "pepe" "sterni" ]; versioning = { type = "simple"; params.keep = "10"; }; }; fotos = { enable = lib.mkDefault false; watch = false; devices = [ "workout" "workhorse" "pepe" "sterni" ]; versioning = { type = "simple"; params.keep = "10"; }; }; zettlr = { enable = lib.mkDefault false; watch = true; devices = [ "workout" "workhorse" "pepe" "sterni" ]; versioning = { type = "simple"; params.keep = "10"; }; }; programs = { enable = lib.mkDefault false; watch = true; devices = [ "workout" "sterni" ]; versioning = { type = "simple"; params.keep = "1"; }; }; # no need to be stored on encrypted drives # ---------------------------------------- borg-mirror = { enable = lib.mkDefault false; watch = false; devices = [ "workhorse" "pepe" ]; }; books = { enable = lib.mkDefault false; id = "wwbvs-5lfbh"; watch = false; devices = [ "workhorse" "pepe" "sterni" "robi" ]; versioning = { type = "simple"; params.keep = "10"; }; }; lost-fotos = { enable = lib.mkDefault false; watch = false; devices = [ "workhorse" "workout" "pepe" ]; versioning = { type = "simple"; params.keep = "10"; }; }; movies = { enable = lib.mkDefault false; id = "vatmy-c2qf4"; watch = false; devices = [ "workhorse" "pepe" "porani" "robi" ]; versioning = { type = "simple"; params.keep = "3"; }; }; music-library = { enable = lib.mkDefault false; id = "gytmq-r2zrx"; watch = false; devices = [ "workhorse" "pepe" "sterni" "robi" ]; versioning = { type = "simple"; params.keep = "10"; }; }; music-library-free = { enable = lib.mkDefault false; id = "mu9mn-zgvsw"; watch = false; devices = [ "workout" "workhorse" "pepe" "mors" ]; }; processing = { enable = lib.mkDefault false; watch = false; devices = [ "workout" "workhorse" "pepe" "sterni" ]; versioning = { type = "simple"; params.keep = "10"; }; }; music-projects = { enable = lib.mkDefault false; id = "acfhu-r4t4f"; watch = false; devices = [ "workout" "workhorse" "pepe" "sterni" ]; versioning = { type = "simple"; params.keep = "10"; }; }; smartphone-folder = { enable = lib.mkDefault false; watch = false; devices = [ "workout" "workhorse" "sterni" "smartphone" "pepe" ]; }; samples = { enable = lib.mkDefault false; id = "pcgkj-tjucd"; watch = false; devices = [ "workhorse" "sterni" "pepe" "robi" ]; }; series = { enable = lib.mkDefault false; id = "all-series"; watch = false; devices = [ "workhorse" "porani" "pepe" "robi" ]; versioning = { type = "simple"; params.keep = "10"; }; }; video-material = { enable = lib.mkDefault false; id = "wgkun-fec5h"; watch = false; devices = [ "workout" "workhorse" "pepe" ]; versioning = { type = "simple"; params.keep = "10"; }; }; windows-sync = { enable = lib.mkDefault false; id = "hcity-p5ikc"; watch = false; devices = [ "bumba" "workout" ]; }; }; }; }; }