Stores the unstable channel in the global package set to make it
available in the emacs module.
All emacs-related packages are now taken from the unstable channel.
Related changes:
* prescient is now built directly from git
* sly has been (temporarily) removed because the MELPA recipe is
failing
Unfortunately the version bumps to prescient and ivy (& its related
packages) don't seem to help with raxod502/prescient.el#10
Implements a periodically updated telephone-line segment that displays
the current unread count for the two most important inboxes in the
mode-line, if there are unread mails.
Telephone line has a slightly easier to configure segment system. This
commit also uses the commit introduced in the previous function to
conditionally display miscellaneous modeline information in the last
window of a frame.
More configuration for this will come over time.
Adds a function that can be used to check whether the current buffer
is displayed in the "last" window of the active frame.
The intention is to use this predicate to modify the modeline display
to only show miscellaneous information (time, battery percentage etc.)
on the last window instead of duplicating it.
Ivy's regex-based fuzzy matching can occasionally be slow, which was
getting on my nerves.
This switches the completion engine to prescient[1] which promises to
be faster. Experimental testing in large files like the
`configuration.nix` man page looks promissing.
[1]: https://github.com/raxod502/prescient.el
These packages are not in nixpkgs yet (will most likely be added after
the next MELPA import), so they're added here manually.
As both originate from the same source they're added to the same
derivation here by using a custom recipe.
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.