add the syncthing service

This commit is contained in:
MFlossmann 2024-05-09 19:41:05 +02:00
parent 25d5980e6c
commit 0a1dcf0a6a
4 changed files with 80 additions and 19 deletions

View file

@ -8,18 +8,18 @@
...
}: let
cfg = config.myHomeManager;
# # Taking all modules in ./features and adding enables to them
# features =
# helperLib.extendModules
# (name: {
# extraOptions = {
# myHomeManager.${name}.enable = lib.mkEnableOption "enable my ${name} configuration";
# };
#
# configExtension = config: (lib.mkIf cfg.${name}.enable config);
# })
# (helperLib.filesIn ./features);
#
# Taking all modules in ./features and adding enables to them
features =
helperLib.extendModules
(name: {
extraOptions = {
myHomeManager.${name}.enable = lib.mkEnableOption "enable my ${name} configuration";
};
configExtension = config: (lib.mkIf cfg.${name}.enable config);
})
(helperLib.filesIn ./features);
# Taking all module bundles in ./bundles and adding bundle.enables to them
bundles =
helperLib.extendModules
@ -35,7 +35,7 @@
in {
imports = [
]
# ++ features
++ features
++ bundles
;

View file

@ -0,0 +1,53 @@
{
pkgs,
config,
lib,
inputs,
...
}: let
saintAlphonsoID = "LHASNUO-CXALARH-XI3TU4U-OCULV72-HS3HQ35-P4FECIT-UZ5VMSZ-PMCEPQH";
webGuiPort = [ 8384 ];
cfg = config;
in {
imports = [];
options = {
rootDir = lib.mkOption {
type = lib.types.path;
default = "/home/${cfg.myNixOS.sharedSettings.mainUser}/sync";
};
remoteGui = lib.mkEnableOption "Enable port for remote WebGUI";
};
services.syncthing = {
enable = true;
user = cfg.myNixOS.sharedSettings.mainUser;
dataDir = config.rootDir;
configDir = "/home/${cfg.myNixOS.sharedSettings.mainUser}/.config/syncthing";
overrideDevices = true;
overrideFolders = true;
settings = {
devices = {
"saintAlphonso" = { id = saintAlphonsoID; };
};
folders = {
"KeepassXC" = {
path = "/home/${cfg.myNixOS.sharedSettings.mainUser}/KeepassXC";
devices = [ "saintAlphonso" ];
};
};
};
};
# # Syncthing ports: 8384 for remote access to GUI
# # 22000 TCP and/or UDP for sync traffic
# # 21027/UDP for discovery
# # source: https://docs.syncthing.net/users/firewall.html
# networking.firewall.allowedTCPPorts =
# [ 22000 ]
# ++ webGuiPort;
#
# networking.firewall.allowedUDPPorts = [ 22000 21027 ];
}