Commit graph

564 commits

Author SHA1 Message Date
William Carroll
17ee0e400b Support Vim, Tmux, Emacs with Stow
After moving off of Meta, Dotfiles has a greater responsibility to
manage configs. Vim, Tmux, and Emacs are now within Stow's purview.
2018-09-10 14:53:23 -04:00
William Carroll
8b2fadf477 Support GPG config
Whitelist GPG in the Stow configuration. Setup keyserver preferences.
2018-09-04 15:03:32 -04:00
William Carroll
0244474e9f Debug startup, support LSP, update KBDs
Debug startup:
- some packages were missing explicit use-package calls, which made this
  configuration incompatible with fresh computers. After crashing my MBP
  and trying to get this working thereafter, I learned.

Support LSP:
- LSP support for Haskell is good; embrace and prefer over Intero

Update KBDs:
- preferences change
- changing to a light theme (for now)
2018-09-04 15:01:07 -04:00
William Carroll
0d6c0881a8 Support nix configuration
I suppose it was only a matter of time...
2018-09-04 15:00:18 -04:00
William Carroll
a9fa9673dc Update git preferences
- enable rerere
- prefer less, since bat is my default pager, which doesn't look great
  when looking at diffs, patches, etc
- fix broken alias
- support another alias
2018-09-04 14:57:04 -04:00
William Carroll
6ebd90a946 Support searching node_modules/.bin
Adds a package that allows Emacs to searching through a projects
node_modules executables when resolving a binary like eslint, prettier
etc. This was being hacked together before by relying on explicit paths
to executables. This is a more durable solution.

Also includes some packages related to LSP for Javascript, which I
haven't been able to get working yet.
2018-09-04 14:55:41 -04:00
William Carroll
3dadd97ef3 Center matching line when focusing from iTerm
Improve the UX by centering the focused line verically.
2018-09-04 14:53:49 -04:00
William Carroll
6393e47c77 Support highlighting fill-column overflows
This was previously semi-supported. There were two problems, however:

1. My fill-column value of 80 got out-of-sync with my white-line-column
   value of 100.
   Solution: globally define wpc/fill-column, set that to 80, and
   consume the new const in my config.

2. Nothing was activating whitespace mode.
   Solution: add whitespace-mode to prog-mode-hook.

This SO answer helped tremendously:
https://stackoverflow.com/questions/18855510/have-emacs-highlight-characters-over-80
2018-08-09 12:02:18 -04:00
William Carroll
2211d65557 Delete .ghci config
Temporarily remove the GHCI config, since it's most just spamming my
logs at the moment.
2018-07-19 12:10:38 -04:00
William Carroll
a86c2ddece Prefer stow over hand-rolled solution
After discovering GNU stow on Nix IRC, refactored install and setup
scripts to consume it.

Code is vastly simplified as a result.
2018-07-19 12:00:08 -04:00
William Carroll
e8ca641075 Support convenience Elisp file system functions
Read the module docs for more information. May be an ongoing project, or
this may be the end of the library. Time shall tell.
2018-07-19 12:00:08 -04:00
William Carroll
88d75b9771 Remap KBDs for Paredit
I wasn't using the previous KBDs, which were modelled after Vim's answer
for Paredit KBDs.

Some of the mappings bothered me, so I needed that made more sense to
me.
2018-07-19 12:00:08 -04:00
William Carroll
a99939657b Default to Ergodox being connected
Accidentally commited the version of this configuration that has this
variable set to false.

Since most of the time, this variable should be true, commiting the true
version will clean up my git status output.
2018-07-19 12:00:08 -04:00
William Carroll
6e1f91e10f Support KBD to jump to Slate config
Useful since the new configuration branches according to a boolean that
encodes whether or not the Ergodox is connected.

Since I'm frequently switching between programming at my desk to
programming AFK, I need a faster way to update my Slate configuration.

Ideally - some script would watch the USB port for whether or not the
Ergo was connected. Until then...
2018-07-19 12:00:08 -04:00
William Carroll
b4ab3b2ef8 Start Emacs server by default
Useful for iTerm -> Emacs integration.
2018-07-19 12:00:08 -04:00
William Carroll
1419fa3ec9 Support additional Haskell snippet
Because snippets make everything better.
2018-07-19 12:00:08 -04:00
William Carroll
bf18ea5486 Support default Tmux configurations
After writing this, I have a sneaking suspiscion that I'm reinventing
something like Tmuxinator. I guess this is just a poor man's Tmuxinator.
For now, however, haven't had enough time to look into Tmuxinator as a
viable alternative, so this will have to do for now.

Furthermore, moved root-level tmux files to a subdir.
2018-07-19 12:00:08 -04:00
William Carroll
a8351ea00e Support flycheck-next-error KBD
Start using Flycheck to navigate code more frequently by promoting error
navigation as a leader-prefixed KBD.
2018-07-19 12:00:08 -04:00
William Carroll
71b20680a9 Resolve tmux and realpath aliases
Falsely concluded that these aliases wouldn't work in sub-shells. After
a second look, resolved the issues. This is preferable!
2018-07-19 12:00:08 -04:00
William Carroll
f84a9c6438 Support global gitignore
Keep project-specific gitignore files clean.
2018-07-19 12:00:08 -04:00
William Carroll
4ccfe6238e Open files in Emacs from iTerm w/ Semantic History
Finally cobbled together a solution...

