Commit graph

358 commits

Author SHA1 Message Date
William Carroll
b6e9952889 Disable auto-fill-mode and company-mode in IRC buffers
Why?
- `company-mode` is too noisy in IRC buffers.
- `auto-fill-mode` inserts newline characters that end up each being their own
  message, which means that I make more noise than I should in IRC.
2020-01-27 11:40:05 +00:00
William Carroll
fb51c8b458 Support nix-eval fish function
Wrapping the `nix eval` incantation in a fish function for two reasons:
1. Document that this is how to evaluate Nix from a file.
2. Provide a more ergonomic way of evaluating Nix from a file.
2020-01-27 11:39:02 +00:00
William Carroll
d1fdc9fa63 Enable ivy-mode globally
This takes care of my outstanding TODO of understanding why something ivy was
being used and other times it wasn't. It turns out that there is a generic
`completing-read` function that many Emacs packages consume. `ivy-mode` ensures
that when that function is called it is used instead of the default Emacs
completing package.

I'm still unsure of the difference between ivy and counsel. My best guess
currently is that counsel is the narrowing framework and ivy is the integration
of the narrowing framework with `completing-read`. Swiper must be the
integration with incremental {forward,backward} search.
2020-01-27 11:26:10 +00:00
William Carroll
11d0a6c794 Add missing require for ivy-clipmenu
Adding the missing dependency requirement for keybindings.el
2020-01-27 11:25:32 +00:00
William Carroll
d8193c3a52 Delete alarm.el
Since I've exported alarm.el as egg-timer.el, prefer requiring the latter, which
is in a separate repository.
2020-01-27 11:24:40 +00:00
William Carroll
b6b8611f69 Prefer keynav daemonize
Instead of `keynav &`.
2020-01-25 18:36:24 +00:00
William Carroll
bd82a25ff2 Add additional KBD for scrot/select
As mentioned in the TODO, I need this redundant KBD for my Ergodox.
2020-01-24 16:59:17 +00:00
William Carroll
7c67334141 Support alarm.el
- Renames productivity-timer.el -> alarm.el
- Support functionality
- Whitelists alarm.el in init.el
2020-01-24 16:58:43 +00:00
William Carroll
e0fa9d907d Define pkill Emacs function
I can kill process from Emacs instead of creating a terminal and using that.
2020-01-24 11:26:57 +00:00
William Carroll
402720792e Prefer opening locate buffers using dired-find-file-other-window
`dired-display-file` opens the file in another window but does not focus that
window. `dired-find-file-other-window` does what `dired-display-file` does
except it focuses that window.
2020-01-24 10:04:49 +00:00
William Carroll
7bf8997830 Support nix/sly-from-universe
This function builds a version of SBCL using `nix.buildLisp` and points `sly` to
the built executable. The result is a REPL with access to your project's
dependencies, which is quite useful. One drawback at the moment is that if new
dependencies are added to the project, I think I need to rebuild SBCL using nix
and restart sly.
2020-01-23 22:02:13 +00:00
William Carroll
ccd8907e22 Exposing the text-mode snippest to lisp-mode
This gives me access to some generic-purpose snippets that allow me to easily
insert characters like this: ✓ and ✗!
2020-01-23 14:56:01 +00:00
William Carroll
fcfed99600 Assert that the labels used in the bookmark/magit-status are defined
My current self hoping to help my future self.
2020-01-23 14:55:22 +00:00
William Carroll
e11ba0598e Move the location of tazjins-depot
Since I spend a decent amount of time scouring the excellent work of my
colleague, @tazjin, I figured having some functions and KBDs setup to make this
work cheaper would be beneficial.

