Commit graph

256 commits

Author SHA1 Message Date
Vincent Ambo
5b32cd74c6 feat(mail): Add counsel-notmuch support 2019-02-10 21:43:54 +01:00
Vincent Ambo
dea6ece741 chore(init): Comment out multi-term configuration
Multi-term is currently broken, I think this may be related to Emacs
26, but as I don't actively use it much I haven't investigated more.
2019-02-10 21:43:54 +01:00
Vincent Ambo
660fc549f4 feat(init): Reintroduce sly configuration
Sly is back!
2019-02-10 21:43:54 +01:00
Vincent Ambo
47ba177c00 fix(init): Fix setup of lisp modes 2019-02-10 21:43:54 +01:00
Vincent Ambo
169b6754d0 chore(custom): Add some Aprila-related settings 2019-02-10 21:43:54 +01:00
Vincent Ambo
4fe8d78dbb refactor: Begin moving package configuration to use-package
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.
2019-02-10 21:43:54 +01:00
Vincent Ambo
f0dfc8b06d feat(functions): Add ivy-browse-repositories function
Quick helper to switch between all relevant projects.
2018-06-18 16:39:57 +02:00
Vincent Ambo
e743ea28c5 feat(look-and-feel): Display EXWM workspace index in mode-line
Been waiting to do this since forever!
2018-06-15 01:32:34 +02:00
Vincent Ambo
9da4606162 style(look-and-feel): Use more compact battery display layout 2018-06-15 01:32:15 +02:00
Vincent Ambo
454cb9e506 feat(look-and-feel): Display unread mail telephone line segment
Defines a new highlight face and configures the telephone line
segments to display the unread count if there are unread mails.
2018-06-15 01:15:13 +02:00
Vincent Ambo
e543ddff2e style(look-and-feel): Use tan-shaped separators for telephone-line 2018-06-15 01:15:13 +02:00
Vincent Ambo
59aa338932 feat(mail): Implement unread count telephone-line segment
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.
2018-06-15 01:15:13 +02:00
Vincent Ambo
9665318115 feat(look-and-feel): Display battery % in mode-line on adho 2018-06-15 01:15:13 +02:00
Vincent Ambo
5442d6c0fb refactor(look-and-feel): Simplify frame configuration
When using EXWM new frames don't just show up the way they used to.
2018-06-15 01:15:13 +02:00
Vincent Ambo
e941e6b836 feat(look-and-feel): Enable winner-mode 2018-06-15 01:15:13 +02:00
Vincent Ambo
221c60e448 refactor(look-and-feel): Replace SML with telephone-line
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.
2018-06-15 01:15:13 +02:00
Vincent Ambo
75749b68b0 fix(settings): Add counsel-rg to ivy-prescient-excluded-commands
History should not be remembered for counsel-rg
2018-06-15 00:03:11 +02:00
Vincent Ambo
ecf68e357c feat(functions): Add predicate function to determine last window
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.
2018-06-15 00:02:04 +02:00
Vincent Ambo
a6a0e28e11 refactor(settings): Use prescient together with ivy
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
2018-06-13 00:09:16 +02:00
Vincent Ambo
ebc1dd1a18 chore(mail): Switch to citing messages without signature 2018-06-12 09:12:39 +02:00
Vincent Ambo
7781a059b3 fix(mail): Fix setup of drafts & cache folder 2018-06-12 09:12:39 +02:00
Vincent Ambo
711afd3bd5 chore(mail): Unbind notmuch-save-draft
I don't use drafts and they're kind of annoying.
2018-06-12 09:10:25 +02:00
Vincent Ambo
45432f9b34 fix(mail): Set mail-host-address variable from hostname 2018-06-08 15:14:22 +02:00
Vincent Ambo
d146f1089b feat(functions): Add M-x nixos-man
Opens the configuration.nix man page
2018-06-08 15:14:09 +02:00
Vincent Ambo
f70a16f453 feat(mail): Add development list to notmuch jump shortcuts 2018-06-07 23:23:57 +02:00
Vincent Ambo
b304289de3 chore(rust): Remove flycheck-require
eglot uses flymake, which is bundled.
2018-06-06 23:33:22 +02:00
Vincent Ambo
9576f73526 fix(settings): Require password-store related libraries
These libraries are no longer auto-required because I don't actually
use the default ivy-pass anymore, just some helper functions from the
libs.
2018-06-06 21:05:58 +02:00
Vincent Ambo
c1c102665c fix(mail): Ensure MSMTP's sendmail binary is used for sending 2018-06-06 21:05:47 +02:00
Vincent Ambo
ead3a70114 fix(mail): Only show unread messages in inbox count 2018-06-06 10:29:47 +02:00
Vincent Ambo
4f64ab2942 chore(mail): Rename file to match provides 2018-06-06 10:29:44 +02:00
Vincent Ambo
0806463a00 fix(mail): Add hack to "warm up" GPG agent before sending mail
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.
2018-06-06 10:22:06 +02:00
Vincent Ambo
66e86d2546 feat(functions): Add custom ivy-password-store function
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.
2018-06-06 09:46:01 +02:00
Vincent Ambo
be8d47257f feat(settings): Enable new password-store auth-source 2018-06-06 09:45:47 +02:00
Vincent Ambo
fa63debbfb feat(mail): Add notmuch configuration to git
(should've done this earlier *cough*)
2018-06-06 09:19:55 +02:00
Vincent Ambo
4b9b7f2999 feat(rust): Use eglot instead of LSP-mode
See commit `6939aa9` in Nix configuration for more information.
2018-06-03 22:36:43 +02:00
Vincent Ambo
ac527952ce refactor(nixos): Only load exwm-randr on adho
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.
2018-06-03 18:20:40 +02:00
Vincent Ambo
2e637433c1 fix(bindings): Use avy-goto-line instead of ace-jump-line-mode 2018-06-01 17:08:28 +02:00
Vincent Ambo
91dac5f692 refactor(functions): Use display-line-numbers instead of linum 2018-06-01 17:07:46 +02:00
Vincent Ambo
4fabc36172 feat(settings): Always load notmuch 2018-05-18 12:20:34 +02:00
Vincent Ambo
b5e3f492f4 fix(nixos): Start EXWM with 10 workspaces pre-configured 2018-05-09 00:51:34 +02:00
Vincent Ambo
7b8902a36a feat(term-setup): First attempt to make multi-term tolerable
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!
2018-05-09 00:46:44 +02:00
Vincent Ambo
ced93e2606 feat(rust): Move to RLS/LSP setup
Lets see how long this lasts ...
2018-05-08 22:32:09 +02:00
Vincent Ambo
6061d1bbb2 chore(init): Enable upcase-region command 2018-05-07 14:02:56 +02:00
Vincent Ambo
301a9c538d feat(bindings): Bind counsel-rg to 'C-c r g' 2018-05-06 21:44:48 +02:00
Vincent Ambo
85fad03504 feat(custom): Enable incremental compilation in Cargo commands 2018-05-06 21:44:34 +02:00
Vincent Ambo
e5d129b499 fix(nixos): Use 'screen-lock' command instead of i3lock directly 2018-05-01 16:41:42 +02:00
Vincent Ambo
456f692b88 feat(functions): Add ivy-run-external-command
Adds an ivy-based function akin to Helm's helm-run-external-command,
but without all the things I don't need/want.
2018-05-01 16:02:53 +02:00
Vincent Ambo
72a33b9156 feat(all): Replace helm with ivy
For most of my use-cases Helm seems to be overkill, and despite
overall seeming like a nice and featureful package it has stability
issues and bugs that annoy me.

I've heard that ivy is simpler to use and configure, so I'm giving it
a chance here.
2018-05-01 16:01:38 +02:00
Vincent Ambo
eaac33465d fix(custom): Mark gruber-darker safe, again.
This comes up again and again and again and again, for reasons I don't
understand or have time to care about.
2018-03-31 21:06:50 +02:00
Vincent Ambo
ec3e2da506 feat(bindings): Bind project-find-file & helm-occur globally 2018-03-30 12:16:00 +02:00