~ruther/nixos-config

ref: 509b41049b045885bde71c8eb68e4d665f7c00e8 nixos-config/modules/services/syncthing.nix -rw-r--r-- 1.5 KiB
509b4104 — Frantisek Bohacek chore: remove unnecessary code, use modules instead of imports, split files 1 year, 3 days ago
                                                                                
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
{ config, ... }:

let
  user = config.nixos-config.defaultUser;
  homePath = config.home-manager.users.${user}.home.homeDirectory;
in {
  networking.firewall = {
    allowedTCPPorts = [ 22000 ];
    allowedUDPPorts = [ 22000 21027 ];
  };

  services.syncthing = {
    enable = true;
    user = "${user}";
    dataDir = "/home/${user}";
    configDir = "/home/${user}/.config/syncthing";
    overrideDevices = true;
    overrideFolders = true;
    settings = {

      devices = {
        phone = { id = "SRCBWOD-UBR76WT-ZB4OLV2-34U6TRL-YLVMSGQ-I5JYZP6-VD7XR6S-5732ZAZ"; };
        desktop = { id = "BVFWKZE-DWZTSJR-OHCLGY3-X2PU7F3-XMPMGEH-QONACL5-MMRJE5O-CHRY4Q5"; };
        laptop = { id = "3AGVM6S-RFTHVHR-OGK5RHI-YDEO6GN-RU4ZH77-VLBZAC7-JVHD6S6-VISXGQT"; };
      };

      folders = {
        "uni" = {
          path = "${homePath}/doc/uni";
          devices = [ "phone" "desktop" "laptop" ];
        };
        "notes" = {
          path = "${homePath}/doc/notes/obsidian/Notes";
          devices = [ "phone" "desktop" "laptop" ];
        };
        "camera" = {
          path = "${homePath}/doc/camera";
          devices = [ "phone" "desktop" "laptop" ];
        };
        "study" = {
          path = "${homePath}/doc/study";
          devices = [ "phone" "desktop" "laptop" ];
        };
      };
      options = {
        natenabled = false;
        relaysEnabled = false;
        globalAnnounceEnabled = false;
        localAnnounceEnabled = true;
      };
    };
  };
}
Do not follow this link