feat(thunderbird): calendars

This commit is contained in:
Tibo De Peuter 2026-10-05 14:25:02 +02:00
parent ee059bf5b2
commit b98d15a34c
Signed by: tdpeuter
SSH key fingerprint: SHA256:u/h/LVoqKF1Iz02uOyxe6hcjmoZASCGV2HM0TG9ZMoU

View file

@ -26,96 +26,132 @@ let
in { in {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable { home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable {
accounts.email.accounts = { accounts = {
Telenet = { email.accounts = {
address = "tibo.depeuter@telenet.be"; Telenet = {
userName = "tibo.depeuter@telenet.be"; address = "tibo.depeuter@telenet.be";
imap = { userName = "tibo.depeuter@telenet.be";
host = "imap.telenet.be"; imap = {
port = 993; host = "imap.telenet.be";
tls.enable = true; port = 993;
}; tls.enable = true;
smtp = { };
host = "smtp.telenet.be"; smtp = {
port = 587; host = "smtp.telenet.be";
tls = { port = 587;
tls = {
enable = true;
useStartTls = true;
};
};
realName = config.users.users.tdpeuter.description;
signature = {
showSignature = "append";
text = signatures.default;
};
primary = true;
thunderbird = {
enable = true; enable = true;
useStartTls = true; settings = id: {
"mail.identity.id_${id}.htmlSigText" = signatures.default;
};
}; };
}; };
UGent = {
flavor = "outlook.office365.com";
address = "tibo.depeuter@ugent.be";
realName = config.users.users.tdpeuter.description; realName = config.users.users.tdpeuter.description;
signature = { signature = {
showSignature = "append"; showSignature = "append";
text = signatures.default; text = signatures.academic;
};
thunderbird = {
enable = true;
settings = id: {
"mail.server.server_${id}.authMethod" = 10;
"mail.smtpserver.smtp_${id}.authMethod" = 10;
"mail.identity.id_${id}.htmlSigText" = signatures.academic;
# Allow PGP
"mail.identity.id_${id}.openpgp_key_id" = "9B11F5243089DB5B"; # Your 'master' key
"mail.identity.id_${id}.attachPgpKey" = true;
};
};
}; };
Gmail = {
flavor = "gmail.com";
address = "tibo.depeuter@gmail.com";
primary = true; realName = config.users.users.tdpeuter.description;
thunderbird = { signature = {
enable = true; showSignature = "append";
settings = id: { text = signatures.default;
"mail.identity.id_${id}.htmlSigText" = signatures.default; };
thunderbird = {
enable = true;
settings = id: {
"mail.identity.id_${id}.htmlSigText" = signatures.default;
};
};
};
MrFortem = {
flavor = "gmail.com";
address = "fortemfiducia@gmail.com";
realName = "Fortem Fiducia";
signature = {
showSignature = "append";
text = signatures.MrFortem;
};
thunderbird = {
enable = true;
settings = id: {
"mail.server.server_${id}.directory" = ".thunderbird/tdpeuter/ImapMail/imap.gmail.com-mrfortem";
"mail.server.server_${id}.directory-rel" = "[ProfD]ImapMail/imap.gmail.com-mrfortem";
"mail.identity.id_${id}.htmlSigText" = signatures.alias;
};
}; };
}; };
}; };
UGent = {
flavor = "outlook.office365.com";
address = "tibo.depeuter@ugent.be";
realName = config.users.users.tdpeuter.description; calendar.accounts = let
signature = { makeNextcloudCalendar = calendarName: color: {
showSignature = "append"; remote = {
text = signatures.academic; type = "caldav";
}; url = "https://cloud.depeuter.dev/remote.php/dav/calendars/tdpeuter/${calendarName}";
userName = "tdpeuter";
thunderbird = { };
enable = true; thunderbird = {
settings = id: { enable = true;
"mail.server.server_${id}.authMethod" = 10; inherit color;
"mail.smtpserver.smtp_${id}.authMethod" = 10;
"mail.identity.id_${id}.htmlSigText" = signatures.academic;
# Allow PGP
"mail.identity.id_${id}.openpgp_key_id" = "9B11F5243089DB5B"; # Your 'master' key
"mail.identity.id_${id}.attachPgpKey" = true;
}; };
}; };
}; in {
Gmail = { Personal = makeNextcloudCalendar "personal" "#2ec27e";
flavor = "gmail.com"; UGent = {
address = "tibo.depeuter@gmail.com"; remote = {
type = "caldav";
realName = config.users.users.tdpeuter.description; url = "https://cloud.depeuter.dev/remote.php/dav/calendars/tdpeuter/ugent/";
signature = { userName = "tdpeuter";
showSignature = "append"; };
text = signatures.default; thunderbird = {
}; enable = true;
thunderbird = { color = "#1e64c8";
enable = true; settings = id: {
settings = id: { # Link to UGent mail
"mail.identity.id_${id}.htmlSigText" = signatures.default; "calendar.registry.${id}.imip.identity.key" = "id_${builtins.hashString "sha256" "ugent"}";
}; };
};
};
MrFortem = {
flavor = "gmail.com";
address = "fortemfiducia@gmail.com";
realName = "Fortem Fiducia";
signature = {
showSignature = "append";
text = signatures.MrFortem;
};
thunderbird = {
enable = true;
settings = id: {
"mail.server.server_${id}.directory" = ".thunderbird/tdpeuter/ImapMail/imap.gmail.com-mrfortem";
"mail.server.server_${id}.directory-rel" = "[ProfD]ImapMail/imap.gmail.com-mrfortem";
"mail.identity.id_${id}.htmlSigText" = signatures.alias;
}; };
}; };
Tasks = makeNextcloudCalendar "tasks-2" "#813d9c";
Work = makeNextcloudCalendar "vts" "#ff0000";
Planning = makeNextcloudCalendar "planning" "#102457";
Joetz = makeNextcloudCalendar "joetz" "#ea1c0f";
}; };
}; };
@ -124,7 +160,24 @@ in {
enable = true; enable = true;
profiles.tdpeuter = { profiles.tdpeuter = {
isDefault = true; isDefault = true;
accountsOrder = [
"Telenet"
"UGent"
"Gmail"
"MrFortem"
];
calendarAccountsOrder = [
"Personal"
"UGent"
"Tasks"
"Work"
"Planning"
"Joetz"
];
settings = { settings = {
"mail.shell.checkDefaultClient" = false;
"mail.threadpane.listview" = 0;
# View # View
"mailnews.default_sort_order" = 2; # Sort descending "mailnews.default_sort_order" = 2; # Sort descending
"mailnews.mark_message_read.delay" = true; "mailnews.mark_message_read.delay" = true;