summary refs log tree commit diff
path: root/nixos/modules/services/networking/tinc.nix
diff options
context:
space:
mode:
authorvolth <volth@webmaster.ms>2017-09-27 23:16:02 +0000
committerGitHub <noreply@github.com>2017-09-27 23:16:02 +0000
commitddd13e13756ac74a592b38569263a675cf72ba39 (patch)
tree0faad9756c76d233daf078a28277dc140de46728 /nixos/modules/services/networking/tinc.nix
parentd05b0b6b70e331145b2ee337a14e3b7672c562bc (diff)
downloadnixpkgs-ddd13e13756ac74a592b38569263a675cf72ba39.tar
nixpkgs-ddd13e13756ac74a592b38569263a675cf72ba39.tar.gz
nixpkgs-ddd13e13756ac74a592b38569263a675cf72ba39.tar.bz2
nixpkgs-ddd13e13756ac74a592b38569263a675cf72ba39.tar.lz
nixpkgs-ddd13e13756ac74a592b38569263a675cf72ba39.tar.xz
nixpkgs-ddd13e13756ac74a592b38569263a675cf72ba39.tar.zst
nixpkgs-ddd13e13756ac74a592b38569263a675cf72ba39.zip
nixos/tinc: add "restartTriggers" back
Add "restartTriggers" back to restart the Tinc daemon when its peer is removed.
Reverted #27660
Diffstat (limited to 'nixos/modules/services/networking/tinc.nix')
-rw-r--r--nixos/modules/services/networking/tinc.nix6
1 files changed, 6 insertions, 0 deletions
diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix
index 0354e76d74f..adb80ea2984 100644
--- a/nixos/modules/services/networking/tinc.nix
+++ b/nixos/modules/services/networking/tinc.nix
@@ -163,6 +163,12 @@ in
         wantedBy = [ "multi-user.target" ];
         after = [ "network.target" ];
         path = [ data.package ];
+        restartTriggers =
+          let
+            drvlist = [ config.environment.etc."tinc/${network}/tinc.conf".source ]
+                        ++ mapAttrsToList (host: _: config.environment.etc."tinc/${network}/hosts/${host}".source) data.hosts;
+          in # drvlist might be too long to be used directly
+            [ (builtins.hashString "sha256" (concatMapStrings (d: d.outPath) drvlist)) ];
         serviceConfig = {
           Type = "simple";
           Restart = "always";