blob: 6d3d3d35db018b179de828f0bff2b6b1f27bed83 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
{ config, pkgs, lib, ... }: let
cfg = config.features.services.extra.syncthing-client;
in {
options.features.services.extra.syncthing-client = {
enable = lib.mkEnableOption "syncthing";
username = lib.mkOption {
type = lib.types.str;
description = "The username of syncthing's user";
};
};
config = lib.mkIf cfg.enable {
services.syncthing = {
enable = true;
user = cfg.username;
dataDir = "/home/${cfg.username}/Sync";
configDir = "/home/${cfg.username}/.config/syncthing";
overrideDevices = true;
overrideFolders = true;
settings = {
devices = {
"prodesk-server" = {
id = "SBH4S2T-B7KVAAI-BKBOQKZ-YSNQDSM-TKXPV6O-OSZUD3O-N6USL6L-DHL3BAK";
};
};
folders = {
"Main" = {
path = "/home/${cfg.username}/Sync";
devices = [ "prodesk-server" ];
};
};
};
};
environment.systemPackages = [ pkgs.syncthing ];
};
}
|