added syncthing as module

This commit is contained in:
willifan 2024-12-15 16:05:06 +01:00
parent 121c86247a
commit 272bcb75f4

View file

@ -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;
};
#devices.*.id;
services.syncthing = {
enable = true;
user = "willifan";
dataDir = "/mnt/data";
configDir = "/mnt/data/.config/syncthing";
overrideDevices = true;
overrideFolders = true;
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 = [ ];
};
};
};