Commit graph

438 commits

Author SHA1 Message Date
William Carroll
ba1034a9c8 Begin the Emacs email journey
While this commit isn't much (i.e. notmuch), it represents one brave step
forward in the quest for supporting email in Emacs -- something I'm estimating
to be somewhere between a 1.5x and 2x workflow booster.
2020-01-06 15:25:25 +00:00
William Carroll
67f060d6f9 Temporarily disable flycheck
TL;DR:
Problem: I ran into a bug where my computer wallpaper was changing every five
seconds whenever my init.el file was open and I was typing in it.

Short-term solution: Disable flycheck.

Long-term solution: Disable flycheck just for Elisp or just for init.el in
Elisp.

Post Mortem:
Warning: If you have flycheck-emacs-lisp-initialize-packages set to auto or
really anything other than nil, than the emacs-lisp flycheck-checker will spin
up a new Emacs instance, and evaluate all of the Elisp in init.el.

Why does this matter? Well, if like me, you have code anywhere in your
init.el (and any files downstream from init.el), that code will get evaluated
not just twice. But countless times... tens, hundreds, w/e. So... while you
might think you have code that is just running at startup this code will be
called incessantly.

As a dramatic, contrived example, if you had something like...

```elisp
(bank/send :amount 100 :to "wpcarro@gmail.com")
```

...anywhere in that your init.el would evaluate, you may end up sending
wpcarro@gmail.com millions of dollars. To make debugging this problem a bit more
complicated is that because this runs in a separate Emacs instance, you can't do
something like...

```elisp
(defvar already-evaluated? nil)
(unless already-evaluated? (bank/send :amount 100 :to "wpcarro@gmail.com"))
(setq already-evaluated? t)
```

...since the `already-evaluated?` variable will be local to the Emacs
instance. So if you needed a mechanism to ensure code like this runs only once,
you would need a way to share this semaphore across Emacs instances --
e.g. writing to and reading from disk.
2020-01-06 15:25:25 +00:00
William Carroll
852783827c Ensure git yday alias formats commits like git today
Prefer the --oneline flag for `git yday` so that it is formatted like the
`git today` command.
2020-01-06 15:25:25 +00:00
William Carroll
7bb4201905 Support more fish abbr's for git
I'm sure that there is a fish package that supports git aliases or
abbreviations. This time, I'm preferring to write my own.

Side note: The more that I use fish's abbreviations, the less that I like them
-- at least for the way in which I'm using them.
2020-01-06 15:25:25 +00:00
William Carroll
6cf8517cab Combine google-{stuff,tooling}
Google-related files should eventually be moved out of GitHub hosting and onto
Google infrastructure (e.g. Git on Borg).

When I do this, I should run:

```fish
> git grep --ignore-case google (git rev-list --all)
```

To assess the reference I've introduced into this repository.

Other tools that should come in handy when I do this are:
- git filter-branch
- BFG repo-cleaner
2019-12-24 15:21:34 +00:00
William Carroll
96032dbeb0 Support JS-style header in web-mode
Yasnippet supports a way to share snippets between related modes. I should do
this instead of just defining a new snippet here. Well... until then.
2019-12-24 15:21:34 +00:00
William Carroll
27c57a1f16 Drop support for purpose.el
For now, my lack of understanding of purpose results in purpose getting in my
way. One day, I may reinvestigate this. For now, I'm attempting to learn Prolog
and Nix, which is occupying most of my tolerance for new technology.
2019-12-24 15:21:34 +00:00
William Carroll
0cd3b44ce3 Support evil-magit, refine
It took me awhile to install evil-magit because I believed that evil-collection
supported it. My grasp of Emacs bindings was enough to tolerate the strangely
"inconsistent" KBD support of in magit. Eventually though my tolerance waned,
and I verified that evil-collection does *not* support magit, and suggests that
users seek evil-magit. I did that. I do not regret it.

