diff options
Diffstat (limited to '')
-rw-r--r-- | modules/services/syncthing/default.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/modules/services/syncthing/default.nix b/modules/services/syncthing/default.nix new file mode 100644 index 0000000..7f7ed3a --- /dev/null +++ b/modules/services/syncthing/default.nix @@ -0,0 +1,50 @@ +{ config, pkgs, lib, ... }: +let + cfg = config.my.services.syncthing; + secrets = config.age.secrets; +in { + options.my.services.syncthing = with lib; { + enable = mkEnableOption "syncthing service"; + }; + + config = lib.mkIf cfg.enable { + services.syncthing = { + enable = true; + openDefaultPorts = true; + user = "fcuny"; + group = "users"; + dataDir = "/home/fcuny/.local/state/syncthing"; + cert = secrets."syncthing/cert".path; + key = secrets."syncthing/key".path; + + folders.Documents = { + path = "/home/fcuny/documents"; + devices = [ "aptos" "tahoe" ]; + }; + + folders.PixelCamera = { + path = "/home/fcuny/media/pixel/camera"; + id = "pixel_5_vwsr-photos"; + devices = lib.attrNames config.services.syncthing.devices; + }; + + devices = { + aptos = { + id = + "JAN5UMH-2FAQQ7S-KLQ2YXM-C7KKK7U-HVHUK7I-CWOZQRM-VLQSO63-ZTP4WAN"; + introducer = false; + }; + tahoe = { + id = + "4Y36C3Y-LUTO6LD-JXNV73B-FLXSTNP-5Q3CSPY-HESHTPH-EDYA54K-WEICJAJ"; + introducer = true; + }; + pixel = { + id = + "J3JQFCJ-MY5RCF7-4NXMVU5-2JECKWO-UHFUS5T-KO64EMB-RNUV4F2-ZQ7Z6A6"; + introducer = false; + }; + }; + }; + }; +} |