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 {
config = lib.mkIf cfg.enable {
home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable {
accounts.email.accounts = {
Telenet = {
address = "tibo.depeuter@telenet.be";
userName = "tibo.depeuter@telenet.be";
imap = {
host = "imap.telenet.be";
port = 993;
tls.enable = true;
};
smtp = {
host = "smtp.telenet.be";
port = 587;
tls = {
accounts = {
email.accounts = {
Telenet = {
address = "tibo.depeuter@telenet.be";
userName = "tibo.depeuter@telenet.be";
imap = {
host = "imap.telenet.be";
port = 993;
tls.enable = true;
};
smtp = {
host = "smtp.telenet.be";
port = 587;
tls = {
enable = true;
useStartTls = true;
};
};
realName = config.users.users.tdpeuter.description;
signature = {
showSignature = "append";
text = signatures.default;
};
primary = true;
thunderbird = {
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;
signature = {
showSignature = "append";
text = signatures.default;
realName = config.users.users.tdpeuter.description;
signature = {
showSignature = "append";
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;
thunderbird = {
enable = true;
settings = id: {
"mail.identity.id_${id}.htmlSigText" = signatures.default;
realName = config.users.users.tdpeuter.description;
signature = {
showSignature = "append";
text = 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;
signature = {
showSignature = "append";
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;
calendar.accounts = let
makeNextcloudCalendar = calendarName: color: {
remote = {
type = "caldav";
url = "https://cloud.depeuter.dev/remote.php/dav/calendars/tdpeuter/${calendarName}";
userName = "tdpeuter";
};
thunderbird = {
enable = true;
inherit color;
};
};
};
Gmail = {
flavor = "gmail.com";
address = "tibo.depeuter@gmail.com";
realName = config.users.users.tdpeuter.description;
signature = {
showSignature = "append";
text = 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;
in {
Personal = makeNextcloudCalendar "personal" "#2ec27e";
UGent = {
remote = {
type = "caldav";
url = "https://cloud.depeuter.dev/remote.php/dav/calendars/tdpeuter/ugent/";
userName = "tdpeuter";
};
thunderbird = {
enable = true;
color = "#1e64c8";
settings = id: {
# Link to UGent mail
"calendar.registry.${id}.imip.identity.key" = "id_${builtins.hashString "sha256" "ugent"}";
};
};
};
Tasks = makeNextcloudCalendar "tasks-2" "#813d9c";
Work = makeNextcloudCalendar "vts" "#ff0000";
Planning = makeNextcloudCalendar "planning" "#102457";
Joetz = makeNextcloudCalendar "joetz" "#ea1c0f";
};
};
@ -124,7 +160,24 @@ in {
enable = true;
profiles.tdpeuter = {
isDefault = true;
accountsOrder = [
"Telenet"
"UGent"
"Gmail"
"MrFortem"
];
calendarAccountsOrder = [
"Personal"
"UGent"
"Tasks"
"Work"
"Planning"
"Joetz"
];
settings = {
"mail.shell.checkDefaultClient" = false;
"mail.threadpane.listview" = 0;
# View
"mailnews.default_sort_order" = 2; # Sort descending
"mailnews.mark_message_read.delay" = true;