Installing Wilfred's refine.el, which is a lovely package for interactively
editing data structures. Go LISP!
2019-12-24 15:21:34 +00:00
William Carroll
7bd668ee8f Defensively install all-the-icons assets
Wrap installation call with a predicate that checks on the file-system for the
icon assets. Along the way, document other parts of the wpc-ui package.
2019-12-24 15:21:34 +00:00
William Carroll
d1566dd0e6 Refactor strings.el tests
Ensure that string.el follows the latest whim in my Elisp testing circus.
2019-12-24 15:21:34 +00:00
William Carroll
90955a3c02 Support ensure_{file,dir} in zsh
Support functions for ensuring the existence of directories and files. These
functions represent the type of small ergonomic wins that I believe libraries
should support.
2019-12-24 15:21:34 +00:00
William Carroll
82717e3f22 Support rainbow-delimiters-mode
Why did I ever remove this? Perhaps git can help me answer that.
2019-12-24 15:21:34 +00:00
William Carroll
998646995f Support Typescript
I had previously only worked with Facebook's Flow. Typescript support in Emacs
is excellent!
2019-12-24 15:21:34 +00:00
William Carroll
3a204cec24 Update Tramp configuration
I'm unsure if this file should be included in my dotfiles, but it doesn't seem
to contain sensitive information.
2019-12-24 15:21:34 +00:00
William Carroll
274219cc63 Prefer somes? to some? in math.el
In a moment of strong opinions against variadic functions, I defined
maybe/somes? and redefined maybe/some? to be non-variadic. I'm not sure if I
feel as strongly about that change as I did when I made it. Either way, the
change remains and math.el is broken unless it consumes maybe/somes?, so... this
does that!
2019-12-24 15:21:34 +00:00
William Carroll
56692b3833 Update docs for macros/support-file-extension
I provided the wrong usage example in my documentation. This goes to show how
critical generated documentation is to the goal of documentation reliability,
which itself bolsters the goal of documentation in general.
2019-12-24 15:21:34 +00:00
William Carroll
afcd663c7c Fix typo in keyboard configuration
I was missing a trailing comma in my xmodmap call. This rectifies that mistake.
2019-12-24 15:21:34 +00:00
William Carroll
ebe67fc73d Remove aliases for personal project
I believe that I defined these aliases when I was optimistic about using them. I
never ended up habituating that usage, so these are covered in dust.
2019-12-24 15:21:34 +00:00
William Carroll
8fc68d8edb Update OCaml support
After attempting to run OCaml on a separate machine, I realized that I needed to
update the documentation in my wpc-ocaml package.
2019-12-24 15:21:34 +00:00
William Carroll
3dc1bc4f84 Delete "conflicted copy" files
TODO: It may be preferable to augment my git history to remove the traces of
these files ever existing. For now, since I value a precise git history over a
pristine git history and my tendancy to maintain the former is sometimes at odds
with my goal of the latter, I'm saving this work for a later date.
2019-12-24 15:21:34 +00:00
William Carroll
7adb776927 Support Prolog
Register the .pl file extension with `prolog-mode'. This is useful because I'm
reading the "Learn Prolog Now!" book at the moment.
2019-12-24 15:21:34 +00:00
William Carroll
f739534203 Support fish shell!
After some back-and-forth, I'm trialing fish shell instead of zsh as my default
shell. For now, I'm porting the aliases.zsh into config.fish -- defining them as
abbreviations instead of aliases; this preference may change. See the commentary
in config.fish for more information.

A spent a lot of time in zsh and built much configuration, so supporting fish
may take considerable time. Here's some work that remains:

TODO:
- Port functions.zsh
- Port variables.zsh
- Port zle.zsh
2019-12-24 15:21:34 +00:00
William Carroll
b3342afbfa Temporarily disable code that creates circular deps
After attempting to package some of my Elisp libraries using Nix, I exposed
circular dependencies between modules that has existed for awhile.

I'm temporarily disabling this code since I do not have time to refactor
everything. When I get around to packaging everything, I'll need to resolve
these issues.

For now, I must carry on.
2019-12-24 15:21:34 +00:00
William Carroll
6b456c1b7a Massive configuration overhaul
Currently paying the price of months of non-diligent git usage.

Here's what has changed.

- Theming support in Gvcci and wpgtk
- Dropping support for i3
- Supporting EXWM
- Many Elisp modules
- Collapsed redundant directories in ./configs
2019-12-24 15:21:34 +00:00
William Carroll
a7c72adb2e Support functions for navigating Google3
I had `tbz`, which toggles between a project directory and it's associated
blaze-bin.

I added three functions which support navigating to blaze-bin, blaze-genfiles,
and to the project root.
2019-05-14 17:00:28 +01:00
William Carroll
01b985fdd9 Support external mouse for laptop
New hardware = new configuration.
2019-05-13 16:40:21 +01:00
William Carroll
6fba42e306 Support hardware-based aliases
Hibernating, sleeping, WiFi configuration...
2019-05-13 16:39:48 +01:00
William Carroll
c41e9fe49c Support additional mercurial aliases
More analogue to git for mercurial.
2019-05-13 16:39:22 +01:00
William Carroll
940ea173f6 Delete duplicate Google3 alias
Whoops...
2019-05-13 16:38:59 +01:00
William Carroll
dac7e40a43 Prefer floating lf window
Ensures that the lf instances are floating windows when created.
2019-05-13 16:38:34 +01:00
William Carroll
5cb0aebbd3 Support sandboxes for Elixir, Haskell, Clojure
The dream is to create an offline version of something like repl.it.
2019-05-13 16:37:47 +01:00
William Carroll
011d302b9e Supports home_theater function
Helpful reminder for how to setup bluetooth, TV streaming, etc.

Sadly I need this because I still have a lot of trouble working with Linux.
2019-05-13 16:36:24 +01:00
William Carroll
a59605c756 Support alternative lock screen
Also adds some rules for the Compton configuration so, that the lock screen
isn't transparent.
2019-05-13 16:35:38 +01:00
William Carroll
aafc240c16 Support g4d for Google repositories
Support aliases to quickly navigate the Google3 source code tree.
2019-05-13 16:34:43 +01:00
William Carroll
1e84900ac9 Support alias for tput reset
Useful command to run instead of `clear` - especially after printing sensitive
information to STDOUT. E.g. after running - `pass show misc/secret`.
2019-04-15 13:25:14 +01:00
William Carroll
4e39998671 Support compton
Compton helps composite windows in X. This supports shadows, transparency, and
some other effects of which I'm unaware at the moment.
2019-04-15 13:24:28 +01:00
William Carroll
0faa588ae1 Support i3-gaps
Re-enabling support for i3-gaps after successfully installing it from source.
2019-04-15 13:23:24 +01:00
William Carroll
119ea8b6ad Don't log DONE time in org-mode
At the moment, I don't find these timestamps useful.
2019-04-15 13:21:41 +01:00
William Carroll
ef08e2228c Support directory alias for google3 experimental
I intend on using my experimental folder more regularly for Java, Blaze,
etc. tests.
2019-04-09 18:38:53 +01:00
William Carroll
748e880762 Support align KBD for evil-leader
<leader>= should align a selected region. This should have been added awhile
ago, but it's great to have now!
2019-04-09 18:38:16 +01:00
William Carroll
d26abe7edb Support Java snippet for main function
Should output: `public static void main(String[] args)`. More of these Java
snippets to come.
2019-04-09 18:37:37 +01:00
William Carroll
5144384bec Support Google IRC in irssi
Also changes a few config settings for auto{connect,join}ing. This is still a
WIP.
2019-04-08 17:19:37 +01:00
William Carroll
9bc3cbece2 Drop i3 support for spawning apps in horizontal or vertical mode
Prefer using i3's "active edge" to control where apps are spawned.
2019-04-08 17:18:47 +01:00
William Carroll
79ef9e0c63 Drop support for extending Emacs's default word regex
This was causing problems with my Emacs initialization. I don't have time to
troubleshoot, so I'm removing this for now.
2019-04-08 17:17:41 +01:00
William Carroll
7d2bfc8a28 Support alias for Google's Intellij path
Hardlink paths are hard for me to remember.

NOTE: It's now more reliable with the DISPLAY fix
2019-04-03 17:22:09 +01:00
William Carroll
a414fefa03 Reintroduce nohup to browse function
Updates the implementation to ensure that the nohup.txt file isn't
created.
2019-04-03 17:21:23 +01:00
William Carroll
c492c8f4bf Update regexp used with evil-mode's * and # KBDs
I'd bet that there is a better way to achieve this, but I couldn't find
it, and I need this experience to be better.
2019-04-03 17:20:33 +01:00
William Carroll
4c1fbe01f6 Fix $DISPLAY issues with Tmux
Ensure that DISPLAY is set correctly so that commands executed in Tmux
that require X windows don't disappear.
2019-04-03 17:19:46 +01:00
William Carroll
10aef4e40d Support dmenu integration for Chrome bookmarks
I'd like to regain control of my browsing bookmarks with a simpler solution
using `dmenu`, `i3`, and a text file.

TODO: drop support for Chrome bookmarks by porting all remaining bookmarks to
bookmarks.txt

NOTE: maybe change bookmarks.txt to bookmarks.json to support nesting. Could be
simply with `jq`.
2019-04-03 13:12:52 +01:00
William Carroll
8220336205 Support sandboxing languages like Elixir, Haskell
The previous commit foreshadows this change. This also introduces so changes for
the Docker tooling.
2019-04-02 21:29:46 +01:00
William Carroll
c88f3da4ac Augment clipmenu KBD to paste-in-place
Introduces the `xdotool` dependency, which is a way to simulate X window events
from the CLI.
2019-04-02 21:27:47 +01:00
William Carroll
7646143843 Support .docker/config file
Useful since helpful aliases and functions around creating sandboxed REPL
environments for languages like, Elixir, Haskell are on the way. Other languages
that might be interesting to support would be Clojure.
2019-04-02 21:26:01 +01:00
William Carroll
698cff169a Augment i3statusbar
- support battery indicator
- format indentation
2019-04-01 18:28:03 +01:00
William Carroll
9ef4b5bb0a Support run_java
I probably won't need this as I become more familiar with Java.
2019-04-01 18:27:20 +01:00
William Carroll
6a2d7ef035 Support dmenu clipboard manager
Still needs a bit of fine-tuning to be ideal, but it's already pretty useful.
2019-04-01 18:26:40 +01:00
William Carroll
cc3aecb1e3 Support Java alias for jshell
The `jshell` alias currently imports libs like guava and jOOL into the `jshell`,
which is nice for experimenting.

Experimenting with keeping some helpful `.jars` in `~/programming/jars`. This
may be a bad idea, and there may exist a more idiomatic way to do this instead
of wrapping `jshell` in an alias, but for now, I need to move on.

Also documents some abbreviations for applications. `jv` will be necessary so
that I don't conflict with `j` or `js` for javascript. Eventually I'll need to
be more organized to avoid naming collisions, but this is okay for now.
2019-03-29 17:19:29 +00:00
William Carroll
54c13a8848 Update Cider KBD to use google-chrome
This allows me to take advantage of the --app=<URL> flag that google-chrome
supports, which is nice for a version of cider that bleeds all the way to the
window's edges. It makes Cider feel more like a native application experience.
2019-03-28 17:32:21 +00:00
William Carroll
653ffd381a Support $mod+Return for starting up a terminal
This comes with the default configuration on i3. I removed this KBD originally
because I was hoping to use the $mod+{,Shift+}t KBDs frequently. I still do, but
as I get more comfortable with i3, splits, parent containers, etc. I may prefer
to create terminals this way. We'll see...
2019-03-28 17:30:32 +00:00
William Carroll
d69d6421b2 Support KBD to unfocus parent container
Been missing this for awhile. Useful since I'm using $mod+a more often.
2019-03-28 17:29:43 +00:00
William Carroll
97c156be88 Support SpeWall in bash variables
NOTE: consider migrating from GH private repo to Google's Git on Borg. This is
preferable since GH gets hacked and private repos can be exposed. While a path
to a Google 3 repo like SpeWall may not pose a large security risk, it certainly
isn't optimal. Imagine a path to a repository whose name leaked a secret
project. Two options:

1. embrace encryption options like Mozilla's `sops` and remain on GH private
2. switch wholesale from private GH to GoB
3. classify "sensitve" parts of dotfiles as such and move those to GoB and keep
   everything else on private GH

One added perk of switching to GoB is saving the $7 monthly fee to support
private GH repos.
2019-03-28 17:29:24 +00:00
William Carroll
79387acb96 Create generic loop fn
Might be useful for things like:

```
loop 'PAGER="" hgst' 1 y
```

```
loop 'du -hs .'
```

```
loop ll
```
2019-03-27 18:27:49 +00:00
William Carroll
370f0346de Augment browse function
The nohup.out file was creating a bunch of noise and polluting my FS. It may
have been the correct thing to add, but if it was, I'm unsure why. Removing it
for now since it's been bothering me quite a bit.
2019-03-27 18:26:58 +00:00
William Carroll
ac34df2372 Add daily Google ENG tips to prodaccess
Wraps the existing `prodaccess` executable and displays a quote from Google
ENG's fortune db.

Fortune is a GNU tool intended to support random quote compilation, display,
etc. It's pretty interesting.

NOTE: the `prodcertstatus` executable that this function is using as a guard
looks like it might be useful moving forward.
2019-03-27 18:25:11 +00:00
William Carroll
2b34daf50a Support's flagpick alias
flagpick will interactively allow users to add CLI flags. Should work for any
executable that supports a `--help` flag.
2019-03-27 18:24:00 +00:00
William Carroll
f4e3e98594 Support gca
We already have `gcan`... looks like `gca` was already defined by some ZSH git
extension. This further weakens my dependency on that extension, which I think
is a good things.
2019-03-27 18:22:59 +00:00
William Carroll
161a09e6df Adjust i3 colors, update KBDs, remove icons from i3statusbar
May need to find a better KBD for `snip_it`, since I really enjoy Tmux's M-s to
switch sessions.

Learned about i3's "edge" concept. Re-supported KBDs for settings split
directions. Also adjusted theme colors.

Also adjusts the formatting of the timezone information to show GMT as LON, EST
as NYC, and Pacific as MTV.
2019-03-27 18:21:00 +00:00
William Carroll
01ff37824d Start lf from i3 in the ~/Downloads dir
This is a pretty common directory and has proven useful.
2019-03-25 17:33:21 +00:00
William Carroll
3c96944855 Drop OSX config from .gitconfig
This is a relic from the OSX support days. It's incompatible with the Linux
setup.
2019-03-25 17:32:30 +00:00
William Carroll
72a5510dbf Support KBDs for existing fns; support size fn
- Supports `size`
- Adds KBDs for encrypt/decrypt, archive/unarchive, tar/untar, etc.
- Adds explanation behind KBDs
2019-03-24 16:28:56 +00:00
William Carroll
e1d42452b5 Resupport mod+Shift+{3,4} KBDs in i3
I originally dropped support for these because I wanted to imitate OSX's
screenshot KBDs, which were mod+Shift+{3,4}. I'm not sure I want to imitate OSX
now that I don't have any Apple hardware besides my iPhone. I'm getting more
forgetting those KBDs. At the moment, however, I cannot find a better KBD for my
snip_it function. Stay tuned...
2019-03-24 16:13:09 +00:00
William Carroll
06bf69085e Ensure GPG import.sh script is executable
I must not have tested this before adding it to the repository; otherwise, I
would have found this. Oh well... it worked like a charm when copying the GPG
information from my desktop to my laptop.
2019-03-24 16:12:03 +00:00
William Carroll
0eaf4602d8 Support brightness adjustments on laptop
I used `light` on my MBP running NixOS. I got `xbacklight` working on my Dell
Precision running gLinux. It wasn't easy, and I still don't fully understand the
integration story. Thankfully I'm not alone and the documentation from the Arch
Linux came to rescue (per usual).
2019-03-24 16:10:43 +00:00
William Carroll
48320fcae4 Remove unnecessary .gitkeep from laptop dir
This should have been removed when I populated that directory.
2019-03-24 16:10:08 +00:00
William Carroll
7b46b6bfe1 Adds emoji font and function to test emoji support
In my quest to learn more about terminals, I added a function to output ten
emojis. Technically this tests the same thing as test_unicode.

Unfortunately I couldn't get `st` to output any colored emojis. This is a bit of
a buzzkill for my grand plans to create a terminal-based chat client that
supports emojis.
2019-03-24 16:09:51 +00:00
William Carroll
362a623a0a Define functions, KBDs for lf
Defines functions for creating, deleting, renaming files.
Defines functions for encrypting/decrypting files.
Defines functions for archiving/unarchiving files.
Adds TODOs for wishlist items.
Adds `help` function to view `lf` documentation.

TODO: write generic explanation of desire to share KBDs between Emacs, Vim,
other programs that I can link to in documentation to avoid repeating myself.
2019-03-24 16:05:34 +00:00
William Carroll
f5ace0b0a9 Prefer $(pwd) to $PWD
I'm unsure if this is idiomatic POSIX shell scripting or not, but I generally
prefer function calls to variables. Thankfully things like Haskell don't
differentiate between the two. In other cold and hostile environments like shell
scripting, us programmers must take care to prefer functions to variables where
it makes sense.
2019-03-23 16:38:19 +00:00
William Carroll
7167764622 Support aptitude removals
If you're going to install things and support that with an aliases, might as
well support the removals of packages with an aliases. Better to keep systems
lean -- especially if entropy is the tendancy.
2019-03-23 16:36:34 +00:00
William Carroll
7bcfa26f51 Support shared, device-specific i3 configurations
Separated i3/configuration since some of my devices support XFree86 keysyms
while others do not. This introduced some cascading changes.

- Removed ~/.config/i3/config from this repo. Since I will be switching between
  devices semi-regularly and that file will be generated each time I switch to a
  different device running an X session, I don't want the i3/config to spam my
  `gst` and `gd` when I haven't changed configuration in either config.shared or
  config.device.
- Update aliases, variables, etc. to point to config.shared instead of the
  generated file.
- Ensure that X sessions generate the i3/config file.
- Ensure that i3 reload and restart command generate the i3/config file.
2019-03-23 16:31:59 +00:00
William Carroll
ef8621e7da Fixes Emacs's scroll-bar display issues
Prefer (scroll-bar-mode -1) to (toggle-scroll-bar -1).
2019-03-21 18:15:41 +00:00
William Carroll
845ebb08fe Creates wrapper around p4 filelog
Should make viewing file history a little more ergonomic.
2019-03-21 17:24:50 +00:00
William Carroll
f1ca81b021 Remove scroll bars from Emacs
I don't use these; they take up space; the colors clash with my dark theme.
2019-03-21 14:58:09 +00:00
William Carroll
4d83acb77a Theme i3 status bar
Adds some preliminary styling to my i3 status bar to vaguely align with the One
Dark theme.
2019-03-21 14:57:32 +00:00
William Carroll
8a9cb25fe3 Support One Dark in Tmux
Tmux themes should stay in sync with wallpaper, Vim, Emacs, Chrome, etc.
2019-03-21 14:56:53 +00:00
William Carroll
12ba60eb13 Prefer TwoDark theme for bat
This seems to resemble Atom's One Dark theme that I'm using in Vim, Emacs,
wallpaper already. Would be nice to keep everything consistent. I should update
the i3 Status Bar and Chrome to support One Dark themes as well.
2019-03-21 13:59:09 +00:00
William Carroll
cf39cf760a Prefer Emacs client-server setup
This change affects:
  - alias e
  - i3 KBDs
  - .xsessionrc

It will be interesting to see how this works over SSH. In theory, the
ALTERNATE_EDITOR variable should kick in and `vim` should be used. Time will
tell if this is the preferred setup. Until then...
2019-03-21 13:57:15 +00:00
William Carroll
b1275671a8 Return (server-start) to Emacs initialization
See the comment for an explanation about this revision.

  - we want to support to GUI
  - it's difficult to reuse GUI windows elegantly unless the server is started
    from the GUI itself
  - consider starting the emacs GUI when X initializes
2019-03-20 18:38:02 +00:00
William Carroll
a69e21a74f Drop support for open-from-iterm since OSX support was dropped
This should have been removed a few commits back. Oh well... dirty laundry
2019-03-20 18:36:59 +00:00
William Carroll
0039022c6e Disable company-mode when editing markdown
`company-mode' can be pretty noisy in some modes. In fact, I'm writing this in
`fundamental-mode', which is proving to be equally as noisy as the
auto-completion in `markdown-mode'. Stay tuned for an update that disables
`company-mode' in fundamental mode.
2019-03-20 15:50:34 +00:00
William Carroll
80dc1fdb50 Drop support for executables
See the README changes for an explanation.
2019-03-20 15:32:06 +00:00
William Carroll
827448d116 Fix glibc 2.27 issue with Nix
See the comments in .profile for an explanation and a link to a thread that has
a longer-conversation.
2019-03-20 15:18:06 +00:00
William Carroll
57b6750789 Updates broken hardlinks
These are relics from the commit that dropped support for OSX.
2019-03-20 15:14:43 +00:00
William Carroll
da070adf8a Move source ~/.profile to ~/.zprofile
See the comments in .zprofile for an explanation and a link to a much larger
conversation about this issue. It's a bit messy.
2019-03-20 15:13:41 +00:00
William Carroll
7f0c0084e2 Support Xresources for multiple devices
This borrows the setup used with .xsessionrc{,.shared,.device}. It supports
configuration for my desktop, laptop, cloudtop.
2019-03-20 15:12:40 +00:00
William Carroll
ef2b934268 Support retrieving Monzo balance
This is intended to be an i3 status bar integration eventually. As long as the
monzo_creds file stays encrypted and out of a public GH repository, this should
be fairly secure.
2019-03-20 15:11:22 +00:00
William Carroll
74a1595bc9 Support hgls for fig
This lists all CitC clients.
2019-03-20 15:10:42 +00:00
William Carroll
9908175878 Remove org-mode's M-{h,j,k,l} conflicting KBDs
This is a bit of a workaround since ideally wpc/ensure-kbds and wpc/kbds minor
mode should eclipse the major-mode's KBDs. I couldn't fully debug the issue, and
in the interest of getting on with things, I resolved to just unbind those keys.
2019-03-20 15:08:56 +00:00
William Carroll
a810a74771 Support global auto-fill-mode
It appears that (auto-fill-mode 1) may be buffer-local. Adding a hook to
fundamental-mode to ensure auto-fill-mode is enabled for most buffers. Stay
tuned, because this may need to be setup for prog-mode-hook as well. Or
neither... we'll see what works.
2019-03-20 15:07:07 +00:00
William Carroll
29e19725ac Rename Elisp function for ensuring KBDs
Prefer wpc/ namespace for functions that I define. Consider defining all
functions in one location, similar to ZSH's functions.zsh
2019-03-20 15:03:03 +00:00
William Carroll
e14b271d39 Start Tmux up when X initializes
As noted in the comments, this may not be the final destination for this
incantation. It may also be. Right now, I don't know.
2019-03-18 20:57:46 +00:00
William Carroll
aec6461660 Remove hardlink dependency on lf
After moving environment variables from ~/.zshrc to ~/.profile, i3 can locate
`lf` on my PATH without any trickier involved. This is quite nice.
2019-03-18 20:56:55 +00:00
William Carroll
a2f07f24e0 Support an org-capture template for misc shopping
Sometimes just capturing what I want to buy is as satisfying as actually buying
the item. These org-capture templates really alleviate a lot of the anxiety I
associate with trying to remember many things.
2019-03-18 20:55:58 +00:00
William Carroll
0de3c5a14f Use correct hostname for laptop
Looks like I forgot to change this entry when updating the other locations in
the dotfiles that reference the wrong hostname for my laptop.
2019-03-18 20:55:01 +00:00
William Carroll
bef7799f4b Support attach and detach aliases for tmux
As mentioned in the comments, prefer the <leader>d for detaching.
2019-03-18 20:54:27 +00:00
William Carroll
51e123d84c Remove autojump functionality from t
This sometimes is what I what and most of the time not what I want
2019-03-18 20:53:26 +00:00
William Carroll
14972986e3 Break .xsessionrc into .xsessionrc.{shared,device}
This allows configuration for device specific settings - usually or
perhaps exclusively hardware related. Supporting disabling laptop
touchscreen, increasing laptop cursor speed, reversing the scroll
direction of the laptop mouse.
2019-03-18 15:56:03 +00:00
William Carroll
61b40b3012 wpcarro.roam.googlers.com -> wpcarro
Until I change my hostname, I'll need to use wpcarro. Internally on
Google networks, this laptop is resolvable via wpcarro.roam.*

Idea: consider defining in ~/.profile:

DESKTOP_NAME=<name>
LAPTOP_NAME=<name>
CLOUDTOP_NAME=<name>

...and then refer to these environment variables throughout my
configuration that depends on them. E.g. -

  - configs/install
  - configs/uninstall
  - .zshrc
  - .ssh/config

For now, I'll stick with the path of least resistance.
2019-03-18 15:53:18 +00:00
William Carroll
5cf5984467 Support gpg-agent.conf
At the moment is handles caching ttl preferences.
2019-03-18 14:50:47 +00:00
William Carroll
a5090b7b03 Drop support for ctags
I added these awhile ago and haven't used them that day or since.
Dropping support until I have a use-case.
2019-03-18 14:32:48 +00:00
William Carroll
e7bc9e39bd gitignores .emacs.d/{bookmarks,custom.el,projectile-bookmarks.eld}
Using the `git rm -r --cached . && git add .` tip from: http://www.codeblocq.com/2016/01/Untrack-files-already-added-to-git-repository-based-on-gitignore/
I'm able to finally ignore these files. Things should be cleaner moving forward.
2019-03-18 14:30:42 +00:00
William Carroll
f7b3e0a7a9 Drop OSX support; support desktop, laptop, cloudtop
Dropping support for OSX. Moving forward these dotfiles will depend on Linux
systems. Furthermore, since I'm support a ~/bin, the machines that consume these
dotfiles depend on i386 architectures. Linux and i386 are two dependencies that
I'm okay with since the leverage this assumption provides, makes their existence
tolerable.

There is some Google leakage herein, which includes aliases, functions, and
mentions of cloudtop. For now, this is okay. I may break the Google specific
code into its own repository, but for now, this is less maintenance.

This also introduces a ~/.profile instead of erroneously defining environment
variables in my zshrc file, which was unadvised.

This is a large commit and also introduces new aliases, variables, functions
that I accumulated over the past week or so while migrating away from OSX and
onto my new setup. Hopefully in the future I'll be more precise with my commits.
2019-03-18 14:14:26 +00:00
William Carroll
2a70fdf5c2 Support uninstall; setup -> install
- support uninstall in Makefile
- change setup script name to install
2019-03-16 23:54:58 +00:00
William Carroll
44e46bbce2 Fix Emacs installation
My Emacs installation would fail on new machines because:

* use-package
* evil
* paredit

use-package is needed to install everything else.

evil and paredit were required in functions.el and other places before they were
called like (use-package evil ...). This should improve things but not fix the
entire issue.
2019-03-11 23:08:23 +00:00
William Carroll
a5512fd706 Remove more Emacs noise
Removing more files that clutter my `gst`

This time I ran...

```bash
git rm -r --cached .
```

...which is supposed to help ignore files that `git` already tracks. This may be
the missing piece I've been looking for.
2019-03-11 23:08:15 +00:00
William Carroll
eaf42b68c2 Better support GPG migrations
After yet another unpleasant experience starting up GPG on a new system, I
decided to encode my learnings and mistakes as aliases, functions, scripts,
hoping to protect my future me from myself. Fingers crossed!
2019-03-11 18:00:03 +00:00
William Carroll
e774ce5d1c Support font preferences
I've been sloppily managing my fonts for awhile. At this point in time,
it seems reasonable to carry around ttf, otf, and other font files.
These are 4.0K in size anyhow, which doesn't seem burdensome to me for
the convenience I get in return.
2019-03-09 22:45:55 +00:00
William Carroll
7270292d73 Support org shortcut and ELisp fn
Support generic ELisp fn. Should have a dumping grounds for ELisp
fns similar to my dumping_grounds.zsh.
2019-03-08 18:18:30 +00:00
William Carroll
4d7d937df7 Reorganize aliases, support misc fns, misc named dirs
Miscellaneous maintenance tasks for my ZSH life.
2019-03-08 18:17:41 +00:00
William Carroll
c487b09d6a Support i3wm and org-capture integration
Now this has been missing from my workflow for awhile.
2019-03-08 18:15:27 +00:00
William Carroll
c0b8167c2c Prefer gnome-terminal
This is a temporary change. Will get back on urxvt in the future.
2019-03-08 18:14:39 +00:00
William Carroll
50420ba131 pil -> pils
I should standardize on `ls` for list instead of `l`. This may have even
been a typo when I first defined it.
2019-03-07 16:49:11 +00:00
William Carroll
94bbcaafd5 Define nix_installed function
Lists the packages installed by `nix-env`. Moving forward, it might be
useful to run something like...

`$ nix_installed >nix-env.txt`

...and commit that to this repository a la the brew.txt file that
previously floated around this repo. For now, I'm unwilling to commit to
that solution, because I'm hoping a better alternative exists.

Perhaps this should be an alias. Still unsure why I write aliases
sometimes and functions other times. It might be worth documenting as a
principle that I can lean on.
2019-03-07 16:47:14 +00:00
William Carroll
aa7b96bacd Prefer to rg and fd hidden files
These may be configurable via .rgrc or .fdrc files, but frankly I have
enough RC files floating around. This should be fine.
2019-03-07 16:46:38 +00:00
William Carroll
fe6f2b9697 Simplifies i3 statusbar config
Moves the time to a more readable area. Removes noise from the disk
information.
2019-03-07 16:46:09 +00:00
William Carroll
dc3c37c78e Support cloudtop
Supports ZSH themes based on which device I'm working. This might get
annoying after awhile, but I think the idea of having the prompt reflect
when I'm on a different machine than my own might be useful.

Adds "cloudtop" alias in ssh config.
2019-03-07 16:44:37 +00:00
William Carroll
e9e4181fc0 Drop support for Python
I couldn't pull lsp-python from Melpa properly and since I'm
currently not doing any Python work, I figure I will drop support
for it temporarily.
2019-03-07 15:08:29 +00:00
William Carroll
7db36dc24d Renew support for Melpa
This was removed when I was still trialing Nix. Since I need to be on
gLinux for work and Nix isn't an option, I need something that works.
2019-03-07 15:08:29 +00:00
William Carroll
6a629f1720 Support additional i3 KBDs
Also prefer urxvt to gnome-terminal. This is subject to change.

Also supports additional KBDs for repeated tasks.
2019-03-07 15:08:29 +00:00
William Carroll
f2f8b0d10f Support step-by-step installation instructions
I documented my consumption of wpcarro/dotfiles in the README. The dream
is to just clone this repo and run `make install`. We'll get there.

TODO: drop support for OSX
TODO: clean up the rest of this README
2019-03-07 14:10:10 +00:00
William Carroll
e59898f00f Support ALTERNATE_EDITOR environment variable
This simplies the `e` alias and the EDITOR variable definition.
2019-03-07 14:05:31 +00:00
William Carroll
3dd58b01bd Update init.vim to support updated Vundle location
Before I noticed the rtp variable, the Vundle installation was a bit
nebulous to me.

TODO: Consider dropping support for vanilla altogether.
2019-03-07 14:03:54 +00:00
William Carroll
69516a41bc Support additional config files
Lucky me. More configuration!
2019-03-06 17:02:48 +00:00
William Carroll
abcdf22fb4 Supports autocompletion for Piper
See comment for an explanation about the additions.
2019-03-06 17:01:42 +00:00
William Carroll
f9be76e678 Support additional shell functions
I learned about compgen, so I made a bunch of aliases that should
help me remember its uses.

Also added a myriad of others.
2019-03-06 17:00:40 +00:00
William Carroll
43a2d0de2c Prefer x KBD for XResources
I'm finding that I'm visiting XResources more frequently than I'm
visiting ~/.xinitrc or other X files.
2019-03-06 16:59:45 +00:00
William Carroll
a14d4e5d9c Support commonly visited configs in Emacs
<leader>j is commonly used for me, so I figured these should be
supported here as well.
2019-03-06 16:58:56 +00:00
William Carroll
e811b4bf80 Remove Emacs spam
I have the (package-initialize) call already in wpc-package.el.

I'm unsure how this removal is ending up in a git status because I'm
pretty sure I've never commited that to this repo. Need to tighten
things up I guess.
2019-03-06 16:58:56 +00:00
William Carroll
fb1784e2ac Remove noisy files
This repo's history seems to reflect my difficult wrestling with
Git, GitHub, gitignore files. I'm still not sure I understand
everything that's going on.
2019-03-06 16:58:56 +00:00
William Carroll
2c1721e8b4 Drop support for lsp-javascript-flow
This package was deprecated. See the GH Readme for more details.
2019-03-06 16:42:55 +00:00
William Carroll
39420bb948 Amend init.vim
- support <leader>e* KBDs for quickly editing common configuration files
- prefer dark theme to light theme
- prefer nowrap by default instead of toggling wrap
2019-03-05 18:29:59 +00:00
William Carroll
04d0ee5a15 Reduces font-size
10 was just too big on my gLinux 4k setup.
2019-03-05 18:29:33 +00:00
William Carroll
69acbae998 Changes my default project
I should eventually support a shell variable in variables.zsh that
exports CURRENT_PROJECT, which Emacs can read.
2019-03-05 18:28:46 +00:00
William Carroll
607bf103c3 Parameterizes wpc/find-file function
Supports a filename as a parameter to my wrapped version of
evil-find-file.
2019-03-05 18:26:53 +00:00
William Carroll
731faded8d Extends i3 to support gLinux setup
Disables i3-gaps code temporarily until I get a proper installation
working.

Formats existing code to prefer alignment of text across similar,
adjacent definitions.

Defines new KBDs for screenlocking, music player controls, volume
controls.

Defines a rough manifesto of KBDs and the reasoning behind some choices.
2019-03-05 18:24:36 +00:00
William Carroll
85e7b74c16 Prefer refined theme to robbyrussell
Sorry, Robby Russell.
2019-03-05 18:23:57 +00:00
William Carroll
ebde4edc0e Support DATE_FMT
This format string is being used in my i3 config and in my alias for
creating a gPaste. I figured it'd be nice to set a variable that defines
the format. Future me: run `man date` to see what format options are
supported.
2019-03-05 18:23:00 +00:00
William Carroll
f9b7b86b9c Prefer longer aliases for Google utils
pbcopy  -> c
pbpaste -> p

While it's nice to expect pbcopy on both OSX and Linux, it's better to
just alias c=pbcopy on OSX and assert on `c` and `p`, which are must
shorter to type.
2019-03-05 18:21:41 +00:00
William Carroll
5dd3ebe314 xinitrc -> xsessionrc
At the moment, I'm unsure why this is working, but it is. More research
needs to be done.
2019-03-04 18:00:50 +00:00
William Carroll
f68cd7113f Temporarily drop support for Rofi
This depended on a hardlink to the /nix/store, which was a Nix
workaround that I no longer need. Expect the rofi/config to return.
2019-03-04 17:58:29 +00:00
William Carroll
e807778921 Support aliases for common config files, misc
Since I'm constantly editing vim, emacs, i3, zshrc, functions, aliases,
etc., I should support variables, aliases, and KBDs to make editing,
sourcing these files much more efficient.
2019-03-04 17:56:03 +00:00
William Carroll
2f7e9f5c54 Fix glp
I believe `glp` was messed up from a port from zsh -> nix -> zsh. It's
working now though!
2019-03-04 17:55:16 +00:00