feat: enable thunderbird

Signed-off-by: Lander Van den Bulcke <landervandenbulcke@gmail.com>
This commit is contained in:
Lander Van den Bulcke 2024-11-21 08:59:28 +01:00
parent 5a09de9644
commit 3638b13d64
Signed by: lander
GPG key ID: 0142722B4B0C536F
3 changed files with 52 additions and 48 deletions

View file

@ -1,8 +1,6 @@
{ ... }: {...}: {
{
imports = [ imports = [
./alacritty.nix ./alacritty.nix
./mail.nix #./mail.nix
]; ];
} }

View file

@ -1,8 +1,10 @@
# adapted from github:Misterio77/nix-config # adapted from github:Misterio77/nix-config
{
{ pkgs, lib, config, ... }: pkgs,
lib,
let config,
...
}: let
mbsync = "$(config.programs.mbsync.package}/bin/mbsync"; mbsync = "$(config.programs.mbsync.package}/bin/mbsync";
common = rec { common = rec {
@ -24,38 +26,40 @@ in {
accounts.email = { accounts.email = {
maildirBasePath = "Mail"; maildirBasePath = "Mail";
accounts = { accounts = {
inuits = rec { inuits =
primary = true; rec {
address = "landervdb@inuits.eu"; primary = true;
passwordCommand = "cat ${config.sops.secrets.inuits-mail-pass.path}"; address = "landervdb@inuits.eu";
passwordCommand = "cat ${config.sops.secrets.inuits-mail-pass.path}";
imap.host = "zimbra88.inuits.eu"; imap.host = "zimbra88.inuits.eu";
mbsync = { mbsync = {
enable = true; enable = true;
create = "maildir"; create = "maildir";
expunge = "both"; expunge = "both";
}; };
folders = { folders = {
inbox = "Inbox"; inbox = "Inbox";
drafts = "Drafts"; drafts = "Drafts";
sent = "Sent"; sent = "Sent";
trash = "Trash"; trash = "Trash";
}; };
neomutt = { neomutt = {
enable = true; enable = true;
extraMailboxes = [ extraMailboxes = [
"Archive" "Archive"
"Drafts" "Drafts"
"Junk" "Junk"
"Sent" "Sent"
"Trash" "Trash"
]; ];
}; };
msmtp.enable = true; msmtp.enable = true;
smtp.host = "zimbra88.inuits.eu"; smtp.host = "zimbra88.inuits.eu";
userName = "landervdb"; userName = "landervdb";
} // common; }
// common;
}; };
}; };
@ -80,18 +84,19 @@ in {
OnUnitActiveSec = "5m"; OnUnitActiveSec = "5m";
}; };
Install = { Install = {
WantedBy = [ "timers.target" ]; WantedBy = ["timers.target"];
}; };
}; };
# run `createMaildir` after `linkGeneration` # run `createMaildir` after `linkGeneration`
home.activation = let home.activation = let
mbsyncAccounts = lib.filter (a: a.mbsync.enable) (lib.attrValues config.accounts.email.accounts); mbsyncAccounts = lib.filter (a: a.mbsync.enable) (lib.attrValues config.accounts.email.accounts);
in lib.mkIf (mbsyncAccounts != [ ]) { in
createMaildir = lib.mkForce (lib.hm.dag.entryAfter [ "linkGeneration" ] '' lib.mkIf (mbsyncAccounts != []) {
run mkdir -m700 -p $VERBOSE_ARG ${ createMaildir = lib.mkForce (lib.hm.dag.entryAfter ["linkGeneration"] ''
lib.concatMapStringsSep " " (a: a.maildir.absPath) mbsyncAccounts run mkdir -m700 -p $VERBOSE_ARG ${
} lib.concatMapStringsSep " " (a: a.maildir.absPath) mbsyncAccounts
''); }
}; '');
};
} }

View file

@ -1,7 +1,8 @@
{ ... }: {...}: {
{
imports = [ imports = [
./global ./global
./features/workstation ./features/workstation
]; ];
programs.thunderbird.enable = true;
} }