1
0
mirror of https://github.com/kmein/niveum synced 2026-03-21 12:21:08 +01:00

fix(mail): run muchsync from master, sync to wilde and manakish

This commit is contained in:
2021-02-23 20:52:39 +01:00
parent 2a94899db5
commit a17201c28d
3 changed files with 26 additions and 16 deletions

View File

@@ -1,5 +1,6 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
let let
inherit (import <niveum/lib>) email-sshKey;
much = much =
let let
nixpkgs-much = import (pkgs.fetchFromGitHub { nixpkgs-much = import (pkgs.fetchFromGitHub {
@@ -17,6 +18,8 @@ let
in { in {
environment.variables.NOTMUCH_CONFIG = config.home-manager.users.me.home.sessionVariables.NOTMUCH_CONFIG; environment.variables.NOTMUCH_CONFIG = config.home-manager.users.me.home.sessionVariables.NOTMUCH_CONFIG;
users.users.me.openssh.authorizedKeys.keys = [ email-sshKey ];
environment.systemPackages = [ environment.systemPackages = [
pkgs.notmuch-addrlookup pkgs.notmuch-addrlookup
@@ -37,16 +40,9 @@ in {
]; ];
home-manager.users.me = { home-manager.users.me = {
services.muchsync.remotes.zaatar = {
frequency = "*:0/10";
remote.host = "email@zaatar";
remote.importNew = false;
};
programs.notmuch = { programs.notmuch = {
enable = true; enable = true;
search.excludeTags = [ "deleted" "spam" ]; search.excludeTags = [ "deleted" "spam" ];
# extraConfig.muchsync.and_tags = "inbox;unread";
}; };
programs.msmtp.enable = true; programs.msmtp.enable = true;

View File

@@ -1,6 +1,6 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
let let
inherit (import <niveum/lib>) kieran; inherit (import <niveum/lib>) kieran sshPort;
tagRules = [ tagRules = [
{ {
@@ -32,25 +32,37 @@ let
in lib.concatStringsSep "\n" (map template filters); in lib.concatStringsSep "\n" (map template filters);
in in
{ {
imports = [ <stockholm/krebs/3modules/secret.nix> ];
krebs.secret.files.email-ssh = {
path = "${config.users.users.email.home}/.ssh/id_ed25519";
owner.name = config.users.users.email.name;
source-path = toString <system-secrets> + "/email/ssh.key";
};
users.users.email = { users.users.email = {
isNormalUser = true; isNormalUser = true;
description = "fetching mails since 2021"; description = "fetching mails since 2021";
openssh.authorizedKeys.keys = kieran.sshKeys pkgs;
packages = [ pkgs.muchsync ];
}; };
environment.variables.NOTMUCH_CONFIG = config.home-manager.users.email.home.sessionVariables.NOTMUCH_CONFIG; systemd.services.mail-sync =
let
systemd.services.mail-sync = { hosts = [ "manakish.r" "wilde.r" ];
in {
enable = true; enable = true;
wants = [ "network-online.target" ]; wants = [ "network-online.target" config.krebs.secret.files.email-ssh.service ];
startAt = "*:0/15"; startAt = "*:0/3";
serviceConfig.User = config.users.users.email.name; serviceConfig.User = config.users.users.email.name;
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
environment.NOTMUCH_CONFIG = config.home-manager.users.email.home.sessionVariables.NOTMUCH_CONFIG; environment.NOTMUCH_CONFIG = config.home-manager.users.email.home.sessionVariables.NOTMUCH_CONFIG;
path = [ pkgs.notmuch pkgs.openssh ];
script = '' script = ''
${pkgs.isync}/bin/mbsync --all ${pkgs.isync}/bin/mbsync --all
${pkgs.notmuch}/bin/notmuch new
${lib.concatMapStringsSep "\n" (host: ''
echo === syncing ${host}
${pkgs.muchsync}/bin/muchsync -s 'ssh -CTaxq -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=4 -p ${toString sshPort}' kfm@${host} || :
'') hosts}
''; '';
}; };

View File

@@ -28,6 +28,8 @@ rec {
localAddresses = import ./local-network.nix; localAddresses = import ./local-network.nix;
email-sshKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINKz33wHtPuIfgXEb0+hybxFGV9ZuPsDTLUZo/+hlcdA";
kieran = { kieran = {
github = "kmein"; github = "kmein";
email = "kmein@posteo.de"; email = "kmein@posteo.de";