Commit graph

233 commits

Author SHA1 Message Date
William Carroll
7b1423dc63 fix(wpcarro/playbooks): update first-of-the-month.org
TL;DR:
- remove stale entries
- add entry for buying TSLA for 401k
- (partially) normalize habits.org by referencing ./first-of-the-month.org

Background:

Earlier today I automated as much of my investments as I can...

- crypto account auto-buys crypto 2x/mo
- Fidelity doesn't support auto-purchases of individual stocks, so I opened a
  Robinhood account to auto-purchase stock 2x/mo

The only remaining thing that AFAIK I *cannot* automate is auto-stock-purchases
for TD Ameritrade (my SDBO 401k account). I don't think I can transfer this to
Robinhood because Vanguard controls which brokerages they're compatible
with. This should still be a big time-saver.

As such, it's time to rely on playbooks for this, so I'm dusting-off the
first-of-the-month.org playbook.

Change-Id: I545f8de20a0a30cac597400c4114b4549671a91d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5267
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-08 23:16:45 +00:00
William Carroll
333b049d38 fix(wpcarro/josh): remove unnecessary ::README
josh adds all of the contents from the directory that hosts the `workspace.josh`
file.

Change-Id: I7564454df88886f72d02a9be88640c42cee60fc5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5266
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-08 20:25:24 +00:00
William Carroll
64a4aad73b fix(wpcarro/emacs): change magit's buffer display function 🎉
Reuse the same buffer from which magit was invoked.

Change-Id: I20f661c8414cd6482d9374f9412186c66b736b94
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5265
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-08 20:19:23 +00:00
William Carroll
fdd9b09d4f feat(wpcarro/emacs): update README
I'm testing my josh+github workflow.

Change-Id: Ib5435debcecd94192eb27afe022bda433cba397f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5264
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-08 20:13:22 +00:00
William Carroll
06da3ba749 feat(wpcarro/josh): create workspace.josh for emacs stuffs
🚨 This is just a test 🚨

I'm experimenting with exporting some of my work from depot to Github using
josh.

I tried testing this locally, but it was a bit of a pain because I need to run:
1. git server locally
2. josh server as a proxy

Step 2 is easy, but I'm not sure how quickly I can setup a git server, and I
decided that just committing this work might be faster.

Next up (pseudocode):

```
$ git clone https://code.tvl.fyi/depot.git:workspace=users/wpcarro/emacs.git ~/github/emacs
$ cd ~/github/emacs
$ git remote add github git@github.com:wpcarro/emacs
$ git push github
$ # ...something like that
```

Note to self: figure out how to easily setup a git server locally, so that I can
test these changes more easily without spamming depot with test commits.

Change-Id: I0f198e00c60e06941b69f35ef389b936cf3ff659
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5263
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-08 19:41:18 +00:00
William Carroll
2e10f59ba5 feat(wpcarro/nix): install rink
Instead of using a python interpreter for quick calculations, try using `rink`.

Change-Id: I95271a394a183e5e7645873f781ed0051c86988a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5262
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-08 19:17:15 +00:00
William Carroll
01ec92fc6b fix(wpcarro/fish): prefer absolute path for prompt.fish
Also move prompt.fish out of configs, which is a deprecated location.

Change-Id: I95360bc24b0b147a611881ed53e70bf1f9e5deea
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5256
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-08 05:22:33 +00:00
Vincent Ambo
2ffea01c03 chore(wpcarro): move meta.targets definitions to meta.ci.targets
Change-Id: If45c9c939c607d02c1c636f9b54962aa527eed0e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5254
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-02-08 00:19:55 +00:00
William Carroll
d0e30ed23a feat(wpcarro/emacs): Define KBD to copy result of elisp evaluation
I've wanted this for awhile...

Change-Id: Ic010fee6a7adc0aa793e4ca2179b90f4463d1eec
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5197
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-02 20:19:22 +00:00
William Carroll
8cfd97c9b5 feat(wpcarro/redshift): Support redshift (again) 🎉
So it turns out that there's a NixOS *and* a home-manager module for
redshift. While I couldn't get the NixOS module to WAI, the home-manager version
seems to work just fine.

I'm hard-coding the lat/lon for now, because I still can't get "geoclue2" to
work, but I'm not interested in debugging that at the moment.

Change-Id: I7b44df44dc845ec3ad49e649019df459fc0bca56
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5154
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-01 07:49:54 +00:00
William Carroll
7b29f3c7f2 fix(wpcarro/redshift): Drop support for redshift
After spending ~1h trying to debug NixOS's redshift module, I'm nuking it for my
own sanity.

Change-Id: I38403d758db81e5917d1d06e1492efe2013232c2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5153
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-01 07:35:52 +00:00
William Carroll
f4be357508 feat(wpcarro/marcus): Enable redshift 👀
Should be easier on my eyes.

