mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 18:41:34 +01:00
67 lines
1.8 KiB
Nix
67 lines
1.8 KiB
Nix
{ config, lib, ... }:
|
|
let
|
|
cfg = config.myConfig.syncthing;
|
|
in
|
|
{
|
|
options.myConfig.syncthing = {
|
|
enable = lib.mkEnableOption "";
|
|
isServer = lib.mkEnableOption "";
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
services.syncthing = {
|
|
enable = true;
|
|
|
|
user = lib.mkIf (!cfg.isServer) "seb";
|
|
group = lib.mkIf (!cfg.isServer) "users";
|
|
dataDir = lib.mkIf (!cfg.isServer) "/home/seb";
|
|
|
|
guiAddress = lib.mkIf cfg.isServer "0.0.0.0:8384";
|
|
|
|
settings = {
|
|
devices = {
|
|
alto = {
|
|
id = "5R2MH7T-Q2ZZS2P-ZMSQ2UJ-B6VBHES-XYLNMZ6-7FYC27L-4P7MGJ2-FY4ITQD";
|
|
addresses = [ "tcp://alto.${config.networking.domain}:22000" ];
|
|
};
|
|
fern = {
|
|
id = "Q4YPD3V-GXZPHSN-PT5X4PU-FBG4GX2-IASBX75-7NYMG75-4EJHBMZ-4WGDDAP";
|
|
addresses = [ "tcp://fern.${config.networking.domain}:22000" ];
|
|
};
|
|
north = {
|
|
id = "FAJS5WM-UAWGW2U-FXCGPSP-VAUOTGM-XUKSEES-D66PMCJ-WBODJLV-XTNCRA7";
|
|
addresses = [ "tcp://north.${config.networking.domain}:22000" ];
|
|
};
|
|
};
|
|
|
|
folders =
|
|
let
|
|
genFolders =
|
|
folders:
|
|
lib.genAttrs folders (name: {
|
|
path = "${config.services.syncthing.dataDir}/${name}";
|
|
ignorePerms = false;
|
|
devices = lib.attrNames config.services.syncthing.settings.devices;
|
|
});
|
|
in
|
|
genFolders [
|
|
"Documents"
|
|
"Downloads"
|
|
"Music"
|
|
"Pictures"
|
|
"Projects"
|
|
"Videos"
|
|
];
|
|
|
|
options = {
|
|
globalAnnounceEnabled = false;
|
|
localAnnounceEnabled = false;
|
|
relaysEnabled = false;
|
|
natEnabled = false;
|
|
urAccepted = -1;
|
|
autoUpgradeIntervalH = 0;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|