summaryrefslogtreecommitdiffstats
path: root/lass/2configs/muchsync.nix
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2021-01-23 18:43:55 +0100
committerlassulus <lassulus@lassul.us>2021-01-23 18:43:55 +0100
commitd618f52cda36f62b3744aa84422b4c9f28bdc61d (patch)
treec2bd2cb9e6663a50478f461f1cd89718ae14e50a /lass/2configs/muchsync.nix
parentfbec363f091221f476c4a133630b16bf88ceb26c (diff)
l: add missing muchsync.nix
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}
+ '';
+ };
+ };
+}