Syncthing: Difference between revisions
Cleanup |
Cleanup |
||
Line 17: | Line 17: | ||
== Configuration == | == Configuration == | ||
=== Sync folders and trusted remote hosts === | |||
Following configuration will trust the remote hosts <code>device1</code> and <code>device2</code> by adding their <code>id</code>s. The shares <code>Documents</code> and <code>Example</code> are added to the local node, defined by their local file paths and list of allowed devices.<syntaxhighlight lang="nix"> | |||
services.syncthing = { | |||
settings = { | |||
devices = { | |||
"device1" = { id = "DEVICE-ID-GOES-HERE"; }; | |||
<syntaxhighlight lang="nix"> | "device2" = { id = "DEVICE-ID-GOES-HERE"; }; | ||
services = { | }; | ||
folders = { | |||
"Documents" = { | |||
path = "/home/myusername/Documents"; | |||
devices = [ "device1" "device2" ]; | |||
}; | }; | ||
"Example" = { | |||
path = "/home/myusername/Example"; | |||
devices = [ "device1" ]; | |||
# By default, Syncthing doesn't sync file permissions. This line enables it for this folder. | |||
ignorePerms = false; | |||
}; | }; | ||
}; | }; | ||
}; | }; | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Declarative node IDs === | === Declarative node IDs === | ||
If you set up Syncthing with the above configuration, you will still need to manually accept the connection from your other devices. If you want to make this automatic, you must also set the key.pem and cert.pem options: | If you set up Syncthing with the above configuration, you will still need to manually accept the connection from your other devices. If you want to make this automatic, you must also set the key.pem and cert.pem options: | ||
Line 89: | Line 62: | ||
cert.pem config.xml key.pem</syntaxhighlight> | cert.pem config.xml key.pem</syntaxhighlight> | ||
== Disable default sync folder == | == Tips and tricks == | ||
=== Disable default sync folder === | |||
Syncthing creates a 'Sync' folder in your home directory every time it regenerates a configuration, even if your declarative configuration does not have this folder. You can disable that by setting the STNODEFAULTFOLDER environment variable: | Syncthing creates a 'Sync' folder in your home directory every time it regenerates a configuration, even if your declarative configuration does not have this folder. You can disable that by setting the STNODEFAULTFOLDER environment variable: | ||
<syntaxhighlight lang="nix">systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true"; # Don't create default ~/Sync folder</syntaxhighlight> | <syntaxhighlight lang="nix">systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true"; # Don't create default ~/Sync folder</syntaxhighlight> | ||
== | == See also == | ||
https://github.com/nix-community/home-manager/blob/master/modules/services/syncthing.nix | * Home-Manager service https://github.com/nix-community/home-manager/blob/master/modules/services/syncthing.nix | ||
[[Category: Applications]] | [[Category: Applications]] |