panacea/modules/datasync.nix

93 lines
2.0 KiB
Nix
Raw Normal View History

2020-04-29 02:50:17 +02:00
{ config, lib, pkgs, ... }:
{
# ZFS automatic snapshots
services.zfs.autoSnapshot = {
2020-04-29 02:50:17 +02:00
enable = true;
2020-12-28 19:34:09 +01:00
frequent = 4;
hourly = 24;
daily = 7;
weekly = 4;
monthly = 12;
2020-04-29 02:50:17 +02:00
};
2020-04-30 03:02:54 +02:00
# Syncthing configuration
services.syncthing = {
enable = true;
2020-05-09 18:53:22 +02:00
user = "coolneng";
2020-04-30 03:02:54 +02:00
dataDir = "/home/coolneng";
2021-08-13 11:00:13 +02:00
key = config.age.secrets.syncthing.path;
devices.zion = {
id = "FLI2RS7-GNI5PDM-SQRNF7P-YJIOXJ7-46FRPEI-NRLQGBC-HXRWG7O-RKOVLAF";
2022-01-05 15:03:56 +01:00
addresses = [ "tcp://192.168.1.2:22000" ];
};
folders = {
Documents = {
id = "wusdj-bfjkr";
path = "/home/coolneng/Documents";
devices = [ "zion" ];
versioning = {
type = "simple";
params.keep = "5";
};
2020-04-30 03:02:54 +02:00
};
Notes = {
id = "kafhz-bfmzm";
path = "/home/coolneng/Notes";
devices = [ "zion" ];
versioning = {
type = "simple";
params.keep = "5";
2020-04-30 03:02:54 +02:00
};
};
2020-04-30 03:02:54 +02:00
Music = {
id = "2aqt7-vpprc";
path = "/home/coolneng/Music";
devices = [ "zion" ];
};
2020-04-30 03:02:54 +02:00
Photos = {
id = "mjibc-ustcg";
path = "/home/coolneng/Photos";
devices = [ "zion" ];
};
2020-04-30 03:02:54 +02:00
Projects = {
id = "cjhmu-avy9v";
path = "/home/coolneng/Projects";
devices = [ "zion" ];
};
2020-12-22 03:44:56 +01:00
Phone = {
2021-11-02 21:24:30 +01:00
id = "m2007j20cg_vc7r-photos";
type = "receiveonly";
path = "/home/coolneng/Photos/Phone";
devices = [ "zion" ];
};
2020-12-22 03:44:56 +01:00
Files = {
id = "tsk52-u6rbk";
path = "/home/coolneng/Files";
devices = [ "zion" ];
2020-04-30 03:02:54 +02:00
};
};
};
2022-01-27 00:29:15 +01:00
# 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;
in [
"${automount_opts},credentials=${credentials},noperm,vers=3.0,sec=ntlmv2i"
];
};
2020-04-29 02:50:17 +02:00
}