migrate syncthing config to clan

This commit is contained in:
2025-08-25 07:21:21 +02:00
parent dce89a70fb
commit f3aa929cf5
3 changed files with 36 additions and 103 deletions

View File

@@ -16,6 +16,12 @@
tags = [ tags = [
"garage" "garage"
"server" "server"
"syncthing"
];
};
haze = {
tags = [
"syncthing"
]; ];
}; };
}; };
@@ -163,6 +169,31 @@
}; };
}; };
}; };
syncthing = {
roles.peer.tags.syncthing = { };
roles.peer.settings.folders = {
Documents = {
path = "~/Documents";
};
Music = {
path = "~/Music";
};
Pictures = {
path = "~/Pictures";
};
Videos = {
path = "~/Videos";
};
};
roles.peer.settings.extraDevices = {
pixel-7a = {
id = "IZE7B4Z-LKTJY6Q-77NN4JG-ADYRC77-TYPZTXE-Q35BWV2-AEO7Q3R-ZE63IAU";
name = "Pixel 7a";
addresses = [ "dynamic" ];
};
};
};
}; };
}; };
} }

View File

@@ -19,48 +19,8 @@ in
services.syncthing = { services.syncthing = {
enable = true; enable = true;
user = user; user = user;
group = "users"; group = lib.mkForce "users";
dataDir = home; dataDir = home;
configDir = "${home}/.config/syncthing"; configDir = lib.mkForce "${home}/.config/syncthing";
openDefaultPorts = true;
overrideDevices = true;
overrideFolders = true;
settings = {
devices = {
"haze" = {
id = "INMEQOC-5WT5JMJ-EYCBQVQ-LK2CIFQ-A5IRXPR-724CPE6-Z5A4UTH-5QGO4QD";
};
"pixel-7a" = {
id = "IZE7B4Z-LKTJY6Q-77NN4JG-ADYRC77-TYPZTXE-Q35BWV2-AEO7Q3R-ZE63IAU";
};
};
folders = {
"Documents" = {
path = "${home}/Documents";
devices = [
"haze"
];
};
"Music" = {
path = "${home}/Media/Music";
devices = [
"haze"
"pixel-7a"
];
};
"Pictures" = {
path = "${home}/Media/Pictures";
devices = [
"haze"
];
};
"Videos" = {
path = "${home}/Media/Videos";
devices = [
"haze"
];
};
};
};
}; };
} }

View File

@@ -1,5 +1,6 @@
{ {
config, config,
lib,
... ...
}: }:
let let
@@ -10,67 +11,8 @@ in
services.syncthing = { services.syncthing = {
enable = true; enable = true;
user = user; user = user;
group = "users"; group = lib.mkForce "users";
dataDir = home; dataDir = home;
configDir = "${home}/.config/syncthing"; configDir = lib.mkForce "${home}/.config/syncthing";
key = config.clan.core.vars.generators.syncthing.files."key".path;
cert = config.clan.core.vars.generators.syncthing.files."cert".path;
openDefaultPorts = true;
overrideDevices = true;
overrideFolders = true;
settings = {
devices = {
"genepi" = {
id = "TNP3M2Z-2AJ3CJE-4LLYHME-3KWCLN4-XQWBIDJ-PTDRANE-RRBYQWQ-KXJFTQU";
};
"pixel-7a" = {
id = "IZE7B4Z-LKTJY6Q-77NN4JG-ADYRC77-TYPZTXE-Q35BWV2-AEO7Q3R-ZE63IAU";
};
};
folders = {
"Documents" = {
path = "${home}/Documents";
devices = [
"genepi"
"pixel-7a"
];
};
"Music" = {
path = "${home}/Music";
devices = [
"genepi"
"pixel-7a"
];
};
"Pictures" = {
path = "${home}/Pictures";
devices = [
"genepi"
];
};
"Videos" = {
path = "${home}/Videos";
devices = [
"genepi"
];
};
};
};
};
clan.core.vars.generators.syncthing = {
prompts.key = {
description = "syncthing private key";
type = "hidden";
persist = true;
};
files.key.owner = config.services.syncthing.user;
prompts.cert = {
description = "syncthing cert";
type = "hidden";
persist = true;
};
files.cert.owner = config.services.syncthing.user;
}; };
} }