nixos/services/syncthing/default.nix
Evie Litherland-Smith 10a44cbc2d Major re-write to make things more modularised
Move collection expressions from hosts/ into services/ as importable
modules
Remove service/hostname.nix collections
Remove all imports from host/ expressions and include as modules in
flake.nix
Set sensible defaults that propagate to (I think) everything
2023-09-10 17:07:11 +01:00

78 lines
2.3 KiB
Nix

{ lib, user, group, ... }:
let devices = [ "Ion" "Legion" "Monarch" "Northstar" "Ronin" "Vanguard" ];
in {
services.syncthing = {
inherit user group;
enable = true;
dataDir = lib.mkDefault "/home/${user}";
systemService = true;
openDefaultPorts = true;
settings = {
devices = {
"Ion".id =
"7DD4NPH-6T2ET5A-4FCLFWW-CS6UR2W-IO5XQXC-DM5B2Q4-6X7DGU2-UKKVEAB";
"Legion".id =
"6OX54CG-EAQMXKA-K7TXB5P-G5A27HB-52JE2FA-XNAYZU6-YMIDBXP-RKPBJQV";
"Monarch".id =
"CJSUZQY-67XBLEZ-VKVHQHI-BLEUZNF-G4237AV-AW44CGH-F3JDKXU-CWT3RQZ";
"Northstar".id =
"HNK5Z72-757G3BP-I4PBWXY-FM5FWCM-ES4XP56-E5ULWB5-RGRCBUI-RHWRXQV";
"Ronin".id =
"ZOL5YHK-ZZZULIE-UHGVKHW-H5E4BP7-S4CZBOX-OIZVUCV-RZUXOKA-QVBUBAJ";
"Vanguard".id =
"I366QNQ-D3FTDRX-RNOTXMW-YITZXOF-DSCDMQD-63Q72LI-ME2Y4HZ-T34RMQK";
};
folders = {
"Archive" = {
inherit devices;
id = "hwnqy-xzcdx";
path = lib.mkDefault "~/Documents/Archive";
ignorePerms = true;
};
"Books" = {
inherit devices;
id = "zjmxy-ycmbq";
path = lib.mkDefault "~/Documents/Books";
ignorePerms = true;
};
"Comics" = {
inherit devices;
id = "kc2h0-q3wot";
path = lib.mkDefault "~/Documents/Comics";
ignorePerms = true;
};
"Documents" = {
inherit devices;
id = "qc6qa-bipsd";
path = lib.mkDefault "~/Documents/Sync";
ignorePerms = true;
};
"Exports" = {
inherit devices;
id = "tof2e-pdtde";
path = lib.mkDefault "~/Documents/Exports";
ignorePerms = true;
};
"Notes" = {
inherit devices;
id = "4ggjz-5dyop";
path = lib.mkDefault "~/Notes";
ignorePerms = true;
};
"Pictures" = {
inherit devices;
id = "ziuj8-rm6dn";
path = lib.mkDefault "~/Pictures";
ignorePerms = true;
};
"Zotero" = {
inherit devices;
id = "huyvn-liwc9";
path = lib.mkDefault "~/Documents/Zotero";
ignorePerms = true;
};
};
};
};
}