Also preferring the name `"depot"` to `"tazjins-depot"`. I don't think the
namespace `"tazjin-"` is useful at this time. I'm considering renaming my
mono-repo `"universe"`... a bit grandiose, but hey, let me get my kicks.
2020-01-23 14:53:43 +00:00
William Carroll
7edd5d81f5 Explicitly set that yasnippet directory
I'd like to limit the available snippets to those snippets that I have
explicitly defined. I ran into this problem when defining the `defpackage`
snippet for `lisp-mode`; it appeared that another snippet for `defpackage`
existed somewhere on my machine.
2020-01-23 14:52:18 +00:00
William Carroll
190d5e4406 Support set/{super,sub}set
Define predicates for testing whether two sets are supersets or subsets.
2020-01-23 14:51:50 +00:00
William Carroll
d7c52e4e64 Define CL snippet for a module header
Since I'm new to the CL world, snippets are a useful note-taking analogue with
the added benefit of potentially speeding up my workflow should the
muscle-memory set.
2020-01-23 13:51:53 +00:00
William Carroll
3732ed4795 Define CL snippet for an untyped function
For the times when I'd like to be DyNaMiC.
2020-01-23 13:51:27 +00:00
William Carroll
37f8ca04f2 Update dired-mode-map KBDs
- Ensure `"<SPC>"` is available for my "leader" KBDs
- Define `"o"` as `#'dired-find-file-other-window`
2020-01-23 13:50:18 +00:00
William Carroll
df112d34b6 Support CL snippet for a typed function
This depends on the `type` macro that's defined in my mono-repo. Perhaps another
reason why my dotfiles needs to be merged into the mono-repo.
2020-01-23 13:49:31 +00:00
William Carroll
1a2ae5499e Support bookmark/magit-status
Add function to quickly get `magit-status` buffers for some repositories in
which I spend time.
2020-01-22 21:55:33 +00:00
William Carroll
857ef43d2d Support bookmark/from-label
Add function to resolve a bookmark from its label.
2020-01-22 21:55:07 +00:00
William Carroll
589349282f Format bookmark.el
Move `bookmark/install-kbds?` to the top of the module.
2020-01-22 21:54:22 +00:00
William Carroll
61c2050f23 Support additional bookmarks
- Adds bookmark for my mono-repo
- Adds bookmark for tazjins-depot
2020-01-22 21:53:43 +00:00
William Carroll
5a66f175e5 Support magit-popup
One of my Google Emacs libraries depends on the `magit-popup` library. I believe
it's `fig-status` and I'm unsure why that library didn't ship with
`magit-popup`... tune in next week for more packaging woes.
2020-01-22 21:13:10 +00:00
William Carroll
b3e24a1783 Support Emacs restclient
An excellent HTTP and REST client built into Emacs! Consider reaching for this
instead of reaching for `httpie`, `curl`.
2020-01-22 21:13:06 +00:00
William Carroll
0caca5985e Track work to support individual modules for each LISP dialect
Instead of one, big wpc-lisp.el, I think it might be better if each LISP dialect
that I supported had its own module.
2020-01-22 21:13:06 +00:00
William Carroll
1943c2a643 Lint wpc-lisp.el
Remove dead TODOs that are TODOne along with a few other strange text
artifacts.
2020-01-22 21:13:06 +00:00
William Carroll
397174ebd2 Support Common Lisp
After a bedazzling demonstration of Emacs + Common Lisp, I needed to download
Sly and `sbcl` and give it a try.
2020-01-22 21:13:06 +00:00
William Carroll
92f5773421 Consolidate Racket KBDs
Instead of three separate `general-define-key` statements consolidate all
three. I'm not sure I was aware of this feature of general when I originally
defined all three keybindings.
2020-01-22 21:13:06 +00:00
William Carroll
595280690c Prefer JetBrainsMono font for Terminator
TODO: Consider completing terminator.el and allow things like that font and
font-size to be parameterized.
2020-01-22 21:13:06 +00:00
William Carroll
df7385af0d Support snippet for python function
Many of my other commonly used languages have a similar snippet as well.
2020-01-22 21:13:06 +00:00
William Carroll
4b00548768 Extend {default,max}-cache-ttl in gpg-agent.conf
I recall making these changes days ago, but I cannot seem to find any evidence
of those changes.

