From 09e68a623efa6b1bdab13401633191a6ce84cc12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20=F0=9F=A6=9D=20Delenk?= Date: Mon, 11 Nov 2024 10:10:07 +0100 Subject: [PATCH] add mail config --- programs/desktop/pim/calendar.nix | 2 +- programs/desktop/pim/contacts.nix | 22 ++++++++++++++ programs/desktop/pim/default.nix | 6 +++- programs/desktop/pim/email.nix | 50 +++++++++++++++++++++++++++++++ programs/desktop/pim/secrets.yaml | 13 ++++++-- 5 files changed, 89 insertions(+), 4 deletions(-) create mode 100644 programs/desktop/pim/contacts.nix create mode 100644 programs/desktop/pim/email.nix diff --git a/programs/desktop/pim/calendar.nix b/programs/desktop/pim/calendar.nix index 9d3ac8ed..9b0330a6 100644 --- a/programs/desktop/pim/calendar.nix +++ b/programs/desktop/pim/calendar.nix @@ -17,6 +17,6 @@ vdirsyncer.enable = true; }; }; - accounts.calendar.basePath = "Data/.calendar"; + accounts.calendar.basePath = "Data/calendar"; sops.secrets."accounts/calendar/accounts/lotte/remote/password".sopsFile = ./secrets.yaml; } diff --git a/programs/desktop/pim/contacts.nix b/programs/desktop/pim/contacts.nix new file mode 100644 index 00000000..5339ff11 --- /dev/null +++ b/programs/desktop/pim/contacts.nix @@ -0,0 +1,22 @@ +{ pkgs, config, ... }: +{ + accounts.contact.accounts.lotte = { + khal = { + enable = true; + addresses = [ "lotte@chir.rs" ]; + }; + khard.enable = true; + remote = { + passwordCommand = [ + "${pkgs.coreutils}/bin/cat" + config.sops.secrets."accounts/contact/accounts/lotte/remote/password".path + ]; + type = "carddav"; + url = "https://contacts.zoho.eu/carddav/lotte@chir.rs/default/contacts"; + userName = "lotte@chir.rs"; + vdirsyncer.enable = true; + }; + }; + accounts.calendar.basePath = "Data/contacts"; + sops.secrets."accounts/contact/accounts/lotte/remote/password".sopsFile = ./secrets.yaml; +} diff --git a/programs/desktop/pim/default.nix b/programs/desktop/pim/default.nix index b64f2cc8..2f43ef6c 100644 --- a/programs/desktop/pim/default.nix +++ b/programs/desktop/pim/default.nix @@ -1,4 +1,8 @@ { ... }: { - imports = [ ./calendar.nix ]; + imports = [ + ./calendar.nix + ./contacts.nix + ./email.nix + ]; } diff --git a/programs/desktop/pim/email.nix b/programs/desktop/pim/email.nix new file mode 100644 index 00000000..b02f83a2 --- /dev/null +++ b/programs/desktop/pim/email.nix @@ -0,0 +1,50 @@ +{ pkgs, config, ... }: +{ + accounts.email.accounts.lotte = { + address = "lotte@chir.rs"; + imap.host = "imappro.zoho.eu"; + imapnotify = { + enable = true; + onNotify = "${pkgs.isync}/bin/mbsync test-%s"; + onNotifyPost.mail = "${pkgs.notmuch}/bin/notmuch new && ${pkgs.libnotify}/bin/notify-send 'New mail arrived'"; + }; + mbsync = { + enable = true; + create = "both"; + expunge = "both"; + }; + msmtp.enable = true; + notmuch = { + enable = true; + neomutt = { + enable = true; + virtualMailboxes = [ + { + name = "Inbox"; + query = "tag:inbox"; + } + ]; + }; + }; + passwordCommand = [ + "${pkgs.coreutils}/bin/cat" + config.sops.secrets."accounts/email/accounts/lotte/password".path + ]; + realName = "Charlotte 🦝 Delenk"; + smtp.host = "smtppro.zoho.eu"; + thunderbird.enable = true; + userName = "lotte@chir.rs"; + primary = true; + }; + accounts.email.maildirBasePath = "Data/Maildir"; + sops.secrets."accounts/email/accounts/lotte/password".sopsFile = ./secrets.yaml; + services.imapnotify.enable = true; + programs.notmuch.enable = true; + programs.thunderbird = { + enable = true; + profiles.default = { + isDefault = true; + withExternalGnupg = true; + }; + }; +} diff --git a/programs/desktop/pim/secrets.yaml b/programs/desktop/pim/secrets.yaml index d0a02997..36b2b724 100644 --- a/programs/desktop/pim/secrets.yaml +++ b/programs/desktop/pim/secrets.yaml @@ -4,6 +4,15 @@ accounts: lotte: remote: password: ENC[AES256_GCM,data:Y+ITsQj6vFJ2Jgk8,iv:ZrdVVxh2L9pJKhLWaz3BE+IU0xasn4WQ1Jm0kpnWMLI=,tag:gTJsmCNqnKNbhBXJipijbA==,type:str] + contact: + accounts: + lotte: + remote: + password: ENC[AES256_GCM,data:Swzr3KZgLh5EMo1J,iv:QQl0mUbs9uCgFlv+GgOFxAJ+YkUmjwayMM3TR0W0teE=,tag:Ha+8dv7299lPiPDoXU2Lig==,type:str] + email: + accounts: + lotte: + password: ENC[AES256_GCM,data:+Sf6HN8A1ULHW7nX,iv:yG2I0IX4OQysLbMb4B+k7T9uxxvb4WEs0gcpLXO+mG0=,tag:pLTYJZlPeGrw/Ws4nA8KKw==,type:str] sops: kms: [] gcp_kms: [] @@ -28,8 +37,8 @@ sops: ZC92TnJZb3NBVUdteHhrNk5pK3QwSmcKbY4gZ0wDYR2A9mG8i69kY1KGi5iiAUWo jHi0K4vaAQly8IbKnMtxCOlzpLPBg2zCV9zSyOyDYedf1zEt+lnNAw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-11-11T07:49:49Z" - mac: ENC[AES256_GCM,data:whBphPJ655nUxGsTnyQKWHwXHLbEVH8OSMfXCydYCaHbanAjsM1laupfreJKz36H7LLs3u6ms24NLuOpNgoKve8tjdh2kj7NAFxKagVsP9eoRQcfR10QUN9u6GBRSY5Us46uJekS/yyTd7obA4O0GdG32fR9/o4St/7g3Xod4Zs=,iv:mY3CnvVDgvWliF966dqS0QJN5sLyvVuAy/SS4cfb4XI=,tag:+9QhY39b+N4HGiTQ0HVsjQ==,type:str] + lastmodified: "2024-11-11T08:57:33Z" + mac: ENC[AES256_GCM,data:cGooQpFW9SrmvFwxhBfUI/BUjYbrQTfyqvsa1vhdc9S1M+VFKzrmIfaSpuFslj6///WbvQKpi9qcqWNhCdr6wWMCSR14ewMk57i0l3AsmfT4j3yElMl15+ereQMZ3z2c1NbU4x1ZP0OSCPAXUgr44qzY3EVziQrwbNRlAGqkk8M=,iv:U7O9mFyD6rA1efTlQKcl13vLC9TPekiDfCJGbAYtjPk=,tag:K3sd6T+wSdWdOU8VkEnbOw==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.9.1