Commit graph

81 commits

Author SHA1 Message Date
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
a180a51620 Don't depend on google-stuff.el
I created a google-stuff.el module months ago, but I have not needed to
use it much. Removing the google-stuff.el module and all of my
dependencies on it.
2020-04-05 17:01:52 +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
William Carroll
fb6dabfb8d Drop support for wpc-terminal
As I mentioned in the previous commit, I now use vterm.el as my primary
terminal. I wrote most of this Elisp when I first started using Emacs. I
know longer need it.
2020-04-05 16:10:32 +01:00
William Carroll
431f68298d Drop support for terminator.el
Before I switched to vterm.el, I used alacritty as my primary terminal.
I could not install alacritty on gLinux, so I switched to terminator.
When I was ricing my machine, I wanted my Emacs theme to change my
terminator theme. I never finished that project, and it is quite dusty
now.
2020-04-05 16:08:10 +01:00
William Carroll
695ab28a6c Remove wpc-docker.el
I have not needed this configuration in over a year.
2020-04-05 16:07:33 +01:00
William Carroll
408a25415c Remove dotfiles.el
This module is a bit stale.
2020-04-05 15:58:57 +01:00
William Carroll
f23e1be416 Drop support for Terminal workspace
I created the Terminal workspace before I wrote a function for finding/creating
vterm instances. I now use the latter almost exclusively.
2020-04-03 10:08:41 +01:00
William Carroll
d8f0f3daf3 Remove :index field from exwm/named-workspace struct
I can compute the index use dash.el's -elem-index. I'm also removing some unused
EXWM workspaces.
2020-04-02 18:36:51 +01:00
William Carroll
099d88739b Tidy window-manager.el
Remove stale code and stale comments.
2020-04-02 18:36:21 +01:00
William Carroll
691583ed5c Refactor opening X applications from Emacs
I borrowed heavily from Vincent's depot.
2020-04-02 18:34:49 +01:00
William Carroll
d12b8b3dcb Build either emacs.{glinux,nixos} depending on my current device
`M-x nix/rebuild-emacs` will build either emacs.glinux or emacs.nixos depending
on whether I'm using a work device or a personal device.
2020-04-02 14:50:53 +01:00
William Carroll
86da482fbf Define device/corporate?
Write a predicate function for checking whether or not I'm on a corporate
device.
2020-04-02 14:50:18 +01:00
William Carroll
8c3bf2debf Set Gruvbox theme as my default Emacs theme
I want to use a dark theme for awhile.
2020-04-02 14:37:09 +01:00
William Carroll
be13644f1c Tidy up themes.el
TL;DR:
- Prune unused themes
- Prefer "JetBrainsMono" font for all themes
- Remove TODOs that I've either supported or that I'm uninterested in supporting
2020-04-02 14:36:12 +01:00
William Carroll
8fa3140253 Increase default font size for laptop
I'm working off of my laptop but I'm using my 4k monitor. The expression that
sets `fonts/size` could be more sophisticated and detect this, but for now, I'm
just bumping up the size.
2020-04-02 14:34:31 +01:00
William Carroll
d88a4d5792 Drop support for org-capture
I don't use org-capture, and I am not currently interested in developing that
habit.
2020-04-01 21:02:30 +01:00
William Carroll
90154fd2dd Prefer briefcase/org to Dropbox/org
I would like to version-control most but not all of my org files.
2020-04-01 21:01:17 +01:00
William Carroll
7dbf7b025a Delete dusty Elisp code
When I first switched to EXWM, I wrote a lot of Elisp. I think I was mostly
excited about having a monorepo and, as I had a backlog of ideas that I wanted
to implement, I ended up writing many halfly baked ideas in Elisp. These are
mostly sketches.
2020-04-01 20:58:10 +01:00
William Carroll
f2ba5aca31 Ensure Emacs prettier hook activates
Problem:
prettier-js waits for rjsx-mode. rjsx-mode only runs on .js files. As such,
the hook that installs prettier-js-mode for *all* of my frontend hooks, which
includes more than just js files, does not install until a javascript file is
opened.

Solution:
Do not conditionally load prettier-js.

