migrate syncthing config to clan
This commit is contained in:
@@ -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" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user