nixos/hosts/Ronin/home.nix
Evie Litherland-Smith 2ade6e92de Revert to mu/mu4e, remove notmuch
Use imapnotify to check for new mail and trigger mbsync pull +
notification for new mail

Add mailbox shortcuts to mu4e
2023-09-29 09:28:11 +01:00

177 lines
4.8 KiB
Nix

{ config, pkgs, lib, user, ... }:
{
home.packages = with pkgs; [ davmail openfortivpn nomachine-client ];
programs = {
git.userEmail = "evie.litherland-smith@ukaea.uk";
ssh.matchBlocks = {
"git.ccfe.ac.uk" = { user = "git"; };
"freia".hostname = "freia020.hpc.l";
"freia???" = lib.hm.dag.entryAfter [ "freia" ] { hostname = "%h.hpc.l"; };
"heimdall".hostname = "heimdall003.jet.uk";
"heimdall???" =
lib.hm.dag.entryAfter [ "heimdall" ] { hostname = "%h.jet.uk"; };
"freia* heimdall*" =
lib.hm.dag.entryAfter [ "freia" "freia???" "heimdall" "heimdall???" ] {
user = "elitherl";
compression = true;
};
};
firefox.profiles.default.settings."browser.startup.homepage" =
"https://nucleus.ukaea.uk";
};
programs.mbsync.groups.inboxes.ukaea = [ "INBOX" ];
accounts = {
email.accounts = {
proton.primary = lib.mkForce false;
ukaea = let
host = "127.0.0.1";
tls.enable = false;
in rec {
inherit (config.accounts.email.accounts.proton) realName;
maildir.path = "UKAEA";
imap = {
inherit host tls;
port = 1144;
};
smtp = {
inherit host tls;
port = 1026;
};
address = "evie.litherland-smith@ukaea.uk";
aliases = [ "elitherl@jet.uk" ];
passwordCommand = "${pkgs.pass}/bin/pass show Mail/Outlook/ukaea";
primary = true;
userName = address;
imapnotify = {
enable = true;
boxes = [ "INBOX" ];
onNotify = "${pkgs.isync}/bin/mbsync --pull ukaea:INBOX";
onNotifyPost =
"${pkgs.libnotify}/bin/notify-send 'UKAEA: New mail arrived'";
extraConfig = {
tls = false;
tlsOptions.rejectUnauthorized = false;
};
};
mbsync = {
enable = true;
create = "both";
expunge = "both";
remove = "both";
patterns =
[ "*" "!Junk" "!Snoozed" "!Sync Issues" "!Unsent Messages" ];
subFolders = "Verbatim";
extraConfig.account.AuthMechs = "LOGIN";
};
msmtp = {
enable = true;
extraConfig = {
tls = "off";
auth = "login";
};
};
mu.enable = true;
};
};
calendar.accounts.ukaea = {
local = {
type = "filesystem";
fileExt = ".ics";
};
remote = rec {
inherit (config.accounts.email.accounts.ukaea) userName passwordCommand;
type = "caldav";
url = "http://localhost:1080/users/${userName}/calendar/";
};
vdirsyncer = {
enable = true;
collections = [ "from a" ];
};
khal = {
enable = true;
type = "discover";
};
};
contact.accounts.ukaea = {
local = {
type = "filesystem";
fileExt = ".vcf";
};
remote = rec {
inherit (config.accounts.email.accounts.ukaea) userName passwordCommand;
type = "carddav";
url = "http://localhost:1080/users/${userName}/contacts/";
};
vdirsyncer = {
enable = true;
collections = [ "from a" ];
};
};
};
services.vdirsyncer.enable = lib.mkForce false; # TEMP until fixed
services.kanshi.profiles = {
undocked = {
outputs = [
{
criteria = "eDP-1";
mode = "1920x1080";
position = "0,0";
scale = 1.0;
status = "enable";
}
{
criteria = "*";
status = "enable";
}
];
};
work = {
outputs = [
{
criteria = "Iiyama North America PLB2403WS 0574281251316";
position = "0,0";
status = "enable";
}
{
criteria = "eDP-1";
status = "disable";
}
{
criteria = "*";
status = "enable";
}
];
};
home = {
outputs = [
{
criteria = "Acer Technologies ED270R TJMEE0043W01";
position = "0,0";
status = "enable";
}
{
criteria = "eDP-1";
status = "disable";
}
];
};
};
xdg.configFile."hypr/extra.conf".text = ''
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
}
monitor=eDP-1,preferred,auto,1
monitor=desc:Iiyama North America PLB2403WS 0574281251316,preferred,0x185,1
monitor=desc:Dell Inc. DELL U2417H 5K9YD872FY1L,preferred,1920x0,1,transform,1
monitor=desc:Acer Technologies ED270R TJMEE0043W01,highrr,0x0,1
windowrulev2 = nofullscreenrequest,title:(Zoom|zoom)
windowrulev2 = nomaximizerequest,title:(Zoom|zoom)
exec-once = ${pkgs.davmail}/bin/davmail -notray
'';
}