about summary refs log tree commit diff
path: root/configs/shared/.emacs.d
AgeCommit message (Collapse)AuthorFilesLines
2020-01-06 Support microphone togglingWilliam Carroll1-1/+9
Use pactl and exwm KBDs to support toggling my microphone setting from Emacs.
2020-01-06 Begin the Emacs email journeyWilliam Carroll2-0/+12
While this commit isn't much (i.e. notmuch), it represents one brave step forward in the quest for supporting email in Emacs -- something I'm estimating to be somewhere between a 1.5x and 2x workflow booster.
2020-01-06 Temporarily disable flycheckWilliam Carroll1-7/+3
TL;DR: Problem: I ran into a bug where my computer wallpaper was changing every five seconds whenever my init.el file was open and I was typing in it. Short-term solution: Disable flycheck. Long-term solution: Disable flycheck just for Elisp or just for init.el in Elisp. Post Mortem: Warning: If you have flycheck-emacs-lisp-initialize-packages set to auto or really anything other than nil, than the emacs-lisp flycheck-checker will spin up a new Emacs instance, and evaluate all of the Elisp in init.el. Why does this matter? Well, if like me, you have code anywhere in your init.el (and any files downstream from init.el), that code will get evaluated not just twice. But countless times... tens, hundreds, w/e. So... while you might think you have code that is just running at startup this code will be called incessantly. As a dramatic, contrived example, if you had something like... ```elisp (bank/send :amount 100 :to "wpcarro@gmail.com") ``` ...anywhere in that your init.el would evaluate, you may end up sending wpcarro@gmail.com millions of dollars. To make debugging this problem a bit more complicated is that because this runs in a separate Emacs instance, you can't do something like... ```elisp (defvar already-evaluated? nil) (unless already-evaluated? (bank/send :amount 100 :to "wpcarro@gmail.com")) (setq already-evaluated? t) ``` ...since the `already-evaluated?` variable will be local to the Emacs instance. So if you needed a mechanism to ensure code like this runs only once, you would need a way to share this semaphore across Emacs instances -- e.g. writing to and reading from disk.
2019-12-24 Combine google-{stuff,tooling}William Carroll3-58/+31
Google-related files should eventually be moved out of GitHub hosting and onto Google infrastructure (e.g. Git on Borg). When I do this, I should run: ```fish > git grep --ignore-case google (git rev-list --all) ``` To assess the reference I've introduced into this repository. Other tools that should come in handy when I do this are: - git filter-branch - BFG repo-cleaner
2019-12-24 Support JS-style header in web-modeWilliam Carroll1-0/+7
Yasnippet supports a way to share snippets between related modes. I should do this instead of just defining a new snippet here. Well... until then.
2019-12-24 Drop support for purpose.elWilliam Carroll1-54/+1
For now, my lack of understanding of purpose results in purpose getting in my way. One day, I may reinvestigate this. For now, I'm attempting to learn Prolog and Nix, which is occupying most of my tolerance for new technology.
2019-12-24 Support evil-magit, refineWilliam Carroll2-1/+10
It took me awhile to install evil-magit because I believed that evil-collection supported it. My grasp of Emacs bindings was enough to tolerate the strangely "inconsistent" KBD support of in magit. Eventually though my tolerance waned, and I verified that evil-collection does *not* support magit, and suggests that users seek evil-magit. I did that. I do not regret it. Installing Wilfred's refine.el, which is a lovely package for interactively editing data structures. Go LISP!
2019-12-24 Defensively install all-the-icons assetsWilliam Carroll1-20/+10
Wrap installation call with a predicate that checks on the file-system for the icon assets. Along the way, document other parts of the wpc-ui package.
2019-12-24 Refactor strings.el testsWilliam Carroll1-23/+18
Ensure that string.el follows the latest whim in my Elisp testing circus.
2019-12-24 Support rainbow-delimiters-modeWilliam Carroll1-0/+4
Why did I ever remove this? Perhaps git can help me answer that.
2019-12-24 Support TypescriptWilliam Carroll1-3/+26
I had previously only worked with Facebook's Flow. Typescript support in Emacs is excellent!
2019-12-24 Update Tramp configurationWilliam Carroll1-4/+23
I'm unsure if this file should be included in my dotfiles, but it doesn't seem to contain sensitive information.
2019-12-24 Prefer somes? to some? in math.elWilliam Carroll1-4/+4
In a moment of strong opinions against variadic functions, I defined maybe/somes? and redefined maybe/some? to be non-variadic. I'm not sure if I feel as strongly about that change as I did when I made it. Either way, the change remains and math.el is broken unless it consumes maybe/somes?, so... this does that!
2019-12-24 Update docs for macros/support-file-extensionWilliam Carroll1-1/+1
I provided the wrong usage example in my documentation. This goes to show how critical generated documentation is to the goal of documentation reliability, which itself bolsters the goal of documentation in general.
2019-12-24 Fix typo in keyboard configurationWilliam Carroll1-1/+1
I was missing a trailing comma in my xmodmap call. This rectifies that mistake.
2019-12-24 Update OCaml supportWilliam Carroll2-3/+3
After attempting to run OCaml on a separate machine, I realized that I needed to update the documentation in my wpc-ocaml package.
2019-12-24 Delete "conflicted copy" filesWilliam Carroll3-53/+0
TODO: It may be preferable to augment my git history to remove the traces of these files ever existing. For now, since I value a precise git history over a pristine git history and my tendancy to maintain the former is sometimes at odds with my goal of the latter, I'm saving this work for a later date.
2019-12-24 Support PrologWilliam Carroll2-0/+21
Register the .pl file extension with `prolog-mode'. This is useful because I'm reading the "Learn Prolog Now!" book at the moment.
2019-12-24 Support fish shell!William Carroll1-0/+2
After some back-and-forth, I'm trialing fish shell instead of zsh as my default shell. For now, I'm porting the aliases.zsh into config.fish -- defining them as abbreviations instead of aliases; this preference may change. See the commentary in config.fish for more information. A spent a lot of time in zsh and built much configuration, so supporting fish may take considerable time. Here's some work that remains: TODO: - Port functions.zsh - Port variables.zsh - Port zle.zsh
2019-12-24 Temporarily disable code that creates circular depsWilliam Carroll3-26/+38
After attempting to package some of my Elisp libraries using Nix, I exposed circular dependencies between modules that has existed for awhile. I'm temporarily disabling this code since I do not have time to refactor everything. When I get around to packaging everything, I'll need to resolve these issues. For now, I must carry on.
2019-12-24 Massive configuration overhaulWilliam Carroll176-0/+24580
Currently paying the price of months of non-diligent git usage. Here's what has changed. - Theming support in Gvcci and wpgtk - Dropping support for i3 - Supporting EXWM - Many Elisp modules - Collapsed redundant directories in ./configs