From 272bcb75f450cbb654a4f57d9e86f8acf465e612 Mon Sep 17 00:00:00 2001 From: willifan <willifan@proton.me> Date: Sun, 15 Dec 2024 16:05:06 +0100 Subject: [PATCH] added syncthing as module --- modules/common/syncthing.nix | 63 ++++++++++++++---------------------- 1 file changed, 25 insertions(+), 38 deletions(-) diff --git a/modules/common/syncthing.nix b/modules/common/syncthing.nix index 4b06a0c..6059665 100644 --- a/modules/common/syncthing.nix +++ b/modules/common/syncthing.nix @@ -1,68 +1,55 @@ { lib, config, ... }: { - - options = { - - syncthing.devices = lib.mkOption { - default = { }; - type = lib.types.attrsOf (lib.types.submodule { - options = { - - id = lib.mkOption { - type = lib.types.str; - default = null; - }; - - }; - }); - }; + options.common.syncthing = { + enable = lib.mkEnableOption; }; - - services.syncthing = { - enable = true; - user = "willifan"; - dataDir = "/mnt/data"; - configDir = "/mnt/data/.config/syncthing"; - overrideDevices = true; - overrideFolders = true; + #devices.*.id; + + config.services.syncthing = lib.mkIf config.common.syncthing.enable { + enable = lib.mkDefault false; + user = lib.mkDefault "willifan"; + dataDir = lib.mkDefault "/mnt/data"; + configDir = lib.mkDefault "/mnt/data/.config/syncthing"; + overrideDevices = lib.mkDefault true; + overrideFolders = lib.mkDefault true; settings = { gui = { - user = "willifan"; - password = "temppassword"; + user = lib.mkDefault "willifan"; + password = lib.mkDefault "temppassword"; }; devices = { Anton = { id = "WCDBADD-UPKCACI-X2YJOIO-5QC44PL-DBCR6TS-ADVQV33-HSMF32O-FOKMKAU"; }; }; - folders = { + folders = lib.mkDefault { "Documents" = { id = "jtl6g-qjmwo"; path = "/mnt/data/Documents"; - devices = [ "Anton" ]; + devices = [ ]; }; - "Enpass" = { + "Enpass" = lib.mkDefault { id = "ciksm-xsw4m"; path = "/mnt/data/Enpass"; - devices = [ "Anton" ]; + devices = [ ]; }; - "Pictures" = { + "Pictures" = lib.mkDefault { id = "po4qj-q9t0t"; path = "/mnt/data/Pictures"; - devices = [ "Anton" ]; + devices = [ ]; }; - "Videos" = { + "Videos" = lib.mkDefault { id = "4wqf5-xasng"; path = "/mnt/data/Videos"; - devices = [ "Anton" ]; + devices = [ ]; }; - "Notes" = { + "Notes" = lib.mkDefault { id = "oc61n-iewgj"; path = "/mnt/data/Notes"; - devices = [ "Anton" ]; + devices = [ ]; }; - "Music" = { + "Music" = lib.mkDefault { id = "xxh8a-3y2tq"; path = "/mnt/data/Music"; - devices = [ "Anton" ]; + devices = [ ]; }; }; };