From 45982ce499804ceb4dad7efed2023a5a7f65a86a Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 21 Dec 2021 15:03:44 +0100 Subject: WIP tinc module: reload instead of restart --- krebs/3modules/tinc.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/krebs/3modules/tinc.nix b/krebs/3modules/tinc.nix index b12fe605..fb4f9727 100644 --- a/krebs/3modules/tinc.nix +++ b/krebs/3modules/tinc.nix @@ -17,7 +17,6 @@ let in { enable = mkEnableOption "krebs.tinc.${netname}" // { default = true; }; - enableLegacy = mkEnableOption "/etc/tinc/${netname}"; confDir = mkOption { type = types.package; @@ -263,9 +262,9 @@ let ) config.krebs.tinc; environment.etc = mapAttrs' (netname: cfg: - nameValuePair "tinc/${netname}" (mkIf cfg.enableLegacy { + nameValuePair "tinc/${netname}" { source = cfg.confDir; - }) + } ) config.krebs.tinc; systemd.services = mapAttrs (netname: cfg: @@ -287,9 +286,13 @@ let ]; wantedBy = [ "multi-user.target" ]; path = [ tinc iproute ]; + reloadIfChanged = true; + restartIfChanged = false; + restartTriggers = [ cfg.confDir ]; serviceConfig = rec { Restart = "always"; - ExecStart = "${tinc}/sbin/tincd -c ${cfg.confDir} -d 0 -U ${cfg.user.name} -D --pidfile=/var/run/tinc.${SyslogIdentifier}.pid"; + ExecStart = "${tinc}/sbin/tincd -c /etc/tinc/${netname} -d 0 -U ${cfg.user.name} -D --pidfile=/var/run/tinc.${SyslogIdentifier}.pid"; + ExecReload = "${tinc}/sbin/tinc -n ${netname} reload"; SyslogIdentifier = netname; }; } -- cgit v1.2.3