Files
nixos-config/modules/syncthing.nix
2025-08-15 08:52:22 +00:00

57 lines
1.3 KiB
Nix

{
user,
pkgs,
...
}: let
isDarwin = pkgs.stdenv.isDarwin;
platformConfig =
if isDarwin
then {
homeDir = "/Users/${user}";
group = "staff";
}
else {
homeDir = "/home/${user}";
group = "users";
};
in {
services.syncthing = {
enable = true;
openDefaultPorts = !isDarwin;
dataDir = "${platformConfig.homeDir}/.local/share/syncthing";
configDir = "${platformConfig.homeDir}/.config/syncthing";
user = "${user}";
group = platformConfig.group;
guiAddress = "0.0.0.0:8384";
overrideFolders = true;
overrideDevices = true;
settings = {
devices = {
"tahani" = {
id = "6B7OZZF-TEAMUGO-FBOELXP-Z4OY7EU-5ZHLB5T-V6Z3UDB-Q2DYR43-QBYW6QM";
addresses = ["tcp://tahani:22000"];
};
"jason" = {
id = "42II2VO-QYPJG26-ZS3MB2I-AOPVZ67-JJNSE76-U54CO5Y-634A5OG-ECU4YQA";
addresses = ["tcp://jason:22000"];
};
"chidi" = {
id = "N7W6SUT-QO6J4BE-T3Y65SM-OFGYGNV-TGYBJPX-JVN4Z72-AENZ247-KWXOQA6";
addresses = ["tcp://chidi:22000"];
};
};
folders = {
"nixos-config" = {
path = "${platformConfig.homeDir}/nixos-config";
devices = ["tahani" "jason" "chidi"];
};
};
options.globalAnnounceEnabled = false;
};
};
}