Commit graph

80 commits

Author SHA1 Message Date
William Carroll
851aba8201 Support timestring.el
Quickly access strings that encode time is various formats. See the module docs
in timestring.el for more information.
2020-02-02 18:31:32 +00:00
William Carroll
e8b47d5030 Support golang
I decided to start writing go code for scripts instead of python. I think this
will be a learning opportunity for me and should increase the integrity of my
scripts by adding some static type checking.
2020-01-31 23:18:59 +00:00
William Carroll
837cfe07c7 Rename dotfiles -> briefcase
Renaming my mono-repo briefcase.

I first introduced this commit in master, but it introduced a bug where one of
two things would happen:

1. Emacs wouldn't start and would crash X.
2. Emacs would start but my keyboard wouldn't work.

I learned some valuable debugging skills in the process. Here are some of them:

When my keyboard was broken, I wanted to control my computer using my
laptop. Thankfully this is possible by using `x2x`, which forward X events from
the SSH client to the SSH host.

```shell
> # I'm unsure if this is the *exact* command
> ssh -X desktop x2x -west :0.0
```

Git commit-local bisecting. I didn't need to do a `git bisect` because I knew
which commit introduced the bug; it was HEAD, master. But -- as you can see from
the size of this commit -- there are many changes involved. I wanted to binary
search through the changes, so I did the following workflow using `magit`:

- git reset --soft HEAD^
- git stash 1/2 of the files changed
- re-run `nix-env -f ~/briefcase/emacs -i`
- restart X session
- If the problem persists, the bug exists in the non-stashed files. Repeat the
  process until you find the bug.

In my case, the bug was pretty benign. Calling `(exwm/switch "Dotfiles")` at the
bottom of `window-manager.el` was failing because "Dotfiles" is the name of a
non-existent workspace; it should've been `(exwm/switch "Briefcase")`.

There may have been more problems. I changed a few other things along the way,
including exposing the env vars BRIEFCASE to `wpcarros-emacs` inside of
`emacs/default.nix`.

The important part is that this was a valuable learning opportunity, and I'm
glad that I'm walking away from the two days of "lost productivity" feeling
actually productive.
2020-01-31 15:27:48 +00:00
William Carroll
edea127e07 Support building wpcarros-emacs
I'm using a Makefile until I can remember the command:

```shell
> nix-env -f . -i
```

This will install (i.e. `-i`) any derivations instantiated from the Nix
expression resolvable by `-f`. Ideally the incantation will look something like
this:

```shell
> nix-env -f '<universe>' -iA emacs
```

Informing `nix-env` to install all of the derivations created by the expression
at attribute `emacs` in my `<universe>` repository. For now two things are
preventing this:

1. `emacs` isn't an attribute in my top-level expression defined in the
   `default.nix`.
2. If I do add `emacs` as an attribute and call the above command, my usage of
   `readTree` results in `pkgs` missing `.lib` and a few other stdlib commands
   that are available in `(import <nixpkgs> {})`.

A fix for both of these should be forthcoming.
2020-01-31 13:20:18 +00:00
William Carroll
578ed1ba98 Move move .emacs.d out of configs/shared
Moving all of my Emacs-related files into their own directory at the root of
this repository.
2020-01-30 16:00:29 +00:00
William Carroll
56a7b9fa41 Removes obsolete emacs deps
No longer using these emacs deps. Preparing this repo to house a more
up-to-date, robust config.
2018-04-25 12:15:00 -04:00
William Carroll
863b29323c pc_settings -> dotfiles
My younger self didn't know that creating repos to house your
configuration was a known pattern! Hence the unweildy name, pc_settings.

This change was a long time coming.
2018-04-23 15:25:35 -04:00
William Carroll
c466358048 Update Emacs / Bash monkey-patched functions 2018-01-08 15:42:25 -05:00
William Carroll
cc96fd9618 Removes dead helper fn 2017-07-29 21:45:59 -04:00
William Carroll
84789f0c33 Defines fn to conditionally activate emacs tabbar 2017-07-29 21:45:35 -04:00
William Carroll
abb61dade2 Updates symlinking script for custom emacs funcs 2017-07-01 16:46:46 -04:00
William Carroll
296fe1b8f6 Stylizes tabbar; extends emacs config 2017-07-01 16:21:44 -04:00
William Carroll
e52c4330c7 Disables QuickEdit prototype 2017-06-26 10:30:17 -04:00
William Carroll
257246aed5 Updates ZSH_THEME and trims fat from config 2017-06-25 15:44:18 -04:00
William Carroll
f344f2e370 Adds os detection for bootstrapping configs 2017-06-23 13:01:16 -04:00
William Carroll
689e887354 Blacklists additional modes from MRU buffer candidates 2017-06-21 23:51:59 -04:00
William Carroll
8fbafc3a5c Conditionally enables Evil; adds Dired+; conditionally applies linum 2017-06-20 07:48:03 -04:00
William Carroll
1ccaee9fa9 Adds finer-grain control over Linum Mode 2017-06-18 13:23:21 -04:00
William Carroll
4375cecfd1 Adds script for symlinking emacs functions 2017-06-17 21:32:05 -04:00
William Carroll
2867dfb9f2 Fixes EDITOR env variable configuration 2017-06-17 21:31:28 -04:00
William Carroll
857bb85e66 Adds custom dired functions 2017-06-17 21:30:33 -04:00
William Carroll
f40a345766 Moves helm helper functions to a separate file 2017-06-15 17:21:22 -04:00
William Carroll
d9a05b322e Adds QuickEdit mode for git commit messages within ansi-term 2017-06-15 17:20:45 -04:00
William Carroll
708670590f Adds vim monkey-patch to edit files within Emacs 2017-06-15 17:18:58 -04:00
William Carroll
8fff1ba890 Better integrates CLI and Emacsclient 2017-06-13 11:33:16 -04:00
William Carroll
6b3d011491 Adds CTRL_T fuzzy find helm source for files 2017-06-06 11:14:30 -04:00
William Carroll
981f86bf7d Removes unnecessary kbds; enhances config 2017-06-06 10:35:37 -04:00
William Carroll
cf13a3b182 Adds custom helm sources and kbds 2017-06-02 19:52:13 -04:00
William Carroll
7cf411fe0f Remaps slate kbds 2017-06-02 10:35:24 -04:00
William Carroll
23f4e84ada Moves helper functions to separate file 2017-06-01 00:00:03 -04:00