This moves my email configuration into NixOS, including the following
features:
1. Replaced the NixOS-builtin offlineimap user service with a custom
one that runs notmuch-indexing as part of the systemd unit instead
of a postsynchook, which is significantly more reliable.
2. Adds configuration for notmuch and its tagging.
3. Adds configuration for OfflineIMAP & MSMTP.
Relevant emacs configuration has also been added to my emacs.d
repository.
This is required in order to let password lookups work correctly when
shelling out to password-store from MSMTP, as it won't be calling
pinentry correctly otherwise.
The default `ivy-pass` function shells out to `pass` in such a way
that using pinentry with emacs doesn't work, causing EXWM to freeze
until `C-g` is hit, after which the password entry buffer pops up.
That was very inconvenient - however, the new auth-source integration
with pass works correctly and this commit introduces a new function
and bindings for using the same functionality as before but doing the
actual password-reading via auth-source.
LSP-mode in combination with the Rust language server does not really
work as RLS is extremely unstable.
This switches over to eglot, which automatically restarts RLS after
every crash. From initial testing it seems to be slightly less
annoying than the previous setup.
Last attempt to at least work around
https://github.com/ch11ng/exwm/issues/425 on one of my machines before
reverting to an old EXWM version.
If the randr module is responsible for this issue it will probably
still occur on the laptop and I'll eventually downgrade, but it may be
a clue for debugging it at some point in the future.
I've been wanting to use in-emacs terminal buffers instead of
Alacritty as an EXWM window for a while.
In light of the recent EXWM bugs that cause overlapping X-windows
occasionally I've finally had it!
This commit introduces a new configuration file for multi-term related
settings. Primarily this does the following:
* Introduce a new `C-x t` keybinding which launches a terminal if none
is running, or prompts the user to select one of the existing ones.
* Remap key bindings in term-mode for quick access to features I want.
* Add a `C-c C-r` key binding in term-mode to quickly rename terminal
buffers into something sensible. Hopefully this will play nice with
the ivy-based selector from the first point mentioned here.
I'll see how it goes!
The stable version does not seem to contain `gfm-view-mode` which is
required by LSP.
If it's not available the side-effect is nasty freezes of the entire
emacs session.