commit 7120b332c9e74490d9842d8c920353caf4588da0
parent 6ff14382a8e331b211c5d06d733d638e63932e12
Author: Silas Brack <silasbrack@gmail.com>
Date: Fri, 10 Jul 2026 22:34:23 +0200
gaia: add gmail to notmuch
Diffstat:
4 files changed, 49 insertions(+), 12 deletions(-)
diff --git a/hosts/gaia/configuration.nix b/hosts/gaia/configuration.nix
@@ -22,11 +22,8 @@
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
sops.secrets.gaia_forgejo_access_token = { };
- sops.secrets.silas_at_silasbrack_dot_com_password = { };
- sops.templates."mail-password" = {
- content = config.sops.placeholder.silas_at_silasbrack_dot_com_password;
- owner = "silas";
- };
+ sops.secrets.silas_at_silasbrack_dot_com_password = { owner = "silas"; };
+ sops.secrets.silasbrack_at_gmail_dot_com_app_password = { owner = "silas"; };
sops.templates."authinfo" = {
content = "machine git.fnarglebeast.com/api/v1 login silas^forge password ${config.sops.placeholder.gaia_forgejo_access_token}\n";
path = "/home/silas/.authinfo.gpg";
diff --git a/hosts/gaia/home.nix b/hosts/gaia/home.nix
@@ -45,8 +45,8 @@
IMAPAccount silasbrack
Host mail.silasbrack.com
User silas@silasbrack.com
- PassCmd "cat /run/secrets/rendered/mail-password"
- SSLType IMAPS
+ PassCmd "cat /run/secrets/silas_at_silasbrack_dot_com_password"
+ TLSType IMAPS
IMAPStore silasbrack-remote
Account silasbrack
@@ -63,12 +63,37 @@
Create Both
Expunge Both
SyncState *
+
+
+ IMAPAccount gmail
+ Host imap.gmail.com
+ Port 993
+ User silasbrack@gmail.com
+ PassCmd "cat /run/secrets/silasbrack_at_gmail_dot_com_app_password"
+ TLSType IMAPS
+
+ IMAPStore gmail-remote
+ Account gmail
+
+ MaildirStore gmail-local
+ Path ~/Mail/gmail/
+ SubFolders Verbatim
+
+ Channel gmail
+ Far :gmail-remote:
+ Near :gmail-local:
+ Patterns * ![Gmail]* "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" "[Gmail]/Trash"
+ Expunge None
+ CopyArrivalDate yes
+ Sync All
+ Create Both
+ SyncState *
'';
};
programs.msmtp = {
enable = true;
- extraConfig = ''
+ configContent = ''
defaults
tls on
@@ -79,7 +104,7 @@
auth on
user silas@silasbrack.com
from silas@silasbrack.com
- passwordeval "cat /run/secrets/rendered/mail-password"
+ passwordeval "cat /run/secrets/silas_at_silasbrack_dot_com_password"
account default : silasbrack
'';
@@ -102,6 +127,10 @@
notmuch tag +sent -new -- tag:new AND folder:silasbrack/Sent
notmuch tag +trash -new -- tag:new AND folder:silasbrack/Trash
notmuch tag +spam -new -- tag:new AND folder:silasbrack/Junk
+ notmuch tag +inbox -new -- tag:new AND folder:gmail/INBOX
+ notmuch tag +sent -new -- "tag:new AND folder:gmail/[Gmail]/Sent Mail"
+ notmuch tag +trash -new -- "tag:new AND folder:gmail/[Gmail]/Trash"
+ notmuch tag +starred -new -- "tag:new AND folder:gmail/[Gmail]/Starred"
notmuch tag -new -- tag:new
'';
};
diff --git a/hosts/gaia/init.el b/hosts/gaia/init.el
@@ -38,7 +38,14 @@
;; notmuch
(require 'notmuch)
(setq mail-user-agent 'notmuch-user-agent)
-(setq notmuch-fcc-dirs "silasbrack/Sent")
+(setq notmuch-fcc-dirs '(("silas@silasbrack.com" . "silasbrack/Sent")
+ ("silasbrack@gmail.com" . "gmail/[Gmail]/Sent Mail")))
+(setq notmuch-saved-searches
+ '((:name "inbox" :query "tag:inbox" :key "i")
+ (:name "silasbrack" :query "folder:silasbrack/INBOX" :key "s")
+ (:name "gmail" :query "folder:gmail/INBOX" :key "g")
+ (:name "sent" :query "tag:sent" :key "t")
+ (:name "unread" :query "tag:unread" :key "u")))
(setq notmuch-search-oldest-first nil)
(setq message-send-mail-function 'message-send-mail-with-sendmail)
(setq sendmail-program "msmtp")
@@ -47,3 +54,6 @@
(setq user-mail-address "silas@silasbrack.com")
(setq user-full-name "Silas Brack")
(global-set-key (kbd "C-c m") 'notmuch)
+
+;; keepass
+(require 'keepass-mode)
diff --git a/secrets.yaml b/secrets.yaml
@@ -11,6 +11,7 @@ mail_silas_password_hash: ENC[AES256_GCM,data:E3NCQ5/eRfpbaOVpK0Ovk/vE+h1q5/z7rZ
daily_tracker_secret_key_base: ENC[AES256_GCM,data:kLjV/cxP/s8DJ+hAwGdKmzU+hQohEU1/tjBIrONtHQT/baYn874rHf1KYgn05OXP7J9074favlH4h1aQco+6og==,iv:7nSTefY8B19hGCW0XK/perQoRhgHxLD3dAcMrDbPlgw=,tag:HCAoGDcKE92ms4SpwEl3AA==,type:str]
daily_tracker_mail_password: ENC[AES256_GCM,data:XCaEsrOmLoCQFurRc5X8l2YrtwGlp61j97XQTtPNGndzjqwXsjHfdHb/QO+V978fw9ZOWNrYKuSPR/t1,iv:jjhjPkyWmMFgPYQqNFagEttTW1b0u8nwSWiwKR+xT2U=,tag:WzCqt2S26vqO2I6sH3qqYQ==,type:str]
silas_at_silasbrack_dot_com_password: ENC[AES256_GCM,data:HG9YCH+EmQHf5PxHFgZZPZdyQ/3BGMEPJ8ImlTZFBXKhjLP6nXtb9n/h3ez/2hak0cu2QZ2zcaC+3DZH,iv:sh1p4UAFJ0y14Xjm3mzVZLeZqKvtUyE04RLZMTfUYz0=,tag:hNTkAZM+qYqeYDTWgcBfLA==,type:str]
+silasbrack_at_gmail_dot_com_app_password: ENC[AES256_GCM,data:mpzp90PC+tpJlxazSXrFpsh5qg==,iv:llSnXwOYhIHhVH/73leTwLsjorR2KATVBPRIdOqF9ik=,tag:1bIDLeN9x4X7cXEUfLuoiw==,type:str]
sops:
age:
- recipient: age1s29qgfupgx7mqn9dk2rndp6xh63f5qan8vqa77ve603wd5m9a9rqkpq7re
@@ -49,7 +50,7 @@ sops:
ZGptR25vdWhEKzFxbE5qS051ZFF4RkEK1hGCQVE1E92nFSwSeYRRhxn2p3wBfhpS
TZMRsiXtUdlgnoa+IJcFKsbwaZspYnKCA93IEfOXy6TadcoNiFzypw==
-----END AGE ENCRYPTED FILE-----
- lastmodified: "2026-07-10T19:19:30Z"
- mac: ENC[AES256_GCM,data:SzXDN/p1+AXmQD4vuMZtOWVBS0aEReAtA61xUtAKGZEuae5CCixEbYaCYKyk/kb0g85DCZSh2UHrhMhKQvPvKwzGhpCFLUD7IXMVhxE1XmtbQqAER82LZUI9mNuEVB/k/kggsAS+5TC4JIDOSMYN9f+qaIBTrO+QFMDxZPygVXg=,iv:Z1CRLAZZHWclnNFemmgcS8W9e/fp+Z8vtH9QkCBHHKc=,tag:Rafm1YoOUJzHuzCTDRQdkQ==,type:str]
+ lastmodified: "2026-07-10T20:18:20Z"
+ mac: ENC[AES256_GCM,data:PQ/aQBg7ozmXm/ydvt99WTGWg4TnN4VP0fkwOOEHe9ZZ98iaYR/UCs2u8l6y88TaZ/KqkishAF+m5j2gDdcgGFUkfTKl9N2W+rZMspWOYpvLr3ulnBi2TSKAMZLXZeihEE8iFMkFRdK2BbsVdTZHQ0y4QPqAr+bz40lgcTDiJoI=,iv:sMA3zQrk50ylPOgUpqIzo4GuvXqZdbrDy9m0av3mrSM=,tag:OrCxfRjpW3ejT80+uW75og==,type:str]
unencrypted_suffix: _unencrypted
version: 3.12.1