Add modules/services/syncthing.nix
Generalizes the module so it's not so Henrik-centric. I know, blasphemous, but the world only sometimes revolves around me. Also, adds a new, much simpler config for syncthing.
This commit is contained in:
parent
41ac027216
commit
f88552ad64
|
@ -28,4 +28,22 @@ with lib;
|
|||
|
||||
##
|
||||
modules.shell.bitwarden.config.server = "p.v0.io";
|
||||
|
||||
services.syncthing.declarative = {
|
||||
devices = {
|
||||
kuro.id = "4UJSUBN-V7LCISG-6ZE7SBN-YPXM5FQ-CE7CD2U-W4KZC7O-4HUZZSW-6DXAGQQ";
|
||||
shiro.id = "G4DUO25-AMQQIWS-SRZE5TJ-43CCQZJ-5ULEZBS-P2LMZZU-V5JA5CS-6X7RLQK";
|
||||
kiiro.id = "DPQT4XQ-Q4APAYJ-T7P4KMY-YBLDKLC-7AU5Y4S-VGT3DDT-TMZZEIX-GBA7DAM";
|
||||
};
|
||||
folders =
|
||||
let mkShare = name: devices: type: path: rec {
|
||||
inherit devices type path;
|
||||
watch = false;
|
||||
rescanInterval = 3600 * 4;
|
||||
enabled = lib.elem config.networking.hostname devices;
|
||||
};
|
||||
in {
|
||||
projects = mkShare "projects" [ "kuro" "shiro" ] "sendrecieve" "${config.user.home}/projects";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
20
modules/services/syncthing.nix
Normal file
20
modules/services/syncthing.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{ config, options, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.my;
|
||||
let cfg = config.modules.services.syncthing;
|
||||
in {
|
||||
options.modules.services.syncthing = {
|
||||
enable = mkBoolOpt false;
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.syncthing = rec {
|
||||
enable = true;
|
||||
openDefaultPorts = true;
|
||||
user = config.user.name;
|
||||
configDir = "/home/${user}/.config/syncthing";
|
||||
dataDir = "/home/${user}/.local/share/syncthing";
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue