Commit graph

1460 commits

Author SHA1 Message Date
William Carroll
b09980f681 Lint window.el
- remove "Emacs" from description
- add Version, URL, Package-Requires sections
- prefer `window-` prefix to `window/`
2020-08-31 14:42:03 +01:00
William Carroll
84d6fb8f39 Lint window-manager.el
- change `exwm/` prefixes to `window-manager-`
- add Version, URL, Package-Requires sections
- move `pkill` into wpc-misc.el
- unify `window-manager,` `exwm` competing prefixes
2020-08-31 14:42:03 +01:00
William Carroll
a2d45c8db7 Lint wpc-clojure.el
- change clojure.el to wpc-clojure.el
- delete stale, commented code
- add Configuration header
- add Version, URL, Package-Requires sections
2020-08-31 14:28:22 +01:00
William Carroll
28cdbb18b6 Lint wpc-company.el
- change company.el to wpc-company.el
- add Version, URL, Package-Requires sections
2020-08-31 14:27:06 +01:00
William Carroll
8d9e4f4865 Lint wpc-dired.el
- change dired.el to wpc-dired.el
- add Version, URL, Package-Requires sections
2020-08-31 14:26:24 +01:00
William Carroll
85a0cddf8b Lint wpc-elixir.el
- Add Version, URL, Package-Requires sections
2020-08-31 14:25:44 +01:00
William Carroll
6ddad2dc4b Lint wpc-flycheck.el
- change flycheck.el to wpc-flycheck.el
- add Version, URL, Package-Requires sections
2020-08-31 14:24:59 +01:00
William Carroll
e0574e2299 Lint wpc-golang.el
- change wpc-ocaml.el to wpc-golang.el
- Add Version, URL, Package-Requires sections
2020-08-31 14:23:58 +01:00
William Carroll
657efa85f4 Lint wpc-lisp.el
- Add Version, URL, Package-Requires, Commentary sections
- Prefer `wpc-lisp-` prefix to `wpc/`
2020-08-31 14:23:56 +01:00
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
fd804c7b6f Path relative path to Elisp code for elisp-lint
CI is reporting a false negative because $@ is empty. This change should cause
elisp-lint to run on all of the Elisp in the wpc/ directory.
2020-08-31 12:37:31 +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
aa1b927ad2 Add xset to Emacs PATH
My CI failed after a call to xset resulted in a "file-missing Searching for
program" error.
2020-08-31 11:31:57 +01:00
William Carroll
a640e42e6a Prefer inherit pattern to import Nix dependencies
I'm starting to prefer the `inherit (builtins) path` pattern in my Nix
expressions. I know this is idiomatic, so even if I don't like it, I am trying
to learn to like it.
2020-08-31 11:31:00 +01:00
William Carroll
bb83c8a12c Delete unused Emacs packages
Cleaning things up...
2020-08-31 11:30:23 +01:00
William Carroll
e166e74c2c Allow configurable BRIEFCASE env var for CI
These were hard-coded as $HOME/BRIEFCASE, which won't work in CI, since CI runs
as the user buildkite-agent-socrates, whose $HOME directory doesn't exist.
2020-08-31 01:16:31 +01:00
William Carroll
8f46684c23 Attempting to avoid buildkite parse error
For more information, see here:
https://github.com/buildkite/agent/issues/584
2020-08-31 00:58:30 +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
f3047cffc1 Surround subshell in 2x-quotes
This wasn't a bug; it's just good practice.
2020-08-31 00:48:30 +01:00
William Carroll
2715591c97 Call readTree on all top-level, visible directories in briefcase
Instead of manually maintaining the list of directories that I expose to
readTree, I'm using `builtins.readDir` to get a list of all non-hidden top-level
directories.
2020-08-28 18:14:22 +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
78172233f8 Add build, lint Emacs steps to post-receive pipeline
TL;DR:
- Define runEmacsScript to emacs/default.nix for ci/pipelines/post-receive
- Write script.el to call (load init.el) and catch any errors
- Lint Elisp with gonewest818/elisp-lint

Also nice how Buildkite supports :gnu: emojis!
2020-08-27 18:29:48 +01:00
William Carroll
d67dbec7e8 Clean up emacs/default.nix
- Prefer prepending wpcDir, vendorDir to EMACSLOADPATH instead of using the
  --directory flag
- Remove --load ${wpcPackageEl} because init.el calls (require 'wpc-package)
- Surround $@ in 2x-quotes
2020-08-27 18:25:14 +01:00
William Carroll
a1a2f0bbbd Remove exported DEPOT env var from wpcarros-emacs
wpcarros-emacs no longer depends on this being set.
2020-08-27 17:31:25 +01:00
William Carroll
eb0e1d8c5d Prefer builtins.path
Following the advice of Domen's nix.dev anti-patterns, I'm preferring something
like...

```nix
builtins.path { path = /path/to/some.where; name = "some.where"; }
```

...to

```nix
/path/to/some/where
```

While the former is more verbose, it will fail to build when the path doesn't
exist, which I prefer.
2020-08-27 17:31:15 +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
7ab86f5423 Abandon the pre-receive hook
I wanted Gitea to call Buildkite's pre-receive pipeline and either accept or
reject the incoming code depending on the outcome. The problem is that I can
only *create* builds from Gitea's pre-receive hook.

Now I'm left with two options:
1. run the lint-secrets step in post-receive
2. run `/nix/store/<hash>/git-secrets --scan-history $REPO_PATH` in Gitea

As far as I can tell, I cannot define Gitea hooks in Nix, which is unfortunate;
otherwise, option 2 would appeal more.

I'm doing option one for now.
2020-08-22 23:27:44 +01:00
William Carroll
4241339963 Define Buildkite pipelines corresponding to git server hooks
I think maintaining a 1:1 correspondence with the git server hook makes sense
right now. Let's try it out!
2020-08-22 23:27:44 +01:00
William Carroll
098ca0da15 Ensure that the build step "depends on" the lint step
This way, if the lint step fails, the build step doesn't run. Nice!
2020-08-22 23:27:44 +01:00
William Carroll
3f9352b118 Remove --add-provider step from briefcase lint
So it turns out that I was wrong and that .git/config is stateful. Multiple
calls to --add-provider will append the same provider each time...

Instead I'm defining secret-patterns.txt and version-controlling it.

Then:
- dev-side: I'm adding `providers = cat ci/secret-patterns.txt` to .git/config
- ci-side:  I'm adding `providers = cat ci/secret-patterns.txt` to .git/config

Unfortunately this is ad-hoc configuration ci-side, which I would like to
avoid. The good news is that my pre-commit hooks and failures from git-secrets
should now align with my CI, since they're both reading from
secret-patterns.txt. One step backwards... two steps forwards?
2020-08-22 23:27:44 +01:00