{ ... }: let davHost = "cloud.thiccdata.io"; davUser = "mbessette"; mkGmailAccount = address: realName: { inherit address realName; flavor = "gmail.com"; thunderbird.enable = true; }; mkCalendar = collection: { remote = { type = "caldav"; url = "https://${davHost}/remote.php/dav/calendars/${davUser}/${collection}/"; userName = davUser; }; }; mkAddressBook = book: { remote = { type = "carddav"; url = "https://${davHost}/remote.php/dav/addressbooks/users/${davUser}/${book}/"; userName = davUser; }; }; in { accounts.calendar.basePath = ".calendars"; accounts.contact.basePath = ".contacts"; accounts.email.accounts = { personal = mkGmailAccount "blade30912@gmail.com" "Matthew Bessette" // { primary = true; }; bessette = mkGmailAccount "bessette.matthew94@gmail.com" "Matthew Bessette"; house = mkGmailAccount "mbessette.house@gmail.com" "Matthew Bessette"; joseph = mkGmailAccount "joseph.lamothe55@gmail.com" "Joseph Lamothe"; }; # Calendars and the address book are consumed via evolution-data-server # (see module.evolution.nix) rather than Thunderbird's own calendar/address # book code. Only email accounts opt in to Thunderbird. accounts.calendar.accounts = { family = mkCalendar "test"; matt = mkCalendar "matt-calendar" // { primary = true; }; joseph-cal = mkCalendar "joseph-calendar"; }; accounts.contact.accounts = { contacts = mkAddressBook "contacts"; }; }