70 lines
1.9 KiB
Nix
70 lines
1.9 KiB
Nix
{ config, lib, ... }:
|
|
let
|
|
host = config.networking.hostName;
|
|
in
|
|
{
|
|
options.syncthing.enable = lib.mkEnableOption "Enables Syncthing";
|
|
options.syncthing.dataDir = lib.mkOption { default = "/home/lilith"; };
|
|
|
|
config = lib.mkIf config.syncthing.enable {
|
|
sops.secrets."syncthing/key.pem" = {
|
|
sopsFile = ../../hosts/${host}/secrets/default.yaml;
|
|
};
|
|
sops.secrets."syncthing/cert.pem" = {
|
|
sopsFile = ../../hosts/${host}/secrets/default.yaml;
|
|
};
|
|
|
|
services.syncthing = {
|
|
enable = true;
|
|
|
|
user = "lilith";
|
|
dataDir = config.syncthing.dataDir;
|
|
configDir = "/home/lilith/.config/syncthing";
|
|
|
|
overrideDevices = true;
|
|
overrideFolders = true;
|
|
|
|
key = config.sops.secrets."syncthing/key.pem".path;
|
|
cert = config.sops.secrets."syncthing/cert.pem".path;
|
|
|
|
settings = {
|
|
devices = {
|
|
"lilith-phone" = {
|
|
id = "N3VHPZJ-DARZYPM-TIBLRAZ-KN6QWYJ-VU6FP2N-INYVJZ3-ZSUD63P-NSXLIQ6";
|
|
};
|
|
"lilith-lab" = {
|
|
id = "DW6GTZ3-3JPAHLO-UEB3LBL-AWOX3BT-QPI7ODT-OZ6Q4YR-K3KK22C-5RY3XQZ";
|
|
};
|
|
"lilith-pc" = {
|
|
id = "ZXFUFLA-MJJCNE4-SJTGTYD-SEJZUCX-3KIFTL6-LFIWBBU-HD2LX2F-7FQ5VAF";
|
|
};
|
|
"lilith-pad" = {
|
|
id = "GQJA6WA-G5YZZSN-4OOQMVE-JPIR22N-VFHPY4O-XMRG37D-DALH4R2-7DCTMQK";
|
|
};
|
|
};
|
|
folders = {
|
|
"sync" = {
|
|
id = "rdcj2-mfyb4";
|
|
path = "${config.syncthing.dataDir}/sync";
|
|
devices = [
|
|
"lilith-phone"
|
|
"lilith-lab"
|
|
"lilith-pad"
|
|
"lilith-pc"
|
|
];
|
|
};
|
|
"keepass" = {
|
|
id = "sdpfs-2beqd";
|
|
path = "${config.syncthing.dataDir}/.keepass";
|
|
devices = [
|
|
"lilith-phone"
|
|
"lilith-lab"
|
|
"lilith-pad"
|
|
"lilith-pc"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|