Change-Id: I183d2516ecdb582264b2a2548a05723d87274a83
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5152
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-01 06:18:40 +00:00
William Carroll
e1833e95f2 feat(wpcarro/blog): Create short post about scheduled reboots
Slowly building the habit of blogging more (especially about nix).

Change-Id: I13006a6555d746ab55b4b282ea83bc732573a58e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5149
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-31 22:34:32 +00:00
William Carroll
3220b38d03 feat(wpcarro/marcus): Schedule daily upgrades
1x/d rebuild marcus with the latest state from depot's `origin/canon`.

Change-Id: Ibeb40587e8f615d25e0819171fc00e08eda13d0b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5148
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-31 22:09:28 +00:00
William Carroll
10de2798a0 feat(wpcarro/marcus): Schedule daily reboots
Every day at 3AM reboot marcus.

Change-Id: Ia076b937a110039077add13360bd4fac3d7aa9d2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5147
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-31 22:05:27 +00:00
William Carroll
b7de629e05 feat(wpcarro/emacs): Format generated shell code of load kwarg
This makes the human-parsing of the generated shell scripts a bit more
pleasant (I'm looking at you, home-manager).

Change-Id: I01b9075892dbf4907d6cf813575e36f69e0c5090
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5146
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-31 22:01:26 +00:00
Vincent Ambo
aa122cbae7 style: format entire depot with nixpkgs-fmt
This CL can be used to compare the style of nixpkgs-fmt against other
formatters (nixpkgs, alejandra).

Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: Profpatsch <mail@profpatsch.de>
Reviewed-by: kanepyork <rikingcoding@gmail.com>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: cynthia <cynthia@tvl.fyi>
Reviewed-by: edef <edef@edef.eu>
Reviewed-by: eta <tvl@eta.st>
Reviewed-by: grfn <grfn@gws.fyi>
2022-01-31 16:11:53 +00:00
William Carroll
2b460c4cc3 feat(wpcarro/emacs): Define evil KBDs for refine
I should collect some of these into a evil-collection that I can share with
other evil users like grfn.

Change-Id: I8fa12e08b81b9a4cc1d57da886282c00439cbb41
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5107
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-29 07:52:56 +00:00
William Carroll
aa502c3baf feat(wpcarro/emacs): Support marcus.el
Sometimes I need device-specific Elisp. This is similar to what I'm doing in
google-briefcase (my gLinux-specific configuration).

Change-Id: Idc4031e74d31a91fb8d943acfaeb90b8742fbfc4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5084
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-29 01:13:08 +00:00
William Carroll
cdc18c025a refactor(wpcarro/emacs): Drop support for vendor directory
I don't think this is worth lugging around anymore.

Additionally: drop usage of `builtins.path`.

I originally started using `builtins.path` because a blog post about Nix style
recommended it (I cannot remember which), but I'm starting to think this is a
bit too verbose for my taste, and I forget what the benefits are.

Change-Id: If6579f28bac56ad7afec2c5d5a5e4828601c93c3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5083
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-28 23:42:58 +00:00
William Carroll
45da3bce86 refactor(wpcarro/emacs): Drop meta.ci.extraSteps
...in favor of `meta.targets = [ "check" ]`.

Change-Id: I08b035b7d7bbe5ef4eab10a9f55481048c67330a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5104
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-28 22:31:27 +00:00
William Carroll
4b8998c9c8 feat(wpcarro/emacs): Test that my Emacs can initialize
...without warnings, errors.

This was previously a step in my buildkite instance, but I'm no longer
supporting that (in favor of the TVL one).

Change-Id: Ifed39aef248b21a1eb5a6c9d8427ebe6996abc3a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5103
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-28 20:02:31 +00:00
William Carroll
d2052ff753 fix(wpcarro/emacs): Remove duplicate fn defn
Prefer the version of `bookmark-install-kbds` that defines named functions,
which are useful for the `which-key` integration.

Change-Id: I2ba8d457f04cba72da24244db8cd333f44e9a606
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5102
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-28 19:14:25 +00:00
William Carroll
00cadf07b6 refactor(wpcarro/emacs): Drop display-register calls from display.el
Let's have `display.el` be a pure library. Once I convert all of my Elisp
libraries to pure libraries, I can publicly export them for other depot users
and maybe other Github users (with the proper josh configuration?).

Change-Id: I87cce80ebb7d2396e39246dabc4e49d7aba2c094
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5038
Tested-by: BuildkiteCI
Autosubmit: wpcarro <wpcarro@gmail.com>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-27 06:33:28 +00:00
William Carroll
38ec094d2a refactor(wpcarro/emacs): Redefine window-manager as a pure library
TL;DR:
- `defgroup window-manager`
- prefer `defcustom` instead of `defconst`
- remove kbd logic
- remove hook definitions
- remove `use-package` call
- remove unused imports
- sort imports

Change-Id: Ice422e917c6b6b9e8126f6e518b1cd2d7aa0e7a6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5040
Tested-by: BuildkiteCI
Autosubmit: wpcarro <wpcarro@gmail.com>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-27 06:30:27 +00:00
William Carroll
28c2ea9d81 refactor(wpcarro/emacs): Remove TODOs from window-manager.el
Some of these are obsolete; I'm dropping others; fixed some.

Change-Id: I0e5e39354176824b1028452355216b68206034ae
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5039
Tested-by: BuildkiteCI
Autosubmit: wpcarro <wpcarro@gmail.com>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-27 06:30:27 +00:00
William Carroll
b9deba220f fix(wpcarro/fish): Drop unused git alias
This *should've been* `git pull --rebase` (not `push`). Then I realized that I
don't really use this alias; it's sort of a pre-magit workflow.

Change-Id: Ibe02d2c960f60e7d735981171780ef755a50a5b9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5041
Tested-by: BuildkiteCI
Autosubmit: wpcarro <wpcarro@gmail.com>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-27 06:26:26 +00:00
William Carroll
19182faad2 feat(wpcarro/website): Update footer
Add link to donate caffeine.

Change-Id: I49aa95dd481778433fd303c6166a9d60c077a08a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5042
Tested-by: BuildkiteCI
Autosubmit: wpcarro <wpcarro@gmail.com>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-27 06:19:24 +00:00
William Carroll
7916a93ded refactor(wpcarro/emacs): Move KBD to keybindings.el
This is part of a larger effort to remove the statements from
`window-manager.el` to convert it to a pure library.

Change-Id: I3078a9a73ec049704ac2dbbe822a6e57f4c9cf48
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5037
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-27 06:00:21 +00:00
William Carroll
64d623a06c feat(wpcarro/fish): Define gpr alias
Another Urbint-era `git` alias.

Change-Id: I5c833250bf87eec26fe66e2738756f541ec4328d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4999
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-27 06:00:21 +00:00
William Carroll
3828bf4e18 refactor(wpcarro/emacs): Move ivy-pass to ui.el
Alongside other ivy use-package declarations.

Change-Id: I5a60c06f287146ecd671ec9a5d8299539ea89dea
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5036
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-27 05:56:21 +00:00
William Carroll
6982ee618d refactor(wpcarro/emacs): Drop window-manager-logout
TL;DR:
- undefine `window-manager-logout`
- define window-manager customization group
- publicize `window-manager--xsecurelock`
- rename `window-manager--xsecurelock` -> `window-manager-screenlocker`
- remap `workspace "l"` to always lock the screen

Change-Id: I77df883b94e786c4584351c9ebf1dcf0d5a84a33
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5035
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-27 05:52:20 +00:00
William Carroll
db3223ab7c refactor(wpcarro/emacs): Reduce dependency on display.el
Trying to disentangle some of my Elisp modules...

Change-Id: I61173fc05557dca63e382c2e00d6f48c95701194
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5034
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-27 05:46:19 +00:00
William Carroll
c734416314 feat(wpcarro/configs): Define {import,export}-gpg in Nix
Note: Calling `export-gpg` (relying on the symlink to `__dispatch.sh`) hangs
because it's prompting the user for the password to decrypt the secrets, but for
some reason no prompt displays. When I call...

```shell
$ nix-build /depot -A users.wpcarro.configs.export-gpg
$ ./result
```

...it WAIs. I need to debug this, but I'm committing the work for now because
it's making my `magit-status` noisy.

TODO(wpcarro): Merge and reconcile configs, dotfiles.

Change-Id: I2b91323824cab37daa9d880cbb42f38e33ca10e1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4998
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-27 05:37:18 +00:00
William Carroll
186e87fe0f feat(wpcarro/fish): Define glp alias
Good ole `glp` (from the Urbint days).

Change-Id: I04b8e6f40b2922c49a625d32c1214038a8c08293
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4997
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-27 05:33:17 +00:00
William Carroll
8a24e62208 fix(wpcarro/nix): Temporarily disable simple_vim
neovim is failing to build for some reason (nixpkgs bump maybe?)

Change-Id: I49e7cebe490d339565b759d24d25843fb3e3bbae
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5059
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-25 20:02:25 +00:00
William Carroll
713d64fa17 feat(wpcarro/fish): Define rebuild-system alias
This allows me to call rebuild-system from outside of /depot.

Change-Id: I6bb627df173b1889522e03d5a6ff37e8119aaaa2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5058
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-25 20:01:24 +00:00
William Carroll
c1fe77d7b9 feat(fish): Define alias to cd /depot/users/wpcarro
Simplifying my life...

Change-Id: I84aabb337727fa56d79c72e81acf7b11c7308839
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5057
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-25 20:01:24 +00:00
William Carroll
92bb209811 fix(wpcarro/simple_vim): Quote $@ args
self-evident

Change-Id: I762c4aa3486a167b3de10f91639fa662ba50f109
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5056
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-25 20:01:24 +00:00
William Carroll
e37b8c9d8c refactor(wpcarro/emacs): Expose env as kwarg in withEmacsPath
This allows me to remove google-briefcase references.

Change-Id: I61234b2ac20e0de0f3d0d820a471342124d72f2d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4996
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-23 05:15:47 +00:00
William Carroll
8a27ed19c3 feat(wpcarro/fish): Define fish configuration as dotfile
TODO(wpcarro): Figure out how this is sourced on NixOS machines.

Change-Id: Iafddab003699f57bbfd09cd29cb9382dadf6a147
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4995
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-23 05:15:47 +00:00
William Carroll
bfc118b572 fix(wpcarro/docs): Fix references to google-briefcase
It now resides at `/google-briefcase` 🙂

Change-Id: I64640c7c969f08a687cbc6fde9b69b61a9e0016b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4994
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-23 05:15:47 +00:00
Vincent Ambo
effcd31651 refactor: Replace 'meta.ci' -> 'meta.ci.skip'
We need 'meta.ci' to be an attribute set for new CI features.

Change-Id: I83d04e2d74e42e49fe739b049ee4ba799f6d5d86
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5007
Tested-by: BuildkiteCI
Reviewed-by: ezemtsov <eugene.zemtsov@gmail.com>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-20 07:40:18 +00:00
William Carroll
d9142b952a refactor(wpcarro/gnupg): Improve UX for gnupg/{import,export}.sh
TL;DR:
- Ensure that export.sh -> import.sh -> export.sh can round-trip without
  intermediate tools.
- Remove default values for variables like ${1}, which only seem to complicate
  things.
- Add `trap cleanup EXIT` to scripts.
- Remove noisy full-paths from `zip` (note: a more intuitive, less configurable
  `zip`, `unzip` should exist).

Change-Id: Ibbd98d1f0156639138175fcb89e9dfbd17fdae5f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4993
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-18 22:27:20 +00:00
William Carroll
942046872d fix(wpcarro/emacs): Ensure pasting in evil visual WAI
The variable, `evil-visual-update-x-selection`, must've updated to
`evil-visual-update-x-selection-p`. When I moved from ~/briefcase to /depot I
adopted the newer version of nixpkgs.

Change-Id: I27de45c73833325f64b1e176b8793a0d05233331
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4992
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-18 22:27:20 +00:00
Vincent Ambo
4753e2f286 chore(wpcarro/*): Remove some dead code
Found this while looking for non-3p uses of builtins.fetchGit. The
hailgun package is in the package set now, and the other thing was
unused (and it's also in the package set).

Change-Id: I6f519fd6014bbed90fc6cee695bed7afbcf55717
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4984
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-18 19:22:12 +00:00
sterni
d99132f45a fix: resolve remaining security.acme.email warnings
These were missed in cl/4784.

Change-Id: I01a5827900c1b3bdfdf9b1c36dcca8d6b59073a1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4866
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-12 18:30:34 +00:00
William Carroll
dc9fe837a9 style(wpcarro/emacs): Prefer doom-peacock for Emacs theme
I no longer need the bright theme since I'm no longer in sunny Saint Lucia.

Change-Id: I22c436875bab93fa569541a6ff05bdc6869f521e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4861
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-11 23:00:48 +00:00
William Carroll
50e79b2d04 fix(wpcarro/blog): Sort blog posts by date DESC
Show the most recently published blog posts first.

Change-Id: Iacc9b2964552e8c0327a05a85c4fc5cbc8741f09
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4833
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-09 03:13:53 +00:00
William Carroll
8735b9df86 docs(wpcarro/blog): Use "today" in the call to date
Now I can copy-paste without replacing the placeholder
date-string (i.e. "2020-04-02").

Change-Id: Ie4ee843b495447a2d4b7e6634114b81b3fc0a50e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4822
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-08 06:24:03 +00:00
William Carroll
9e22c512b5 fix(wpcarro/emacs): Temporarily prefer Monospace to JetBrainsMono
When I migrated to /depot I removed JetBrainsMono from my monorepo. This is fine
on NixOS machines because I'm depending on JetBrainsMono through Nix
configuration. But for non-NixOS machines (my work machines), I cannot do
this.

Until I've thought of how I'd like to support this, I'm doing to use Monospace,
which should be available on all of my machines.

Change-Id: Icd0cd641526246d40b8d971907c63c7f32ef1c3d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4821
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-08 06:23:51 +00:00
William Carroll
7c558f7c53 fix(wpcarro/emacs): Redefine bookmark-install-kbd as public fn
I originally refactored this by inlining it as a lambda function, but I was
ignoring the fact that my work machines relied on it because I have Elisp code
in google-briefcase that calls `bookmark-install-kbd`.

Change-Id: I03804250fdfdc22be1445718a061a46461eb9af8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4820
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-08 06:23:51 +00:00
William Carroll
a21da10b16 feat(wpcarro/clitools): Add simple_vim to my clitools
I'm considering `alias vim=simple_vim`, but I'm not sure yet.

Change-Id: Ia6d625d4925939f4e5c6088a8b4067870c1a2522
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4819
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-08 06:23:38 +00:00
William Carroll
afa1f2c18b feat(wpcarro/tools): Set nowrap for simple_vim
Change-Id: Ia6342032e6b7e7ffbba65b35158d311d3b0a2e9c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4818
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-08 06:22:14 +00:00
William Carroll
885f3fb60a feat(wpcarro/blog): Publish "2FA and Gmail's \"Send mail as\""
Small blog post about how I configured myself out of my personal email.

Change-Id: Ibb8834b2150f94dba5f46a8ea634e7e9813b76a5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4817
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-08 06:22:14 +00:00
William Carroll
3a9cab6ba2 feat(wpcarro/emacs): Define KBDs for tab, backtab for deadgrep
This makes the UI a bit more interactive.

Change-Id: I756e098fff78d2a71a56cf0ea73240f90821dbab
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4813
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 06:18:03 +00:00
William Carroll
e0dbc1ae59 feat(wpcarro/emacs): Pass --{hidden,follow} flags to rg
These are useful defaults.

Change-Id: Ife4a7f559c9599ba3b846eea7e757266afd7ceae
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4805
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 06:17:02 +00:00
William Carroll
07d1f9449b fix(wpcarro/emacs): Ensure debug-on-error is globally set
I'm still a bit confused about the nuances between the myriad of ways to handle
variables in Emacs...

- `setq`
- `setq-default`
- `setq-local`
- `defvar`
- `defcustom`
- `defconst`
- `customize-set-variable`
- `make-local-variable`
- `make-variable-buffer-local`
- `kill-local-variable`

...but after running some experiments, this triggers the Emacs debugger when an
error is encountered (e.g. either *in* `init.el` or another package that is
evaluated during `init.el`'s evaluation).

Change-Id: I00d543735b1d816462ba18bad23867865d7af80e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4812
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 06:15:35 +00:00
William Carroll
df9a698c09 fix(wpcarro/emacs): Disable edebug's "h" KBD
...so that I can move left while debugging.

Change-Id: I7124da76dc51b0b5ca22a7e4a13482fc8da30150
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4811
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 06:10:33 +00:00
William Carroll
5b1864422f feat(wpcarro/git): Ignore private-keys-v1.d
From `man gpg`:

> --secret-keyring file
>      This is an obsolete option and ignored.  All secret keys are stored in
>      the ‘private-keys-v1.d’ directory below the GnuPG home directory.

Change-Id: I1178c3d4a1aafa10e058db15d293b906ea402a05
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4807
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 06:10:32 +00:00
William Carroll
4c51588850 refactor(wpcarro/emacs): Tidy-up bookmark.el
TL;DR:
- Prefer dash.el
- Remove "current project" bookmark
- Prefer named functions instead of lambdas to (hopefully) improve `which-key`

Change-Id: I090bf372316702f313284a80af9dd076dbf270a3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4806
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 06:10:32 +00:00
William Carroll
821b60a2c9 refactor(wpcarro/emacs): Remove KBD logic from buffer.el
Part of an overall cleaning:
- remove tests from library files
- move KBDs from library files to top-level keybindings.el

Change-Id: I0fb80aa4a8d5cc77ee7ecca6206d5e4d62c93491
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4801
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 06:06:29 +00:00
William Carroll
51a8faad74 chore(wpcarro/emacs): Remove tests from buffer.el
More cleaning...

Change-Id: I4ff450879f0cda9b3a8e8dab61519a4d8c342c91
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4800
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 06:06:29 +00:00
William Carroll
33e3f2f66a feat(wpcarro/emacs): Prefer Vim style of word-searching
In my opinion the following versions of compound words should be searched
similarly...

- `testingThisOut`   (camel case)
- `TestingThisOut`   (class case)
- `testing_this_out` (snake case)
- `testing-this-out` (kebab case)

...but Emacs's default searching treats the snake and kebab cases differently,
which makes it difficult to search for buffer-local occurrences of symbols in
Python, Elisp (among other languages).

This has been bothering me for some time. I must've attempted to fix this awhile
ago by using `setq` (when I should've used `customize-set-variable`, which makes
me wonder: how much of my configuration is flaky because I'm using `setq` where
I should be using `customize-set-variable`?

For more context about this change, see `describe-variable` for
`evil-symbol-word-search`.

Change-Id: Ie03f0da119f59e04abc5de3143aa6edaf6115168
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4804
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 06:00:27 +00:00
William Carroll
89a5d93b24 feat(wpcarro/emacs): Enhance markdown editing experience
See comments in the code for context.

Change-Id: I0791222881788b89612359c0b3b263dc7dc9bd63
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4803
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 06:00:26 +00:00
William Carroll
9098920f0a feat(wpcarro/scratch): create a proof-of-concept blockchain server
> You cannot get educated by this self-propagating system in which people study
> to pass exams, and teach others to pass exams, but nobody knows anything.  You
> learn something by doing it yourself, by asking questions, by thinking, and by
> experimenting.
> - Richard Feynman

In the spirit of learning by doing, I decided to implement a simple blockchain
server. More work remains, but I'm tired after working on this for ~2-3h. I'd
like to reimplement this from memory using a statically typed language like
Haskell. I'd also like to implement node
discovery (https://en.bitcoin.it/wiki/Satoshi_Client_Node_Discovery) because
that is still something I don't quite understand. But I'm signing-off for
now...

Change-Id: I74f424e7f52ffbf81eaad420d7d5205da66d33b5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4802
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 06:00:26 +00:00
William Carroll
afabc77f74 feat(wpcarro/emacs): Include *scratch* and *Messages*
While these aren't technically source code buffers, but the purpose of
`buffer-ivy-source-code` is to create a list of buffers I likely want to switch
to, which includes these.

Change-Id: If3f7b6afa6282a3fb8d0d4a3f7aa4ee64287df65
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4799
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:55:23 +00:00
William Carroll
02db464030 fix(wpcarro/emcas): Debug "Logout" command
gLinux doesn't use `lightdm.service` (you can confirm this by seeing if
`lightdm` is listed in the units reported by calling `systemctl`). I found
`gdm` (i.e. Gnome Display Manager), and it appears that calling...

```shell
systemctl restart gdm.service
```

...does the trick.

Change-Id: Iff47d20db57ce11138f9af943fe64cc18068f5bb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4798
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:55:22 +00:00
William Carroll
4977ffacb0 fix(wpcarro/simple_vim): Debug simple_vim
No need to `mkDerivation` when I'm already using `writeShellScriptBin`. Also:
prefer `<CR>` instead of `<Enter>` for consistency reasons.

Change-Id: Ida8ecec0bd4e3e8c0fbb1ea34eefd61a0fefb4bc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4797
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:55:21 +00:00
William Carroll
54d3cc78dd fix(wpcarro/emacs): Change display.el to use Display Port
I switched cables recently.

Change-Id: I6026cf6598f857e02c29a039885336fb3c147ecb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4796
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:55:20 +00:00
William Carroll
aa348226a2 feat(wpcarro/emacs): Define new device
For my latest workstation.

Change-Id: Idd18c07f05f2afdf57fde25a5aad627759ca1643
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4795
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:55:20 +00:00
William Carroll
3693221522 chore(wpcarro): Update README.md
Format GPG section to (hopefully) improve readability.

Change-Id: Ief731ea640efc2233cc691b0b06a46500eef5672
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4794
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:53:42 +00:00
William Carroll
a415bdaeb5 feat(wpcarro/gpg): Zip output from configs/.gnupg/export.sh
This makes it easier to `scp` to the new host.

Change-Id: If746a71204c97255547b579252622005b4d13b20
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4793
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:53:42 +00:00
William Carroll
fad38387af feat(wpcarro/cryptopals): Support repeating key cipher
I think this is a form of symmetric encryption where the passphrase (e.g. "ICE")
is repeated (e.g. "ICEICEICEICEI...") until it matches the length of the
cleartext string; after that, the two byte-strings are XOR'd against one another
and then encoded as hexadecimal creating the ciphertext.

Change-Id: Ib148f06d6c42a41377d1df1f0738d77da935a9f6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4789
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:51:16 +00:00
William Carroll
7aaddb3d31 fix(wpcarro/cryptopals): Update cleartext scoring algorithm
Create a frequency table of alphabetic characters by reading each character in
"Alice in Wonderland"; use this frequency table to score cleartext when decoding
ciphers.

Change-Id: Id322af64d792c15231a1a02794f396c46196c207
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4788
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:51:15 +00:00
William Carroll
7ab4493c75 refactor(wpcarro/emacs): Prefer $PATH resolution of scrot
...instead of the harder dependency on the installation location.

Change-Id: Ifdde2ab8b3b6069c653012ad5599007d4467a188
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4815
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:47:14 +00:00
William Carroll
ff6e1adb8a fix(wpcarro/emacs): Support inserting "+" in a vterm terminal
Much better :)

Change-Id: Ib8efd5db04ae011f634dcd952fdd5875905ec3e6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4814
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:47:13 +00:00
William Carroll
f1fbddb121 fix(wpcarro/emacs): Restore ability to paste in visual mode
I filed an issue with evil in case there's a potential bug-fix or feature:
https://github.com/emacs-evil/evil/issues/1537

Change-Id: Ia9293b59696ac693f9bffb4d3505ea8fa2d59784
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4810
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:42:11 +00:00
William Carroll
ea21339e5f feat(wpcarro/emacs): prefer shorter tab-width
The default of eight spaces seemed excessive.

Change-Id: Id5cbbdc557a7b1d467c7c20390f58b00045a50cf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4809
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:42:10 +00:00
William Carroll
7c3fef10d9 refactor(wpcarro/emacs): Prefer simpler project-find-file
This version better interacts with google3.

Change-Id: Ib65618dbdc7d76a27479a4e0cfc52c079537dc64
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4808
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:42:10 +00:00
William Carroll
c022f2ba2e feat(wpcarro/diogenes): Support monsterpoker.app
Deploy dummy Shopify site as both a learning exercise and proof-of-concept for
Raf's card game, Monster Poker.

Change-Id: I7bc91dcbf4e171c5e169140f5e9d811303e1285f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4787
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:33:06 +00:00
William Carroll
9ea66aee06 chore(wpcarro/diogenes): Update README to consume deploy-diogenes
Fixing stale documentation

Change-Id: I607dc69377a4db6f9a4a35e39793486c20a8cb4c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4786
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:33:05 +00:00
William Carroll
f9e3ff80af fix(wpcarro/diogenes): Ensure PTR has trailing dot
For example see how Google does it:

```shell
$ dig google.com
142.250.64.206
$ dig -x 142.250.64.206
mia07s56-in-f14.1e100.net. # <- trailing dot
```

Change-Id: I300ffdc03cc740628a4f07f7822e8fadaf12a57a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4755
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:33:03 +00:00
William Carroll
ca6be786a1 chore(wpcarro/website): Templatize website
Preferring billandhiscomputer.com in lieu of wpcarro.dev. wpcarro is a bit of a
tough username for others to remember and for me to say out-loud (it usually
involves me spelling it and explaining to others why Carroll is missing
2x-Ls). I think it's time for a change.

During the transition, I don't want to deal with stale links to
https://wpcarro.dev, so I'm templatizing more of my website and blog so that
these values can be replaced.

Expect more forthcoming changes.

Change-Id: Ic2f5519e6b0d76fcb8b737bf50009e8388f1b178
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4754
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:33:02 +00:00
William Carroll
44f20ea810 feat(wpcarro/diogenes): Support PTR record configuration
This support reverse-DNS lookups.

I encountered a problem where I accidentally deleted my instance's
`nat_ip` (external, ephemeral IP). I needed to run...

```shell
terraform apply -replace=google_compute_instance.diogenes
```

...which invalidates terraform's local cache of the state. I believe this used
to be called `terraform taint`. Things are mostly WAI, with one known issue:
quasselcore and billandhiscomputer.com complain about missing SSL certs, but I
believe this is a race-condition. Calling...

```shell
systemctl restart quassel.service
```

...resolves the issue for quassel. Unfortunately the same doesn't work for
nginx.service, but after a bit of time https://billandhiscomputer.com "just
works". Clearly I'm not sure what's going on here. At least not yet...

Change-Id: I9f059655cb6e83d56618b77cfe4ed38283614ef6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4753
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:33:01 +00:00
William Carroll
d6725296ca fix(wpcarro/diogenes): Ensure quassel can read ACME cert
Add quassel to the nginx group because only user=acme and group=nginx can read
/var/lib/acme/*

Change-Id: If456b8ebf43ee098cd8007c3c6235c78c1071250
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4752
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:33:01 +00:00
William Carroll
6500fb551f feat(wpcarro): Define deploy-diogenes helper
TL;DR:
- Mimmick depot's bin -> __dispatch.sh for personal utils
- Define deploy-diogenes to more tighten my feedback loop

Change-Id: I2b12a1c32a955574f5be5d4f38025bd97e9c7b77
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4751
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:31:56 +00:00
William Carroll
d24eef0735 fix(wpcarro/terraform): Drop source_tags (prefer source_ranges)
source_tags means:

> the firewall will apply only to traffic with source IP that belongs to a tag
> listed in source tags.

This mechanism exists (presumably) for local networking between instances that I
manage. For ingress traffic, I'd like to open these ports to the wider
internet.

Change-Id: If0963c853f10f3c205581cce100671714a5f6a3a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4750
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:31:54 +00:00
William Carroll
ff0552c758 feat(wpcarro/nixos): Include whois in my coreutils
More DNS debugging tools

Change-Id: I5ac192a1f8811149ae3eb0133c7d06496753248b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4749
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:31:53 +00:00
William Carroll
504a409bd2 fix(wpcarro/diogenes): Launch billandhiscomputer.com
These are now available at https://billandhiscomputer.com. I still need to
update the website copy and transfer wpcarro.dev over from Google Domains. I
think I prefer billandhiscomputer (username bill, bill_and_his_computer,
bill-and-his-computer, the_real_bill), so I may deprecate wpcarro. We'll see...

Change-Id: Ia7831ee4813e2cf639047d22d59d302a50e06e66
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4748
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:31:51 +00:00
William Carroll
39e59c740d feat(wpcarro/diogenes): Nixify diogenes's Terraform configuration
TL;DR:
- Define googleCloudVM function to provision NixOS VMs on Google Cloud.
- Consume googleCloudVM in diogenes/default.nix
- Define README.md for basic usage instructions (subject to change).
- Delete diogenes's HCL
- Remove `diogenesSystem` from meta.targets

I'm still having trouble with DNS:
- I need to transfer the Google Domains config to Cloud DNS
- `host billandhiscomputer.com` is NXDOMAIN, so I don't trust my tf DNS config
- This is preventing me from getting SSL certs, which blocks my website, quassel

Change-Id: If315876c96298e83a5953f13b62784d2f65a1024
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4747
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:31:50 +00:00
William Carroll
c4dddb8481 fix(wpcarro/keys): Append wpcarro@gmail.com to SSH keys
I wasn't sure if removing the email portion would be a schema error, but NixOS's
GCE image relies on the tripartite structure, and maybe other things do too.

Change-Id: I1b045fad974a7227d1980fff19c9d4f48ba58356
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4746
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:31:49 +00:00
William Carroll
3198c39a66 feat(wpcarro/configs): Define configs/.gitconfig
On non-NixOS configs, `git` has been complaining about missing `--global`
variables for `user` and `email`.

TODO(wpcarro): Support this in google-briefcase instead.

Change-Id: Iae29fe9aaa6c13295063137f241eeb5861d4b244
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4792
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 04:28:36 +00:00
William Carroll
e7def7ed68 chore(wpcarro): Simplify README.md
I rewrote my `README.md` most recently to show some managers what type
of side-projects I was working on. After successfully transfering to SRE
internally, I don't need the `README.md` to be a marketing document but
rather a tutorial for my future self. This change is a step in that
direction.

Change-Id: Ieaf0e72c8a33a163e6b6adefd76665ca675e8462
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4791
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 04:28:35 +00:00
William Carroll
ce87105c6d refactor(wpcarro/configs): Nixify configs/{install,uninstall}
After receiving another computer from Google and attempting to "easily"
install my configuration, I realized that I had some holes. In reality
these could (and perhaps should) be easily tested using CI that attempts
to cleanly install my configuration on various platfoms (e.g. Debian,
NixOS), but I'm not interested in supporting something like that (at
least not at the moment).

For now, it suffices to nixify some of the lingering shell scripts with
implicit dependencies on tools like `stow`.

> Don't let perfect be the enemy of good?

Change-Id: Ifdeac2c855e46973e3a4ea416418109a748eb41d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4790
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 04:28:35 +00:00
William Carroll
4cf86f2e53 feat(wpcarro/scratch): Upload my solutions to cryptopals
More beginner problems/solutions for CTF-style challenges.

Change-Id: Ide229e99e3ccc1ede5a5ca1c2ad039498e49ea4c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4740
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-29 19:34:02 +00:00
William Carroll
5c0ec720af feat(wpcarro/scratch): Upload my solutions to picoCTF challenges
Just getting my feet wet...

Change-Id: Ia1db0c69fe7d5ea5cb5585853d0688ef97f2680a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4739
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-29 19:34:02 +00:00
William Carroll
d3c20a44d3 feat(wpcarro/terraform): Attach 100GB external disk to VM
I'm mimmicking the setup of diogenes-1 until I switch everything over to the
terraform-defined diogenes.

Change-Id: Ic9b54909696616b5f206bbf982ff556f053c424e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4738
Tested-by: BuildkiteCI
Reviewed-by: zseri <zseri.devel@ytrizja.de>
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2021-12-29 18:51:58 +00:00
William Carroll
b810956802 feat(wpcarro/terraform): Support SSH
Supporting SSH turned-out to be a bit of a saga... Thank you @espes and @grfn
for the pointers.

Problem: When I originally setup my Google VM, I followed this tutorial,
https://nixos.wiki/wiki/Install_NixOS_on_GCE, so I ended-up installing
`nixos-20-03`: an older version of NixOS, (the newest version in `gsutils ls -l
gs://nixos-images`). Critically, I missed this important footnote:

> NOTE: Newer images (from 20.09 on) won't be available at the bucket above, and
> will instead need to be found at
> <nixpkgs/nixos/modules/virtualisation/gce-images.nix>.

It turns out that *newer* images include this script...
https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/fetch-instance-ssh-keys.bash
...which reads the key, "sshKeys", from the Google metadata server and copies
the value into /root/.ssh/authorized_keys.

To make matters a bit misleading, the NixOS script expects the key to be
"sshKeys", but Google deprecated that in favor of "ssh-keys" (hence why both
versions appear in this commit).

TL;DR:
- upgrading to a newer NixOS image
- adding an empty access_config block so Google will assign my VM an external IP
- removing oslogin (not necessary to do, and I may add it back later)
- adding my public SSH key as metadata

Change-Id: If624fe77afd47b31fa7be0a1dd4a55512317eef0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4737
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2021-12-29 18:49:57 +00:00
William Carroll
3681b0ce1d feat(wpcarro/marcus): Support home-manager
For now:
- git confg
- picom: X compositor
- dunst: system notifications (not working for quassel)

I still need to port various configs and ensure I support both gLinux and NixOS
machines.

Change-Id: I31a635eaacac25ef6219e079fc968d2ece026a5f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4736
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-29 18:49:56 +00:00