Commit graph

112 commits

Author SHA1 Message Date
William Carroll
6267c782a0 Lint wpc-javascript.el
- Add Version, URL, Package-Requires sections
- Prefer `wpc-javascript-` prefix to `wpc/`
2020-08-31 14:23:56 +01:00
William Carroll
13a81435c3 Lint wpc-haskell.el
- add Version, URL, Package-Requires sections
- change haskell.el to wpc-haskell.el
- prefer `wpc-haskell-` prefix to `haskell/`
2020-08-31 14:23:56 +01:00
William Carroll
d3d94cbbac Lint wpc-misc.el
- prefer user-emacs-directory
- prefer wpc-misc- prefix
2020-08-31 14:10:08 +01:00
William Carroll
d813128e90 Lint wpc-nix.el
- add "Code:" header
- replace forward-slash with dash
- prefer wpc-nix- prefix to nix/
2020-08-31 14:09:24 +01:00
William Carroll
d98fa38aca Lint wpc-ocaml.el
- Prefer `user-emacs-directory` to literal path.
2020-08-31 14:09:01 +01:00
William Carroll
3b9656ca4a Use zle-minor-mode in sh-mode
After I wrote zle.el, it seems that I forgot about it. Attempting to revive it
by using it during sh-mode.
2020-08-31 13:45:50 +01:00
William Carroll
7a2ca2b5c0 Lint zle.el
- Prefer dash instead of forward-slash
- Remove stale TODOs
- Add Version, Package-Requires
2020-08-31 13:45:14 +01:00
William Carroll
76b1bcd59a Drop support for wpc-java
1. I don't use this.
2. This is breaking CI because google-java-format cannot be found.
2020-08-31 12:22:58 +01:00
William Carroll
9065c575aa Prevent all-the-icons-install-fonts from running in CI
While I would like my CI build to closely resemble a non-CI build, supporting
the `all-the-icons-install-fonts` call is a low priority with a medium amount of
work required.
2020-08-31 12:08:30 +01:00
William Carroll
70d87eaf24 Drop support for wpgtk
I'd like to stabilize on using solarized-light.
2020-08-31 12:04:49 +01:00
William Carroll
7f4e23e431 Apply prefix arg to all-the-icons-install-fonts
This prevents the prompt, which blocks my CI build.
2020-08-31 12:03:38 +01:00
William Carroll
b5de71f1f9 Drop support for neotree
I don't use neotree anymore.
2020-08-31 12:03:18 +01:00
William Carroll
2c3dbe61b7 Remove keybinding logic from fonts.el
For two reasons:
1. I don't use these keybindings.
2. I'm trying to centralize all keybinding logic in keybindings.el.
2020-08-31 12:02:35 +01:00
William Carroll
453596adb2 Define constants/ci?
Create a top-level flag encoding whether or not Emacs is running in CI.
2020-08-31 12:02:04 +01:00
William Carroll
711820411c Delete {themes,wallpaper}.el
After my CI build for Emacs failed because the .local/share/wallpaper directory
was missing I had two options:
  A. include .local/share/wallpaper in default.nix, which is cumbersome
  B. drop support for managing system wallpaper from Emacs

I chose option B.
2020-08-31 11:53:32 +01:00
William Carroll
3e23a86d0e Set Emacs line-spacing to 0
vterm.el has a bug because it uses `(window-body-height)` to compute the number
of lines it can render, but it doesn't account for `line-spacing`.
2020-08-31 00:49:07 +01:00
William Carroll
9c820e663f Restore "l" as evil-forward-char in magit-status-mode-map
Remap "l" -> "L"
2020-08-28 17:40:24 +01:00
William Carroll
ea0788fd62 Delete unused parts of bookmark.el
Trimming more fat.
2020-08-26 18:30:10 +01:00
William Carroll
8fef6c0408 Remove bookmark for <depot>
Since depot now support cs.tvl.fyi, I don't need this, and that is a *massive*
upgrade.
2020-08-25 14:20:46 +01:00
William Carroll
8eed16dc67 Replace calls to (getenv "BRIEFCASE") with constants/briefcase
I would prefer to define constants/briefcase in terms of `(getenv "BRIEFCASE")`
and assert that `(f-exists? (getenv "BRIEFCASE"))`, in one location:
constants.el
2020-08-25 14:19:19 +01:00
William Carroll
21ce27b0ca Prefer <leader>jb to <leader>jd for searching all of briefcase
Feels more natural...
2020-08-25 14:16:41 +01:00
William Carroll
504cf0daab Delete org-helpers
I'm trying to tidy things up, so I'm trying to apply some of the principles from
"Essentialism" to my Emacs configuration.
2020-08-25 14:15:58 +01:00
William Carroll
23a41528bb Remove unnecessary TODO
The Nix expression that builds `wpcarros-emacs` sets BRIEFCASE, so the .envrc
isn't relied on.
2020-08-25 14:02:32 +01:00
William Carroll
64afb11d60 Remove unnecessary code from wpc-nix.el
TL;DR:
- Prefer `(getenv "BRIEFCASE")` to `(f-expand "~/briefcase")`. I should audit my
  Emacs for references to ~/briefcase and replace those calls with `getenv`.
