summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--krebs/3modules/tinc.nix11
1 files 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;
};
}