aboutsummaryrefslogtreecommitdiff
path: root/modules/services/syncthing/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/services/syncthing/default.nix')
-rw-r--r--modules/services/syncthing/default.nix50
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;
+ };
+ };
+ };
+ };
+}