- Remove calls setting <nixpkgs> and <depot> and rely exclusively on <briefcase>
- Prefer ~/nixpkgs-channels to ~/nixpkgs.

Notes:
- I need a better way of calling `home-manager switch` that resides within my
  briefcase
2020-08-25 13:55:14 +01:00
William Carroll
7a1e56e7d1 Prefer simpler, more idiomatic project-find-function
This version avoids installed all of the custom `cl-defmethods` for a
`'monorepo` type and instead uses the existing `'transient`.
2020-08-24 11:19:47 +01:00
William Carroll
5b6862ea39 Call git secret hide whenever //secrets.json is saved
Having `git secret hide` as a pre-commit hook doesn't make much sense to me. I
will detail why when/if I write a blog post on briefcase's secret mgt setup.

The problem is, if I change secrets.json and then run `git status`, I won't see
any pending changes. This is because secrets.json is gitignore'd. If I run `git
secret hide` everytime I save secrets.json, I can rest assured that my `git
status` will be consistent with any updates to secrets.json.
2020-08-20 18:41:39 +01:00
William Carroll
4d8ce34a7e Simplify EXWM init hook
Anytime something before or during window-manager.el fails to evaluate,
I lose the ability to type, but I *can* still click.

@tazjin recommended that I use the mouse to cycle to the *Warnings*
buffer, which led me to another bug in a series of bugs that I'm
uncovering: ~/briefcase/org didn't exist.

A simple mistake like this should break my WM startup, so I decided to
remove most of my init hook logic.
2020-08-20 11:26:32 +01:00
William Carroll
9d7331d63b Debug evil-want-keybindings issue
Problem: dependency loading order

I originally assumed that keybindings.el was the first module to `require
'evil` because init.el shows:

```elisp
(require 'keybindings)
(require 'window-manager)
```

The problem is that keybindings.el calls `require 'window-manager` and
window-manager.el requires evil! I admit, I've created a bit of a birds nest for
myself.

A few thoughts:
- keybindings.el doesn't need to `require 'window-manager`. Fixed!
- window-manager.el shouldn't need to `require 'evil`. TODO...
2020-08-20 11:26:32 +01:00
William Carroll
53be40b1a6 Drop use-package in keybindings.el
I'm attempting to kill that zombie bug about evil-want-keybinding...
2020-08-20 11:26:32 +01:00
William Carroll
3dc7f7758b Drop support for wpc-keybindings
In favor of keybindings.el!

Now I have:
- kbd.el: There are no keybindings in this file. It's just a library for working
  with keybindings in Emacs.
- keybindings.el: (hopefully) all of my keybindings for EXWM, evil, etc.
2020-08-20 11:26:32 +01:00
William Carroll
4ae6eff607 Remove unused kbd/install-kbds?
In another refactor, I'd like to move all ad-hoc keybindings out of individual
modules and into keybindings.el.
2020-08-20 11:26:32 +01:00
William Carroll
23cf5d43d8 Centralize <SPC> in normal mode KBDs
Merging keybinding and wpc-keybindings step-by-step...
2020-08-20 11:26:32 +01:00
William Carroll
108da34dd9 Delete unused KBDs
Now that everything is in my monorepo, it's easy for me to use <SPC>jd to search
for these files.
2020-08-20 11:26:32 +01:00
William Carroll
0c71fc9d1d Drop support for dir-locals.nix, <nixpkgs>, etc.
In the spirit of Marie Kondo, I'm tidying up!

