Evie Litherland-Smith
68b4a7b063
Move system/home/default.nix into system/default.nix, system/home/desktop/default.nix into system/desktop.nix to reduce unnecessary duplication. Moved everything in home/desktop up to home/ and adjusted paths accordingly. Moved wallpapers up to system/ since it makes sense with where it's used. Merge allowUnfreePredicate into single place again since it seems to override rather than combine if used multiple times. Install NoMachine on all machines again by default.
176 lines
5 KiB
Nix
176 lines
5 KiB
Nix
{ config, pkgs, ... }:
|
|
{
|
|
home.packages = [
|
|
(pkgs.writeShellScriptBin "davmail-setup" ''
|
|
systemctl --user restart davmail # Ensure config file is present
|
|
systemctl --user stop davmail
|
|
${pkgs.davmail}/bin/davmail -n ~/.davmail.properties
|
|
systemctl --user restart davmail
|
|
'')
|
|
];
|
|
accounts.email = {
|
|
maildirBasePath = "Mail";
|
|
accounts =
|
|
let
|
|
realName = "Evie Litherland-Smith";
|
|
in
|
|
{
|
|
proton =
|
|
let
|
|
address = "e.litherlandsmith@proton.me";
|
|
host = "127.0.0.1";
|
|
tls.enable = false;
|
|
in
|
|
{
|
|
inherit realName address;
|
|
primary = true;
|
|
maildir.path = "Proton";
|
|
imap = {
|
|
inherit host tls;
|
|
port = 1143;
|
|
};
|
|
smtp = {
|
|
inherit host tls;
|
|
port = 1025;
|
|
};
|
|
aliases = [
|
|
"evie@xenia.me.uk"
|
|
"evie@litherlandsmith.slmail.me"
|
|
];
|
|
userName = address;
|
|
passwordCommand = "${pkgs.libsecret}/bin/secret-tool lookup email ${address}";
|
|
mu.enable = true;
|
|
msmtp = {
|
|
enable = true;
|
|
extraConfig = {
|
|
tls = "off";
|
|
auth = "login";
|
|
};
|
|
};
|
|
mbsync = {
|
|
enable = true;
|
|
create = "both";
|
|
expunge = "both";
|
|
remove = "both";
|
|
patterns = [
|
|
"*"
|
|
"!All Mail"
|
|
"!Labels*"
|
|
"!Starred"
|
|
"!Recovered Messages"
|
|
];
|
|
subFolders = "Verbatim";
|
|
extraConfig.account.AuthMechs = "LOGIN";
|
|
};
|
|
};
|
|
icloud =
|
|
let
|
|
address = "e.litherlandsmith@icloud.com";
|
|
in
|
|
{
|
|
inherit realName address;
|
|
primary = false;
|
|
maildir.path = "iCloud";
|
|
imap.host = "imap.mail.me.com";
|
|
smtp.host = "smtp.mail.me.com";
|
|
userName = address;
|
|
passwordCommand = "${pkgs.libsecret}/bin/secret-tool lookup email ${address}";
|
|
mu.enable = true;
|
|
msmtp.enable = true;
|
|
mbsync = {
|
|
enable = true;
|
|
create = "both";
|
|
expunge = "both";
|
|
remove = "both";
|
|
patterns = [
|
|
"*"
|
|
"!Notes"
|
|
];
|
|
subFolders = "Verbatim";
|
|
};
|
|
};
|
|
outlook =
|
|
let
|
|
address = "evie.litherland-smith@ukaea.uk";
|
|
host = "127.0.0.1";
|
|
tls.enable = false;
|
|
in
|
|
{
|
|
inherit realName address;
|
|
primary = false;
|
|
maildir.path = "Outlook";
|
|
imap = {
|
|
inherit host tls;
|
|
port = 1144;
|
|
};
|
|
smtp = {
|
|
inherit host tls;
|
|
port = 1026;
|
|
};
|
|
aliases = [ "elitherl@jet.uk" ];
|
|
userName = address;
|
|
passwordCommand = "${pkgs.libsecret}/bin/secret-tool lookup email ${address}";
|
|
mu.enable = true;
|
|
msmtp = {
|
|
enable = true;
|
|
extraConfig = {
|
|
tls = "off";
|
|
auth = "login";
|
|
};
|
|
};
|
|
mbsync = {
|
|
enable = true;
|
|
create = "both";
|
|
expunge = "both";
|
|
remove = "both";
|
|
patterns = [
|
|
"*"
|
|
"!Conversation History"
|
|
"!Snoozed"
|
|
"!Social Activity Notifications"
|
|
"!Sync Issues*"
|
|
"!Unsent Messages"
|
|
];
|
|
subFolders = "Verbatim";
|
|
extraConfig.account.AuthMechs = "LOGIN";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
programs = {
|
|
mu.enable = true;
|
|
msmtp.enable = true;
|
|
mbsync = {
|
|
enable = true;
|
|
groups.inboxes = {
|
|
proton = [ "INBOX" ];
|
|
icloud = [ "INBOX" ];
|
|
outlook = [ "INBOX" ];
|
|
};
|
|
};
|
|
};
|
|
services.mbsync = {
|
|
inherit (config.programs.mbsync) enable package;
|
|
frequency = "*:0/30"; # Every 30 minutes
|
|
verbose = true;
|
|
preExec = null;
|
|
postExec = null;
|
|
};
|
|
systemd.user.services.davmail = {
|
|
Unit = {
|
|
Description = "Davmail server";
|
|
Wants = [ "network-online.target" ];
|
|
After = [ "network-online.target" ];
|
|
};
|
|
Service = {
|
|
Environment = [ "PATH=/run/current-system/sw/bin/:$PATH" ];
|
|
Restart = "always";
|
|
ExecStartPre = with config.home; ''
|
|
/bin/sh -c "if [ ! -f ${homeDirectory}/.davmail.properties ]; then cp ${./davmail.properties} ${homeDirectory}/.davmail.properties; fi; chmod 644 ${homeDirectory}/.davmail.properties"
|
|
'';
|
|
ExecStart = "${pkgs.davmail}/bin/davmail -notray ${config.home.homeDirectory}/.davmail.properties";
|
|
};
|
|
Install.WantedBy = [ "default.target" ];
|
|
};
|
|
}
|