nixfiles/system/programs/syncthing.nix

27 lines
568 B
Nix

{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.nixfiles.programs.syncthing;
in {
options.nixfiles.programs.syncthing = {
enable = mkEnableOption "Syncthing configuration";
};
config = mkIf cfg.enable {
services.syncthing = {
enable = lib.mkDefault true;
openDefaultPorts = lib.mkDefault true;
user = lib.mkDefault "nullbite";
dataDir = let
user = config.services.syncthing.user;
dir = config.users.users.${user}.home;
in
lib.mkDefault dir;
};
};
}