Extending the lifetimes of GPG cache to improve the UX of using `pass` and
similar tools.
2020-01-22 21:13:06 +00:00
William Carroll
16dfa55df7 Ensure EDITOR and similar variables work with EXWM setup
After some confusion about my `emacsclient` is currently working as
expected. Perhaps it always did. I had `emacs --daemon` in my
`~/.xsessionrc.shared` for awhile, which may have confused
`emacsclient`. Whatever happened, I'm glad it's working now.
2020-01-22 21:13:06 +00:00
William Carroll
b843e0f8f6 Remove opam-install variable and assertion
The `prelude/assert` for the existence of the `opam-install` directory was
failing.

I believe this assertion would have been failing sooner, but a bug in my
initialization was preventing Emacs from evaluating `wpc-ocaml.el`. It seems
that I removed whatever was jamming the initialization and as such, I uncovered
some more bugs.

Let this serve as a reminder that just because it hasn't bitten you yet, doesn't
mean that your software doesn't have a bug.
2020-01-22 21:13:06 +00:00
William Carroll
59be1ee981 Support today-{expected,actual}
"Everybody has a plan until they get punched in the mouth"
- Mike Tyson
2020-01-22 21:13:06 +00:00
William Carroll
514c5797de Support keynav
I'm trying a mouse-less workflow supported by `keynav`. So far, everything works
pretty well... and then I needed to take a screenshot and I don't know how to
use `scrot --select` without a mouse.
2020-01-22 21:13:06 +00:00
William Carroll
3d6b521919 Ensure scrot.el initializes
- Adds scrot to init.el
- Moves the EXWM keybindings to keybindings.el
2020-01-22 21:13:05 +00:00
William Carroll
16fd606f91 Whitelist keybindings.el in init.el
Also tracking a TODO to consolidate all of my keybinding and keyboard related
modules.
2020-01-22 21:13:05 +00:00
William Carroll
d590fdae42 Debug fonts.el
Removing call to `fonts/fontify`: a function that no longer exists.
2020-01-22 21:13:05 +00:00
William Carroll
3e3ba41c5d Bind chrome/browse to EXWM keybinding
I'm hoping to use `chrome/browse` more often!
2020-01-22 21:13:05 +00:00
William Carroll
84eeb374b7 Debug keybindings.el
Change `keybindings/` -> `keybinding/`. Whoops...
2020-01-22 21:13:05 +00:00
William Carroll
b4a6551dd5 Drop support for evil-leader
Preferring to use the `general` package for defining leader-prefixed keybindings
than `evil-leader`.

This TODO has existed for quite awhile, so I'm pleased to finish it!

During the cleanup, I deleted some keybindings that I no longer used.
2020-01-22 21:13:05 +00:00
William Carroll
40742c612a Track TODO for extending alist/new
See TODO for more information.
2020-01-22 21:13:05 +00:00
William Carroll
64cf4ac920 Begin supporting list/index
This currently doesn't work and as such is a work-in-progress.
2020-01-22 21:13:05 +00:00
William Carroll
0c59df8327 Add tests for vector.el
Adds a few tests for vector{set,set!} functions.
2020-01-22 21:13:05 +00:00
William Carroll
a11af57666 Add --debug-init flag to Emacs startup command
This should tighten my feedback loop slightly.
2020-01-22 21:13:05 +00:00
William Carroll
ddd5d3a7a0 Drop support for ORG_DIRECTORY in envrc
When Emacs starts it's called from xsessionrc.shared, which is called outside of
direnv's .envrc scope. Because of this variables defined therein, like
ORG_DIRECTORY, are undefined and prevent Emacs from initializing.

I'm hard-coding the `org-directory` variable for now and removing references to
`(getenv "ORG_DIRECTORY")`.
2020-01-22 21:13:05 +00:00
William Carroll
8a657fff7f Temporarily prefer start-process instead of prelude/start-process
While my `prelude/start-process` function cannot support arguments in the form
of `'single quotes'`, I'm using `start-process`.
2020-01-22 21:13:05 +00:00
William Carroll
2a9fadd092 Change current-project to mono-repo
Point the constants/current-project variable to my mono-repo.

The constants.el file isn't as populated as I was expecting and I think
supporting it introduces indirection in my code. I'm considering removing it.
2020-01-22 21:13:05 +00:00