Begin supporting notmuch in Emacs
I'm borrowing from @tazjin's dotfiles, which are stored in Git on Borg. When you
call `nix-build ~/briefcase/mail`, result will output a systemd units, which you
should move to ~/.config/systemd/user/.
The path to `gmi`, which is Lieer's executable, exists in /nix/store, and you
can read it from the systemd unit file (i.e. lieer-google.service). Lieer
synchronizes notmuch with Gmail and Gmail with notmuch.
Here's a general sequence of commands that I ran to set everything up. Special
thank you to @tazjin for helping me with all of this. These steps are not
certified as a tutorial; I'm recalling them from memory. When I set this up
things didn't work as expected immediately and I had to troubleshoot.
```shell
> mkdir -p ~/mail/account.google
> cd ~/mail/account.google
> nix-env -iA nixpkgs.notmuch
> notmuch setup
> nix-build ~/briefcase/mail
> cp ./result/lieer-google.{service,timer} ~/.config/systemd/user
> rm ./result
> systemctl --user cat lieer-google
...copy the /nix/store path to gmi...
> notmuch new
> /nix/store/gmi init
...follow the OAuth login flow...
>
```
Unknowns?
- Do I need to call `systemctl --user start lieer-google` at startup? Or should
  I move these units to user/default.target.wants?
- Can I send email from notmuch?
- How do I use notmuch to delete email? To respond to emails? To do anything?
Todo:
- Once this configuration stabilizes, I should package everything with Nix.
			
			
This commit is contained in:
		
							parent
							
								
									9fa97eab67
								
							
						
					
					
						commit
						3677a7a39e
					
				
					 3 changed files with 22 additions and 0 deletions
				
			
		
							
								
								
									
										7
									
								
								configs/shared/.config/systemd/user/lieer-google.service
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								configs/shared/.config/systemd/user/lieer-google.service
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | [Unit] | ||||||
|  | Description=Lieer sync for account 'google' | ||||||
|  | 
 | ||||||
|  | [Service] | ||||||
|  | Type=oneshot | ||||||
|  | ExecStart=/nix/store/n6c4pr4fyrsjfksspkapb7yqc6fzl166-corp-lieer/bin/gmi sync | ||||||
|  | WorkingDirectory=%h/mail/account.google | ||||||
							
								
								
									
										9
									
								
								configs/shared/.config/systemd/user/lieer-google.timer
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								configs/shared/.config/systemd/user/lieer-google.timer
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | ||||||
|  | [Unit] | ||||||
|  | Description=Run lieer sync for account 'google' | ||||||
|  | 
 | ||||||
|  | [Timer] | ||||||
|  | OnActiveSec=1 | ||||||
|  | OnUnitActiveSec=120 | ||||||
|  | 
 | ||||||
|  | [Install] | ||||||
|  | WantedBy=timers.target | ||||||
							
								
								
									
										6
									
								
								mail/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								mail/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | { depot ? import <depot> {}, ... }: | ||||||
|  | 
 | ||||||
|  | let | ||||||
|  |   inherit (builtins) fetchGit; | ||||||
|  |   tazjdots = import (fetchGit "sso://user/tazjin/dotfiles") { pkgs = depot; }; | ||||||
|  | in tazjdots.services.lieer | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue