summaryrefslogtreecommitdiffstats
path: root/krebs/3modules/tinc.nix
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2021-12-21 21:57:21 +0100
committerlassulus <lassulus@lassul.us>2021-12-22 13:58:30 +0100
commitc9f0c17660a23faaa9fff1331b9c303f52b7c995 (patch)
tree3bd679d785913aafbbbe0b968295b1544e00c49a /krebs/3modules/tinc.nix
parent8f94e0bc4b38dd7f3ef90e727542c905e7728125 (diff)
tinc module: reload instead of restart
remove enableLegacy option since reloading is dependant on /etc/tinc/<netname> existing
Diffstat (limited to 'krebs/3modules/tinc.nix')
-rw-r--r--krebs/3modules/tinc.nix10
1 files changed, 6 insertions, 4 deletions
diff --git a/krebs/3modules/tinc.nix b/krebs/3modules/tinc.nix
index b12fe605..3d0cc8fb 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,12 @@ let
];
wantedBy = [ "multi-user.target" ];
path = [ tinc iproute ];
+ reloadIfChanged = true;
+ 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;
};
}