For some reason that I can not be bothered to debug this mode will
only work correctly if initialised from inside this hook function (or
manually, after startup).
Adds a workaround for commercialhaskell/intero#569 by adding a
function that disables the offending GHCi flag in the Intero REPL, and
advising the `intero-repl` and `intero-repl-load` commands to always
execute it.
I did not manage to locate a common entrypoint to the REPL, but it's
probably not worth spending more time on as this will be fixed
properly in a future GHC release.
This is the first in a series of commits for refactoring my
configuration to make use of jwiegley's use-package.
In the previous layout of the configuration there were some questions
around what settings go into which file, but in the end it is all just
related to which packages are being configured (besides settings
related to global Emacs behaviour).
This commit introduces use-package forms for all currently used
packages (which are still installed via Nix, not via package.el) but
does not yet clean up the rest of the configuration in a suitable way.
Note that this version introduces a bug in which the configuration of
telephone line is not correctly initialised after package setup.
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
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.