diff options
| author | quentin@aristote.fr <quentin@aristote.fr> | 2023-03-03 17:24:28 +0100 |
|---|---|---|
| committer | quentin@aristote.fr <quentin@aristote.fr> | 2023-03-03 17:24:28 +0100 |
| commit | fdaf97a9acfbec43cc816357b73c0e746621c531 (patch) | |
| tree | b2fe9ad31629cc1d7dec200b5dfcd2715eb66f34 /modules/home-manager/personal/identities.nix | |
| parent | feb03b9630430af407dc078fb18d7a7d6d17e101 (diff) | |
home: split identities from social profile
Diffstat (limited to 'modules/home-manager/personal/identities.nix')
| -rw-r--r-- | modules/home-manager/personal/identities.nix | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/modules/home-manager/personal/identities.nix b/modules/home-manager/personal/identities.nix new file mode 100644 index 0000000..eb70e2b --- /dev/null +++ b/modules/home-manager/personal/identities.nix @@ -0,0 +1,96 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.personal.identities; + mkEnableIdentityOption = name: lib.mkEnableOption "${name} identity"; +in { + options.personal.identities = { + personal = mkEnableIdentityOption "personal"; + work = mkEnableIdentityOption "work"; + }; + + config = { + accounts.email.accounts = let + gpg = { + key = "DFC1660846EEA97C059F18534EF515441E635D36"; + signByDefault = true; + }; + thunderbirdSettings = id: { + "mail.identity.id_${id}.fcc_folder_picker_mode" = 0; + }; + in { + personal = lib.mkIf config.personal.identities.personal { + inherit gpg; + address = "quentin@aristote.fr"; + userName = "quentin@aristote.fr"; + realName = "Quentin Aristote"; + folders = { + drafts = "INBOX/Brouillons"; + inbox = "INBOX"; + sent = "INBOX/Envoyés"; + trash = "INBOX/Corbeille"; + }; + imap = { + host = "ssl0.ovh.net"; + port = 993; + }; + smtp = { + host = "ssl0.ovh.net"; + port = 465; + }; + thunderbird = { + enable = true; + profiles = [ "default" ]; + settings = id: + thunderbirdSettings id // { + "mail.identity.id_${id}.draft_folder" = + "imap://quentin%40aristote.fr@ssl0.ovh.net/INBOX/Brouillons"; + "mail.identity.id_${id}.fcc_folder" = + "imap://quentin%40aristote.fr@ssl0.ovh.net/INBOX/Envoy&AOk-s"; + "mail.identity.id_${id}.archive_folder" = + "imap://quentin%40aristote.fr@ssl0.ovh.net/INBOX/Archive"; + "mail.server.server_${id}.trash_folder_name" = "INBOX/Corbeille"; + }; + }; + }; + work = lib.mkIf config.personal.identities.work { + inherit gpg; + address = "quentin.aristote@ens.fr"; + userName = "qaristote"; + realName = "Quentin Aristote"; + aliases = [ + "quentin.aristote@ens.psl.eu" + "qaristote@clipper.ens.fr" + "qaristote@clipper.ens.psl.eu" + ]; + folders = { + drafts = "Drafts"; + inbox = "Inbox"; + sent = "Sent"; + trash = "Trash"; + }; + imap = { + host = "clipper.ens.fr"; + port = 993; + }; + smtp = { + host = "clipper.ens.fr"; + port = 465; + }; + thunderbird = { + enable = true; + profiles = [ "default" ]; + settings = id: + thunderbirdSettings id // { + "mail.identity.id_${id}.archive_folder" = + "imap://qaristote@clipper.ens.fr/Archive"; + "mail.server.server_${id}.trash_folder_name" = "Trash"; + }; + }; + }; + }; + + home.packages = lib.optionals cfg.personal (with pkgs; [ ]) + ++ lib.optionals cfg.work (with pkgs; [ zotero ]); + }; +} |