Bonus:
Remove the .js mode from rjsx.
2020-03-27 10:59:57 +00:00
William Carroll
47a0b45f5f Change theme to doom-one
TL;DR
- Prefer doom-one theme to solarized light
- Prefer colorscheme/set to themes/set
2020-03-26 23:34:40 +00:00
William Carroll
1cc1ce5ccf Change the value of constants/current-project
Yesterday evening, I moved the blog directory to website/blog; I forgot to
update this value.
2020-03-20 16:56:46 +00:00
William Carroll
117f0be7c2 Unbind <SPC> in evil's motion map
By default this just advances the point one character, which I don't use nor
want especially because my leader key is the space key.
2020-03-20 12:12:42 +00:00
William Carroll
d0d77baafb Support KBD for toggling linum-mode
I would like to restore the good practice of jumping precisely to line numbers
within buffers.
2020-03-20 12:12:09 +00:00
William Carroll
fbf66c423b Remove setting for enabling both laptop and external monitor
Currently I prefer working with one screen at a time, so I'm preferring to
toggle between external monitor and laptop monitor.
2020-03-16 13:58:18 +00:00
William Carroll
8c0a56a03e Restore Emacs server
I think I removed the `(server-start)` call when I was debugging some EXWM
issues. I have stabilized my configuration considerably since then, and I'd like
to use the Emacs server.
2020-03-10 23:07:30 +00:00
William Carroll
28af585f3d Include NIX_PATH settings in nix/rebuild-emacs function
I'm currently setting NIX_PATH in ~/briefcase/shell.nix. This means when I call
`nix/rebuild-emacs` from a buffer that is inside the briefcase directory, the
command succeeds because NIX_PATH is properly defined. When I call
`nix/rebuild-emacs` from any other location it fails.

I'm hard-coding the NIX_PATH in this command so that I can call
`nix/rebuild-emacs` from any buffer that is currently active.
2020-03-06 18:45:55 +00:00
William Carroll
96ff26e5ca Support nix/home-manager-switch
As a part of my plan to reduce my dependence on the shell, I defined an Elisp
function to call `home-manager switch` from `M-x`.
2020-03-06 18:45:55 +00:00
William Carroll
dec005ea34 Consume top-level emacs attribute
Refactor `nix/rebuild-emacs` to consume newly defined top-level emacs
attribute.
2020-03-04 19:49:45 +00:00
William Carroll
3abee3373c Use doom-modeline
Cleaning up my modeline by using the beautiful doom-modeline package.
2020-03-01 22:32:25 +00:00
William Carroll
527b472469 Converge naming of Acer laptop to "socrates"
Prefer "socrates" to "flattop".
2020-02-22 19:04:12 +00:00
William Carroll
1fbc80359b Support ssh/{sudo-buffer,cd-home}
- Support command to open a dired buffer with wpcarro's $HOME directory for any
  host defined in ssh/hosts.
- Support opening the current buffer with sudo privileges.
2020-02-20 23:18:59 +00:00
William Carroll
9fc29831e0 Configure ssh preferences
Every Tuesday I work from Google's 6PS office instead of BEL. I work from my
laptop, which often requires that I ssh into the desktop work station in BEL. I
have settled on a locally optimal workflow that I'd like to improve. To help
seek higher ground, I'm planning on using ssh.el to configure tramp and define
utility functions to lower my cost of exploring new workflows.

- Defines a function, `ssh/desktop-cd-home` that helps me quickly open a dired
  buffer for my work station's home directory.
- Documents some variables that I set weeks ago.
- Requires ssh.el in init.el.
2020-02-18 11:18:02 +00:00
William Carroll
993f7c9389 Further configure notmuch
Until now my notmuch is usable but not almost always pleasurably so. For
example, when I reply to messages, notmuch warns that "Insert failed:"; when I
check Gmail, the reply sent... strange. After consulting with a fellow notmuch
user and Emacs disciple, tazjin@, I borrowed some of his notmuch configuration.

- notmuch is no longer warning about replies
- Replies do not include noisy email signatures
- I have an Emacs User-Agent header in my outgoing mail
- All of this and more...
2020-02-18 11:09:03 +00:00
William Carroll
6f179afd49 Define KBD for find-file-at-point (i.e. ffap)
I'm attempting to incorporate the beloved find-file-at-point function into my
workflow.
2020-02-18 11:09:03 +00:00