TL;DR:
- Prefer .envrc `use_nix` and delete all dir-locals.nix files
- Remove ~all references to <nixpkgs>, <unstable>, <depot> and prefer
  referencing each with briefcase.third_party.{pkgs,unstable,depot}
- Delete nixBufferFromShell function since I was only using that in
  dir-locals.nix files
2020-08-20 11:26:32 +01:00
William Carroll
f032eee79d List directories first in dired view
Ideally I'd use exa insted of ls, but I cannot seem to support that yet.
2020-08-20 11:26:31 +01:00
William Carroll
7e2dcc97cc Drop support for wpc/find-file
Cleaning things up...
2020-08-20 11:26:31 +01:00
William Carroll
de723c142b Prefer project.el to projectile
Today @tazjin told me about Emacs's built-in project.el library, which he
recommended that I extend to support monorepo-specific tooling. It worked like a
charm!

Now when I press "<leader>f", it will resolve to either the nearest file named
default.nix or directory name .git.
2020-08-13 18:05:45 +01:00
William Carroll
994a632ac3 Set Emacs current-project to ~/briefcase
I don't rely on this often, so it's best to leave it as the top-level directory
for briefcase.
2020-08-13 18:04:54 +01:00
William Carroll
ca06888a56 Remove week / 52 indicator
This is taking up too much space.
2020-07-17 15:39:37 +01:00
William Carroll
5e81144622 Misc Emacs improvements
I stole these bad-boys from @tazjin's config.
2020-07-06 20:45:33 +01:00
William Carroll
7d9cfdbc41 Prefer telephone-line to doom-modeline
After growing frustrated with doom-modeline's compatibility with my EXWM setup,
I decided to borrow @tazjin's setup, which I find to be much more appealing.
2020-07-06 11:11:08 +01:00
William Carroll
183b306159 Use ivy-helpers/list-external-commands
Without the ivy-helpers/ namespace, I believe this code is buggy.
2020-06-16 11:49:56 +01:00
William Carroll
f4fa363c19 Prefer Solarized Light theme
I've said it once, and I'll say it again: my preferences often change.
2020-06-16 11:49:33 +01:00
William Carroll
ef3cba1b39 Support additional KBDs for Clojure
Define KBDs in clojure-mode-map that resemble my common-lisp and elisp KBDs.
2020-06-16 11:48:44 +01:00
William Carroll
b1e358f247 Use dot-time format for modeline timestamp
My current understanding of how computers deal with time:
- Modelling time is easy: use the number of seconds that have elapsed since the
  Unix epoch.
- Display time is complicated. Which timezone should we use? Which format
  string?
2020-06-16 11:46:17 +01:00
William Carroll
675b8084c7 Prefer smaller default font size for laptop
I'll be working without an external monitor for the next few months, so I prefer
this smaller size.
2020-06-16 11:37:24 +01:00
William Carroll
e864074600 Support elm-mode for Emacs
Instead of (ab)using haskell-mode, support elm-mode.

TODO: Support elm-format on buffer save
2020-04-11 17:45:59 +01:00
William Carroll
3dac2f10ff Drop support for Haskell glyphs
I think that glyphs look nice, but they subtley confuse Emacs's UI. In the case
of a two-character glyph condensing into one character's width, the fill-width
indicator -- correctly -- highlights the 81st character as red, but it looks
like it's erroneously highlighting the 80th.

Also when I want to create an anonymous function I type (), which condenses into
the unit character, and it's difficult to delete either the opening or the
closing parenthesis.

Overall I think glyphs are cute, but they're not worth the trouble.
2020-04-11 10:41:49 +01:00
William Carroll
ca67b4256d Debug unresponsive keyboard
After binary searching through my git history to restore my keyboard
functionality, I discovered the issue: I deleted the "Terminal" workspace, but I
did not remove the call to `(exwm/switch "Terminal")`, which silently prevented
EXWM from initializing.

I wish errors like this were noisier.
2020-04-06 11:30:09 +01:00
William Carroll
81b59e9ddd Drop support for ynab.el
YNAB is short for YouNeedABudget.com. I wrote this code before I started
the //monzo_ynab project.
2020-04-05 16:11:42 +01:00