summaryrefslogtreecommitdiffstats
path: root/lass/2configs/muchsync.nix
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2021-01-25 11:28:26 +0100
committertv <tv@krebsco.de>2021-01-25 11:28:26 +0100
commita0ca091cbf4e9ca41390ad9d54844c9eb2660406 (patch)
treeaae89f223f953a81da400d6f7deac1d5ae5d240e /lass/2configs/muchsync.nix
parent1cd73df0c8694f491d40f93a796ea58f150e88dc (diff)
parent71206dc6a2852dd69664e85aa6dcb49676ec1f6e (diff)
Merge remote-tracking branch 'prism/master'
Diffstat (limited to 'lass/2configs/muchsync.nix')
-rw-r--r--lass/2configs/muchsync.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/lass/2configs/muchsync.nix b/lass/2configs/muchsync.nix
new file mode 100644
index 000000000..b09bf579b
--- /dev/null
+++ b/lass/2configs/muchsync.nix
@@ -0,0 +1,40 @@
+with (import <stockholm/lib>);
+{ config, pkgs, ... }:
+
+{
+ systemd.services.muchsync = let
+ hosts = [
+ "mors.r"
+ "green.r"
+ "blue.r"
+ ];
+ in {
+ description = "sync mails";
+ environment = {
+ NOTMUCH_CONFIG = config.environment.variables.NOTMUCH_CONFIG;
+ };
+ after = [ "network.target" ];
+
+ restartIfChanged = false;
+
+ path = [
+ pkgs.notmuch
+ pkgs.openssh
+ ];
+
+ startAt = "*:*"; # run every minute
+ serviceConfig = {
+ User = "lass";
+ Type = "oneshot";
+ ExecStart = pkgs.writeDash "sync-mails" ''
+ set -euf
+
+ /run/current-system/sw/bin/nm-tag-init 2>/dev/null
+ ${concatMapStringsSep "\n" (host: ''
+ echo syncing ${host}:
+ ${pkgs.muchsync}/bin/muchsync -s 'ssh -CTaxq -o ConnectTimeout=4' --nonew lass@${host} || :
+ '') hosts}
+ '';
+ };
+ };
+}