panacea/modules/datasync.nix

82 lines
1.8 KiB
Nix

{ 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";
declarative = {
devices = {
zion = {
id =
"FLI2RS7-GNI5PDM-SQRNF7P-YJIOXJ7-46FRPEI-NRLQGBC-HXRWG7O-RKOVLAF";
addresses = [ "tcp://10.8.0.1: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_288y-photos";
type = "receiveonly";
path = "/home/coolneng/Photos/Phone";
devices = [ "zion" ];
};
Files = {
id = "tsk52-u6rbk";
path = "/home/coolneng/Files";
devices = [ "zion" ];
};
};
};
};
}