added syncthing to other computers
This commit is contained in:
parent
6d6e34e06a
commit
c9bc06f594
|
@ -118,6 +118,16 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
subdomain = "drive";
|
subdomain = "drive";
|
||||||
};
|
};
|
||||||
|
sync = {
|
||||||
|
enable = true;
|
||||||
|
folders = {
|
||||||
|
leyla = {
|
||||||
|
documents.enable = true;
|
||||||
|
calendar.enable = true;
|
||||||
|
notes.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
networking = {
|
networking = {
|
||||||
hostId = "c51763d6";
|
hostId = "c51763d6";
|
||||||
|
|
|
@ -29,6 +29,16 @@
|
||||||
openRGB.enable = true;
|
openRGB.enable = true;
|
||||||
graphicsAcceleration.enable = true;
|
graphicsAcceleration.enable = true;
|
||||||
};
|
};
|
||||||
|
sync = {
|
||||||
|
enable = true;
|
||||||
|
folders = {
|
||||||
|
leyla = {
|
||||||
|
documents.enable = true;
|
||||||
|
calendar.enable = true;
|
||||||
|
notes.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
|
|
@ -35,7 +35,8 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = lib.mkMerge [
|
||||||
|
{
|
||||||
systemd = lib.mkIf config.services.syncthing.enable {
|
systemd = lib.mkIf config.services.syncthing.enable {
|
||||||
tmpfiles.rules = [
|
tmpfiles.rules = [
|
||||||
"d ${mountDir} 755 syncthing syncthing -"
|
"d ${mountDir} 755 syncthing syncthing -"
|
||||||
|
@ -43,8 +44,11 @@ in {
|
||||||
"d ${config.services.syncthing.configDir} 755 syncthing syncthing -"
|
"d ${config.services.syncthing.configDir} 755 syncthing syncthing -"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
(lib.mkIf config.host.sync.enable (lib.mkMerge [
|
||||||
|
{
|
||||||
services.syncthing = {
|
services.syncthing = {
|
||||||
enable = config.host.sync.enable;
|
enable = true;
|
||||||
user = "syncthing";
|
user = "syncthing";
|
||||||
group = "syncthing";
|
group = "syncthing";
|
||||||
dataDir = "${mountDir}/default";
|
dataDir = "${mountDir}/default";
|
||||||
|
@ -59,32 +63,59 @@ in {
|
||||||
coven = {
|
coven = {
|
||||||
id = "QGU7NN6-OMXTWVA-YCZ73S5-2O7ECTS-MUCTN4M-YH6WLEL-U4U577I-7PBNCA5";
|
id = "QGU7NN6-OMXTWVA-YCZ73S5-2O7ECTS-MUCTN4M-YH6WLEL-U4U577I-7PBNCA5";
|
||||||
};
|
};
|
||||||
|
defiant = lib.mkIf (config.networking.hostName != "defiant") {
|
||||||
|
id = "TQGGO5F-PUXQYVV-LVVM7PR-Q4TKI6T-NR576PH-CFTVB4O-RP5LL6C-WKQMXQR";
|
||||||
|
};
|
||||||
|
twilight = lib.mkIf (config.networking.hostName != "twilight") {
|
||||||
|
id = "UDIYL7V-OAZ2BI3-EJRAWFB-GZYVDWR-JNUYW3F-FFQ35MU-XBTGWEF-QD6K6QN";
|
||||||
|
};
|
||||||
|
horizon = lib.mkIf (config.networking.hostName != "horizon") {
|
||||||
|
id = "OGPAEU6-5UR56VL-SP7YC4Y-IMVCRTO-XFD4CYN-Z6T5TZO-PFZNAT6-4MKWPQS";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
folders = lib.mkMerge [
|
folders = lib.mkMerge [
|
||||||
config.host.sync.folders.extraFolders
|
config.host.sync.folders.extraFolders
|
||||||
(lib.mkIf config.host.sync.folders.leyla.documents.enable {
|
(lib.mkIf config.host.sync.folders.leyla.documents.enable {
|
||||||
"documents" = {
|
"documents" = {
|
||||||
id = "hvrj0-9bm1p";
|
id = "hvrj0-9bm1p";
|
||||||
path = "/mnt/sync/leyla/documents";
|
path = "${mountDir}/leyla/documents";
|
||||||
devices = ["ceder" "coven"];
|
devices = ["ceder" "coven"];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(lib.mkIf config.host.sync.folders.leyla.calendar.enable {
|
(lib.mkIf config.host.sync.folders.leyla.calendar.enable {
|
||||||
"calendar" = {
|
"calendar" = {
|
||||||
id = "8oatl-1rv6w";
|
id = "8oatl-1rv6w";
|
||||||
path = "/mnt/sync/leyla/calendar";
|
path = "${mountDir}/leyla/calendar";
|
||||||
devices = ["ceder" "coven"];
|
devices = ["ceder" "coven"];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(lib.mkIf config.host.sync.folders.leyla.notes.enable {
|
(lib.mkIf config.host.sync.folders.leyla.notes.enable {
|
||||||
"notes" = {
|
"notes" = {
|
||||||
id = "dwbuv-zffnf";
|
id = "dwbuv-zffnf";
|
||||||
path = "/mnt/sync/leyla/notes";
|
path = "${mountDir}/leyla/notes";
|
||||||
devices = ["ceder" "coven"];
|
devices = ["ceder" "coven"];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
(lib.mkIf config.host.impermanence.enable {
|
||||||
|
environment.persistence = {
|
||||||
|
"/persist/system/root" = {
|
||||||
|
enable = true;
|
||||||
|
hideMounts = true;
|
||||||
|
directories = [
|
||||||
|
{
|
||||||
|
directory = mountDir;
|
||||||
|
user = "syncthing";
|
||||||
|
group = "syncthing";
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
]))
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue