about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2020-01-17 Nixify fish configurationWilliam Carroll4-31/+500
This isn't 100% usable, but it works. You can build it with `nix-env` and then run it with `wpcarros-fish`.
2020-01-06 Define nix_find command in fishWilliam Carroll1-0/+4
Defining a function for outputting the /nix/store path to a package built with Nix.
2020-01-06 Support Wall-E themeWilliam Carroll2-1/+7
Add Wall-E theme to consume the latest `doom-material` theme.
2020-01-06 Support EXWM workspace for IRCWilliam Carroll1-7/+35
Supporting this since my chat workspace is already a bit populous.
2020-01-06 Debug lt ZSH functionWilliam Carroll1-1/+1
Change `-all` to `--all`.
2020-01-06 Support lispyville KBDsWilliam Carroll1-3/+4
After deciding to support the `C-s-` prefix for lispyville KBDs, I'm re-introducing support for: - `lispyville-drag-backward` - `lispyville-drag-forward` - `lispyville-end-of-defun` - `lispyville-beginning-of-defun`
2020-01-06 Decrease default font size on laptopWilliam Carroll1-1/+1
See diff for more information.
2020-01-06 Support Freenode IRCWilliam Carroll2-17/+113
Previously my ERC setup just supported Google's internal IRC. Now I have Freenode for things like #nixos, #emacs. This complicated my KBDs for cycling through IRC channels since certain channels only exist on certain servers. To remedy this, I introduced a temporary solution that looks up the server given a particular channel. This isn't ideal, but it works for now.
2020-01-06 Support set/{reduce,intersection,equal?,distinct?}William Carroll1-16/+66
Adds additional functions for the set.el module. See the function documentation and tests for more information.
2020-01-06 Support pasting in read-expression-mapWilliam Carroll1-0/+6
This was something small that has been slightly bothering me for a *very* long time. Now it's fixed!
2020-01-06 Prefer variadic cycle/newWilliam Carroll1-2/+2
TODO: Ensure all */new functions in my Elisp library share this API.
2020-01-06 Support alist/{find,map-keys,map-values} and testsWilliam Carroll1-1/+50
Supporting iterable / enumerable functions for alists.
2020-01-06 Prefer Telegram native over Telegram webWilliam Carroll1-1/+1
I installed nixpkgs.tdesktop to support dark-mode and access other useful features of the native Telegram client.
2020-01-06 Support prelude/start-processWilliam Carroll8-62/+93
If you refer to the previous commit where I change shell-command usages to start-process function calls, you'll see the rationale for why I prefer start-process. This commit introduces a more ergonomic API for start-process that fits most of my current use-cases of it. This cleans up the code. I have introduced a bug in the way that I'm tokenizing the COMMAND value. I've tracked that with a TODO. For now it only affects the `xmodmap -e '<command-string>'` calls, which isn't too disruptive.
2020-01-06 Change &keys -> &key in cl-defunWilliam Carroll2-2/+2
These were latent bugs.
2020-01-06 Prefer start-process to shell-command for pulse-audio moduleWilliam Carroll1-13/+49
Continuing the series of easy-win commits that increase the speed of commands that I was previously using `shell-command` to run by using `start-process` instead.
2020-01-06 Reduce latency of screen-brightness/{increase,decrease}William Carroll1-15/+12
As promised in the previous commit, I'm refactoring usages of `shell-command` to prefer the faster alternative `start-process`. So far, I'm pleased with the results.
2020-01-06 Prefer start-process to shell-commandWilliam Carroll1-2/+9
Without doing any benchmarking (break this naughty habit), I'm preferring to call `start-process` instead of `shell-command` in my `wallpaper/set` function. I noticed that the `shell-command` call was unnecessarily polluting my `pstree` call when I debugging my randomly changing wallpaper bug. I'm mostly likely going to change a few more `shell-command` calls to prefer `start-process`.
2020-01-06 Define new Emacs themeWilliam Carroll1-0/+6
Defining "Shapely Patterns" theme... surely I can come up with better names than this... :/
2020-01-06 Drop support for i3William Carroll21-1156/+5
While I first switched to EXWM warily and thinking it would only be temporary, it seems like this switch is here to stay. It turns out that EXWM was exactly the integration I've been looking for. How serendipitous it that I found it when I did. Thank you, @tazjin.
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.
2020-01-06 Ensure git yday alias formats commits like git todayWilliam Carroll1-2/+2
Prefer the --oneline flag for `git yday` so that it is formatted like the `git today` command.
2020-01-06 Support more fish abbr's for gitWilliam Carroll1-0/+2
I'm sure that there is a fish package that supports git aliases or abbreviations. This time, I'm preferring to write my own. Side note: The more that I use fish's abbreviations, the less that I like them -- at least for the way in which I'm using them.
2020-01-06 Ignore .gnupg/random_seedWilliam Carroll1-0/+1
I'm not actually sure if this is sensitive information, but I'm erring on the side of caution and ignoring it in case it is. squash! Ignore .gnupg/random_seed
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 ensure_{file,dir} in zshWilliam Carroll1-4/+18
Support functions for ensuring the existence of directories and files. These functions represent the type of small ergonomic wins that I believe libraries should support.
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 Remove aliases for personal projectWilliam Carroll1-4/+0
I believe that I defined these aliases when I was optimistic about using them. I never ended up habituating that usage, so these are covered in dust.
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 Carroll2-0/+301
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 Carroll551-1398/+88593
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
2019-05-14 Support functions for navigating Google3William Carroll1-0/+23
I had `tbz`, which toggles between a project directory and it's associated blaze-bin. I added three functions which support navigating to blaze-bin, blaze-genfiles, and to the project root.
2019-05-13 Support external mouse for laptopWilliam Carroll1-2/+8
New hardware = new configuration.
2019-05-13 Support hardware-based aliasesWilliam Carroll1-0/+12
Hibernating, sleeping, WiFi configuration...
2019-05-13 Support additional mercurial aliasesWilliam Carroll2-1/+4
More analogue to git for mercurial.