See the comments in the file for setup instructions.
2018-07-19 12:00:08 -04:00
William Carroll
8e9aa65760 Support changed-files
Not sure how this was removed, but supporting it again.
2018-07-19 12:00:08 -04:00
William Carroll
71830b92d4 Update theme preferences
Yes my preferences changed AGAIN!
2018-07-19 12:00:08 -04:00
William Carroll
a9fed7009d Define KBDs conditionally based on flag
Create KBDs that work when the Ergodox isn't attached.

There is a little noise in this diff created by running Prettier on the
buffer.
2018-07-19 12:00:08 -04:00
William Carroll
bb8cb310fa Extend Haskell support
- Format imports on buffer-save.
- Adds two new snippets
2018-07-19 12:00:08 -04:00
William Carroll
b147b5fbd0 Support default ghci config
What I deem as currently sensible defaults for my ghci sessions. Expect
this to change over time.
2018-07-19 12:00:08 -04:00
William Carroll
014b530037 Support font-increase & font-decrease fns
Support functions for increasing and decreasing Emacs's font size --
without requiring a full restart.
2018-07-19 12:00:08 -04:00
William Carroll
0e73a0e77f Support additional Haskell snippets
Snippets make my life easier.
2018-07-19 12:00:08 -04:00
William Carroll
b9d2e04efb Change theme preferences
You know how it is...
2018-07-19 12:00:08 -04:00
William Carroll
ad496994c8 Support transparency toggling
The kbd, <super>-u, is modelled after iTerm's <super>-u kbd for toggling
transparency.
2018-07-19 12:00:08 -04:00
William Carroll
27b1a74d07 Support Haskell test toggling
Toggle between Haskell modules and test files.
2018-07-19 12:00:08 -04:00
William Carroll
30cdf1e941 Support current-project variable
DRYs up configuration...

This value is used to set:
  - my initial buffer
  - where <leader>-p jumps to
2018-07-19 12:00:08 -04:00
William Carroll
519be4dca1 Augment PATH to support stack install location
I don't currently have a place to augment PATH in my dotfiles, and
perhaps I should. For now, it will reside in the zshrc file.
2018-07-19 12:00:08 -04:00
William Carroll
c50b730dad Support goto-definition dispatching
Need to learn more about `evil-goto-definition` because it is possible
and even likely that there is a known, friendlier alternative way to
dispatch the goto-definition using Evil's infrastructure. Needed a
hotfix, however, so this will have to suffice for now.
2018-07-19 12:00:08 -04:00
William Carroll
e2891432e2 Support additional casing xformations
More Elisp functions for transforming text casing!
2018-07-19 12:00:08 -04:00
William Carroll
32ac66d50b Support Elisp fns for current buffer's dirname
Gets the shorthand version of the buffer's current directory's name.
2018-07-19 12:00:08 -04:00
William Carroll
9b8f0c2da3 Augment README with GPG info
After my computer fried and I lost my gpg config, keys, etc I needed to
know a snippet that my README didn't have. Now it has it!
2018-07-19 12:00:08 -04:00
William Carroll
3d256c6b3b Support additional JS snippets
Because React + Redux + Flow = SO MUCH BOILERPLATE...
2018-07-19 12:00:08 -04:00
William Carroll
fc283b7a23 Support graphql module
Providing the module to dump GQL functionality to my config. Hopefully
this gets more fleshed out at a later date.
2018-07-19 12:00:08 -04:00
William Carroll
bdfb83dc2c grid-front-end -> grid-client
Ensure that the Emacs bookmarks respect the updated name change for the
Grid client repository.
2018-07-19 12:00:08 -04:00
William Carroll
eabaf0e04f Disable magit-gh-pulls
After my hard drive fried, I lost important configuration settings.
Since then, I haven't been able to use `magit-gh-pulls` without it
incessantly prompting me for my GH username and password. Until I
remember how I previously configured this, I'm disabling it.
2018-07-19 12:00:08 -04:00
William Carroll
17a4f8ae53 setq -> setq-default for fill-column
`setq-default` is the only way to ensure `fill-column` is set.
2018-07-19 12:00:08 -04:00
William Carroll
8d945d97de git ignore smex-items
Noise, noise, noise...
2018-07-19 12:00:08 -04:00
William Carroll
a8613cfbd4 Change clo -> clg for console.log snippet
clo was difficult to use because `company-mode` suggested autocompletion
candidates like "close", "clone", etc. With clg, this is significantly
less likely.
2018-07-19 12:00:08 -04:00
William Carroll
9c6e1717d4 Drop support for bins dir
These just aren't being used anymore...
2018-07-19 12:00:08 -04:00
William Carroll
151acc19a7 Shore up init.el
init.el was previously a symlink. This replaces that with the actual
code since the entire emacs.d dir is being symlinked.
2018-07-19 12:00:08 -04:00
William Carroll
cf337a403f Lints emacs directory
Ignores a few noisy files. Removes the dependency to a slack secret.
2018-07-19 12:00:08 -04:00
William Carroll
fd3989139e Ignore projectile bookmarks
I don't want these spamming my commits, etc.
2018-07-19 12:00:08 -04:00
William Carroll
3135e5faf2 Refactor install scripts
- Support emacs installation
- Export DOTFILES env var to simplify setup.
- Change filenames for consistency
2018-07-19 12:00:08 -04:00
William Carroll
3c8e6f0cc5 Support updated emacs
Finally ported my up-to-date emacs configuration here. I was putting
this off for a long while, unsure of how to handle all of the work. All
it took was my laptop being fried to force me to do this. So... voila!
2018-07-19 12:00:08 -04:00