mirror of
https://github.com/kmein/niveum
synced 2026-03-16 10:11:08 +01:00
fix(mail): run muchsync from master, sync to wilde and manakish
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
inherit (import <niveum/lib>) email-sshKey;
|
||||
much =
|
||||
let
|
||||
nixpkgs-much = import (pkgs.fetchFromGitHub {
|
||||
@@ -17,6 +18,8 @@ let
|
||||
in {
|
||||
environment.variables.NOTMUCH_CONFIG = config.home-manager.users.me.home.sessionVariables.NOTMUCH_CONFIG;
|
||||
|
||||
users.users.me.openssh.authorizedKeys.keys = [ email-sshKey ];
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.notmuch-addrlookup
|
||||
|
||||
@@ -37,16 +40,9 @@ in {
|
||||
];
|
||||
|
||||
home-manager.users.me = {
|
||||
services.muchsync.remotes.zaatar = {
|
||||
frequency = "*:0/10";
|
||||
remote.host = "email@zaatar";
|
||||
remote.importNew = false;
|
||||
};
|
||||
|
||||
programs.notmuch = {
|
||||
enable = true;
|
||||
search.excludeTags = [ "deleted" "spam" ];
|
||||
# extraConfig.muchsync.and_tags = "inbox;unread";
|
||||
};
|
||||
|
||||
programs.msmtp.enable = true;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
inherit (import <niveum/lib>) kieran;
|
||||
inherit (import <niveum/lib>) kieran sshPort;
|
||||
|
||||
tagRules = [
|
||||
{
|
||||
@@ -32,25 +32,37 @@ let
|
||||
in lib.concatStringsSep "\n" (map template filters);
|
||||
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 = {
|
||||
isNormalUser = true;
|
||||
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 = {
|
||||
systemd.services.mail-sync =
|
||||
let
|
||||
hosts = [ "manakish.r" "wilde.r" ];
|
||||
in {
|
||||
enable = true;
|
||||
wants = [ "network-online.target" ];
|
||||
startAt = "*:0/15";
|
||||
wants = [ "network-online.target" config.krebs.secret.files.email-ssh.service ];
|
||||
startAt = "*:0/3";
|
||||
serviceConfig.User = config.users.users.email.name;
|
||||
serviceConfig.Type = "oneshot";
|
||||
environment.NOTMUCH_CONFIG = config.home-manager.users.email.home.sessionVariables.NOTMUCH_CONFIG;
|
||||
path = [ pkgs.notmuch pkgs.openssh ];
|
||||
script = ''
|
||||
${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}
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@ rec {
|
||||
|
||||
localAddresses = import ./local-network.nix;
|
||||
|
||||
email-sshKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINKz33wHtPuIfgXEb0+hybxFGV9ZuPsDTLUZo/+hlcdA";
|
||||
|
||||
kieran = {
|
||||
github = "kmein";
|
||||
email = "kmein@posteo.de";
|
||||
|
||||
Reference in New Issue
Block a user