summaryrefslogtreecommitdiff
path: root/home.nix
diff options
context:
space:
mode:
authorvin <vin@vineetk.net>2025-02-23 19:14:45 -0500
committervin <vin@vineetk.net>2025-02-23 19:14:45 -0500
commit43eefd873815fee75df2e0a2f75451f0b3e8d488 (patch)
tree42a82ae77fc9440ffb080ed2e0ba0a8eac26bdc9 /home.nix
parentc5a7924b7c44031acb9c5b52e013ee6c241ee672 (diff)
start using notmuch+isync instead of aerc for email
Almost gone full circle of switching away from isync to fdm to rsync to using imap directly via aerc.
Diffstat (limited to 'home.nix')
-rw-r--r--home.nix241
1 files changed, 124 insertions, 117 deletions
diff --git a/home.nix b/home.nix
index 55d4f52..24e5920 100644
--- a/home.nix
+++ b/home.nix
@@ -2,6 +2,30 @@
2 2
3let 3let
4 colors = import ./colors.nix; 4 colors = import ./colors.nix;
5
6 isync-oauth2 = with pkgs; buildEnv {
7 # takens from:
8 # https://github.com/wentasah/nix-conf/raw/master/modules/mail.nix
9 # https://github.com/NixOS/nixpkgs/issues/108480#issuecomment-1115108802
10 name = "isync";
11 paths = [ pkgs.isync ];
12 pathsToLink = ["/bin"];
13 nativeBuildInputs = [ makeWrapper ];
14 postBuild = ''
15 wrapProgram "$out/bin/mbsync" \
16 --prefix SASL_PATH : "${cyrus_sasl}/lib/sasl2:${cyrus-sasl-xoauth2}/lib/sasl2"
17 '';
18 };
19
20 uvtools = with pkgs; appimageTools.wrapType2 rec {
21 pname = "UVtools";
22 version = "5.0.6";
23 src = fetchurl {
24 url = "https://github.com/sn4k3/${pname}/releases/download/v${version}/${pname}_linux-x64_v${version}.AppImage";
25 hash = "sha256-T1E2+7YocWbspRrpWoexfLmm7LZSb4Nkw8WSBD6zTHs";
26 };
27 extraPkgs = pkgs: [ pkgs.icu ];
28 };
5in { 29in {
6 home = { 30 home = {
7 username = "vin"; 31 username = "vin";
@@ -29,6 +53,10 @@ in {
29 profanity 53 profanity
30 vesktop 54 vesktop
31 55
56 # email
57 notmuch
58 oauth2ms
59
32 # hardware 60 # hardware
33 acpi 61 acpi
34 acpilight 62 acpilight
@@ -60,20 +88,7 @@ in {
60 88
61 # 3d printing 89 # 3d printing
62 prusa-slicer 90 prusa-slicer
63 (let 91 uvtools
64 pname = "UVtools";
65 version = "5.0.6";
66
67 src = fetchurl {
68 url =
69 "https://github.com/sn4k3/${pname}/releases/download/v${version}/${pname}_linux-x64_v${version}.AppImage";
70 hash = "sha256-T1E2+7YocWbspRrpWoexfLmm7LZSb4Nkw8WSBD6zTHs";
71 };
72
73 in appimageTools.wrapType2 {
74 inherit pname version src;
75 extraPkgs = pkgs: [ pkgs.icu ];
76 })
77 ]; 92 ];
78 93
79 preferXdgDirectories = true; 94 preferXdgDirectories = true;
@@ -168,111 +183,96 @@ in {
168 theme.package = inputs.everblush-gtk.packages.x86_64-linux.default; 183 theme.package = inputs.everblush-gtk.packages.x86_64-linux.default;
169 }; 184 };
170 185
171 programs = { 186 dconf.settings = {
172 home-manager.enable = true; 187 "org/virt-manager/virt-manager/connections" = {
188 autoconnect = [ "qemu:///system" ];
189 uris = [ "qemu:///system" ];
190 };
191 };
173 192
174 aerc = { 193 accounts.email = {
175 enable = true; 194 maildirBasePath = "mail";
176 extraAccounts = { 195
177 "vineetk" = { 196 accounts = {
178 source = "imaps://vineet%40vineetk.net@mail.vineetk.net"; 197 university = {
179 outgoing = "smtps://vineet%40vineetk.net@mail.vineetk.net"; 198 address = "***REDACTED_EMAIL***";
180 outgoing-cred-cmd = "kasi pass email/vineetk"; 199 realName = "Vineet Kumar";
181 source-cred-cmd = "kasi pass email/vineetk"; 200 userName = "***REDACTED_EMAIL***";
182 default = "INBOX"; 201 passwordCommand = "oauth2ms";
183 from = "\"Vineet Kumar\" <vineet@vineetk.net>"; 202
184 copy-to = "Sent"; 203 imap.host = "outlook.office365.com";
185 cache-headers = true; 204 smtp = {
186 }; 205 host = "smtp-mail.outlook.com";
187 "13f0" = { 206 port = 587;
188 source = "imaps://kar%4013f0.net@mail.vineetk.net"; 207 tls.useStartTls = true;
189 outgoing = "smtps://kar%4013f0.net@mail.vineetk.net"; 208 };
190 outgoing-cred-cmd = "kasi pass email/13f0";
191 source-cred-cmd = "kasi pass email/13f0";
192 default = "INBOX";
193 from = "kar <kar@13f0.net>";
194 copy-to = "Sent";
195 cache-headers = true;
196 };
197 };
198 extraConfig = {
199 general = {
200 unsafe-accounts-conf = true;
201 };
202 ui = {
203 fuzzy-complete = true;
204 styleset-name = "monochrome";
205 threading-enabled = true;
206 };
207 filters = {
208 "message/delivery-status" = "colorize";
209 "message/rfc822" = "colorize";
210 209
211 "text/calendar" = "calendar"; 210 mbsync = {
212 "text/html" = "html-unsafe | colorize"; 211 enable = true;
213 "text/plain" = "colorize"; 212 create = "both";
214 }; 213 expunge = "both";
215 openers = { 214 remove = "both";
216 "application/pdf" = "mupdf"; 215 patterns = [
217 "text/html" = "qutebrowser"; 216 "*" "!Calendar*" "!Contacts*" "!Conversation*"
218 "text/plain" = "emacs"; 217 "!Notes*" "!Journal*" "!Tasks*"
219 }; 218 ];
220 templates = { 219 };
221 "new-message" = "new_message"; 220
222 "quoted-reply" = "quoted_reply"; 221 msmtp = {
223 "forwards" = "forward_as_body"; 222 enable = true;
224 }; 223 extraConfig.auth = "xoauth2";
225 }; 224 };
226 stylesets = { 225
227 monochrome = '' 226 notmuch.enable = true;
228 # aerc monochrome styleset 227 };
229 # 228
230 229 vineetk = {
231 *.default = true 230 address = "me@vineetk.net";
232 *.normal = true 231 realName = "Vineet Kumar";
233 232 userName = "vineet@vineetk.net";
234 *.selected.reverse = toggle 233 passwordCommand = "kasi pass email/vineetk";
235 *_pill.reverse = true 234 primary = true;
236 235
237 title.reverse = true 236 imap.host = "mail.vineetk.net";
238 title.bold = true 237 smtp.host = "mail.vineetk.net";
239 header.bold = true 238
240 tab.selected.bold = true 239 mbsync = {
241 dirlist*.selected.bold = true 240 enable = true;
242 241 create = "both";
243 statusline_default.reverse = true 242 expunge = "both";
244 *error.bold = true 243 remove = "both";
245 *error.fg = 1 244 patterns = [ "*" ];
246 *warning.fg = 3 245 };
247 246
248 msglist_unread.bold = true 247 msmtp.enable = true;
249 msglist_deleted.dim = true 248 notmuch.enable = true;
250 msglist_result.underline = true 249 };
251 250
252 part_mimetype.dim = true 251 thirteen = {
253 part_mimetype.selected.dim = false 252 address = "kar@13f0.net";
254 part_filename.selected.bold = true 253 realName = "Kar";
255 254 userName = "kar@13f0.net";
256 selector_focused.reverse = true 255 passwordCommand = "kasi pass email/13f0";
257 selector_chooser.bold = true 256
258 257 imap.host = "mail.vineetk.net";
259 [viewer] 258 smtp.host = "mail.vineetk.net";
260 *.default = true 259
261 *.normal = true 260 mbsync = {
262 url.underline = true 261 enable = true;
263 header.bold = true 262 create = "both";
264 signature.dim = true 263 expunge = "both";
265 diff_meta.bold = true 264 remove = "both";
266 diff_chunk*.dim = true 265 patterns = [ "*" ];
267 diff_add.fg = 2 266 };
268 diff_del.fg = 1 267
269 quote_*.fg = 6 268 msmtp.enable = true;
270 quote_*.dim = true 269 notmuch.enable = true;
271 quote_1.dim = false 270 };
272 '' 271 };
273 ; 272 };
274 }; 273
275 }; 274 programs = {
275 home-manager.enable = true;
276 276
277 alacritty = { 277 alacritty = {
278 enable = true; 278 enable = true;
@@ -367,6 +367,13 @@ in {
367 ]; 367 ];
368 }; 368 };
369 369
370 mbsync = {
371 enable = true;
372 package = isync-oauth2;
373 };
374
375 msmtp.enable = true;
376
370 mpv = { 377 mpv = {
371 enable = true; 378 enable = true;
372 379