Commit graph

312 commits

Author SHA1 Message Date
sterni
508a62b603 chore(3p/sources): Bump channels & overlays
* Remove use of aliases that have been removed in nixpkgs commit
  a36f455905d55838a0d284656e096fbdb857cf3a:

  - ncat
  - x11
  - nologin
  - dbus_libs
  - emacsPackagesGen
  - man-pages
  - pulseaudioLight

Change-Id: Ide603bf48bc7f77e10e4aa715ba025aece3644fd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5387
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-03-19 17:11:59 +00:00
William Carroll
5b059b4b98 docs(wpcarro/simple-select): Add README 📘
Because documentation

Change-Id: I1d805331efd5cb3ca878a1b66774d0807f735872
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5349
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 23:19:10 +00:00
William Carroll
465ddb07bb feat(wpcarro/simple-select): Support readline-style KBDs
...and prevent REPL from crashing on parse/compilation errors. Better error
messaging would be quite nice as well.

Change-Id: I47d06fd74ef65bfa3f14f0b57a5516a908321da8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5348
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 22:59:07 +00:00
William Carroll
81138b25eb fix(wpcarro/simple-select): Support regexes
The python lib for sqlite doesn't support REGEXP, so we need to support it
manually.

Change-Id: I90670ff564d6fb40e8cee30c3d1509feb2c00857
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5347
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 22:59:07 +00:00
William Carroll
426cc2db2c feat(wpcarro/simple-select): Support CSVs
Convert CSVs to in-memory SQLite tables from which we query. Also read variables
from the command-line.

For now, I'd say this is MVP-status.

Change-Id: I8b7400e60da4b14eea25c3f4b47447497a4218c8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5346
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 22:46:05 +00:00
William Carroll
0e76f30c5b feat(wpcarro/simple-select): Execute SQL query on database
Connect REPL to SQLite for further integration testing.

Change-Id: Ie48a68eedf227dcf67d0262dd4672d53bbc6ec86
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5345
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 22:08:01 +00:00
William Carroll
9eefa2e484 feat(wpcarro/simple-select): Compile AST to SQL
Currently supports the SQLite flavor of SQL. Preliminary testing seems to show
encouraging results.

Change-Id: Ib2ed6a695352f41185c8e8abdadfd76ce38bdbcc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5344
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 21:58:00 +00:00
William Carroll
eb412699b6 feat(wpcarro/simple-select): Parse query language 🎉
Seems to successfully handle inputs like...

```
> (-fname:"William" lname:/C.*l/) OR (fname:"William" -lname:"Carroll")
```

Change-Id: I5277cfbc7d102158eab5e1e71b2d95aaf13508fd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5340
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 02:07:51 +00:00
William Carroll
b5f78e433c feat(wpcarro/simple-select): Define Parser class
Copy-paste from monorepo.

Change-Id: Iff51fa9b939fe7dec3952077b5764bcc45d96f24
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5339
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 02:07:51 +00:00
William Carroll
88a3051ae5 feat(wpcarro/simple-select): support tokenizer for query language
Support a tokenizer for a query language that looks like:

```
-fname:/W.*m/ lname:"Von Carroll"
```

Parser otw...

Change-Id: I2badf14a41313ca2f75dec20adbcf9031b22ab83
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5338
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-03-01 02:07:50 +00:00
William Carroll
7770ccf0e3 feat(wpcarro/simple-select): Support basic Scanner class
...alongside a small REPL to quickly test the functionality.

Change-Id: I3c2b3f060d82cd49488e00dec9b72f7b23e2b666
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5337
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-28 18:55:03 +00:00
William Carroll
7e65edcb16 feat(wpcarro/emacs): Define window-manager-move-window
Move the current window to a new named EXWM workspace and focus that workspace.

Change-Id: Ibb3d3b3df09c6853d2eaf02882714a5c62623d2b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5293
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-15 19:49:06 +00:00
William Carroll
79f93f3d85 feat(wpcarro/nix): Hard-code billandhiscomputer.com
...into the rebuild-diogenes script.

Change-Id: Ib5ae5e3fcf7534f5aa5fdd366b41500aa3a85f9e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5291
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-14 22:30:43 +00:00
William Carroll
9b267dbe99 fix(wpcarro/nix): Restore cleanup code for deploy-diogenes
This was temporarily commented-out and never uncommented.

Change-Id: If770721aa10c65c5601b9f53a2d1810aef57b61d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5290
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-14 22:27:42 +00:00
William Carroll
7ffcc25c1b docs(wpcarro/emacs): Remove wish list item
...because it's done.

Change-Id: Id9751e554305efa5bccea331bfd94017c5b5ba32
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5289
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-14 22:04:39 +00:00
William Carroll
9599b83ea4 refactor(wpcarro/emacs): Depend on MELPA's ivy-clipmenu
Instead of my local copy.

Change-Id: I8aecdfe5c5449e86dbdf9e06cd67874d5f80c87a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5288
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-14 22:01:38 +00:00
William Carroll
3506cd712c feat(wpcarro/emacs): Support C-v style pasting in ivy minibuffer
This is handy for pasting a git commit SHA in magit's checkout minibuffer.

I also removed the dependency on clipboard.el because clipboard-yank is defined
elsewhere.

Change-Id: I6872bf63e4ba9c2b186466d083e6798123d417cc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5286
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-14 21:57:38 +00:00
William Carroll
d052ab21fd fix(wpcarro/emacs): Debug bookmark-open
also add missing dependency on project.el

Change-Id: I4648f07eb31888c9c4bd6c094543b8d8ee05225a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5287
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-14 21:54:37 +00:00
William Carroll
5d09aa53dd feat(wpcarro/emacs): Support bookmark for /depot/users/wpcarro
Saving keystrokes every day. Right?

Change-Id: I8a2fd42c9139f87181ac203e1573be3823e18b56
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5283
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-14 20:23:23 +00:00
William Carroll
a8e76b24e8 refactor(wpcarro/emacs): Simplify bookmark.el
- narrow lib's scope and update documentation
- remove unnecessary dependencies

Change-Id: I5931a5a6e571466b3334dc02e88c9c283754d263
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5282
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-14 20:12:22 +00:00
William Carroll
a9effe690c fix(wpcarro/emacs): Add missing constants dependency
Thankfully CI caught this bug by evaluating my Emacs init script; however, this
could've been caught even earlier if each of my Elisp modules were packaged with
Nix and be individually evaluated.

That change will come soon enough...

Change-Id: I987bab22a388c43183f79ace41ed97be83578ba6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5285
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-14 20:12:21 +00:00
William Carroll
b7c6e83acb feat(wpcarro/todo-lists): Add CTA's curriculum as a CSV
TODO:
- import this into SQL
- support ST-like query syntax to simplify SELECT statements
- add server and web app to query the table
- deploy web app
- add URLs to table
- extend web app to track how often users hit these techniques in rolls

Change-Id: Icecfbbc5e457a1dddad7b37fc1c0752d6e4b62e1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5284
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-14 20:06:20 +00:00
William Carroll
8df073a1e0 feat(wpcarro/emacs): support avy
Trying out this workflow for awhile to see if I save some keystrokes.

Change-Id: I28532be04b1de971559c8df5a3717facbdfc4f00
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5278
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-13 19:09:39 +00:00
William Carroll
c351aa5af4 feat(wpcarro/emacs): define window-manager-workspace-move
Wrapper around `exwm-workspace-move` but uses `completing-read` and understands
my named-workspace structs.

Change-Id: Ibe565b3afaeec5c4a7f2b6d2d0c9c21bc8006962
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5275
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-13 06:47:10 +00:00
William Carroll
f988fb6925 feat(wpcarro/ssh): Add public SSH key for SVL 🔑
What he said ^

Change-Id: Ie6f73958a98d3edd9edb91a7738ca233c42810c8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5159
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-12 20:55:56 +00:00
William Carroll
4bb144542c chore(wpcarro/docs): wpcarro.dev -> billandhiscomputer.com
Stale documentation...

Change-Id: I1761b865fa8b62b64acff8664d265997201ebb8f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5181
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-12 20:52:59 +00:00
William Carroll
8fb1ff3f25 feat(wpcarro/diogenes): Support rebuild-diogenes
- deploy-diogenes: terraform updates + NixOS rebuilds
- rebuild-diogenes: NixOS rebuilds

Change-Id: Ibd6db7115d9919fa44ee9d318f88e1bf29e2bdce
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5160
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-02-12 20:47:57 +00:00
William Carroll
4f89dd3fdf feat(wpcarro/org): remember to expense home internet
...because free just tastes better

Change-Id: I7ca24be7e5e339844f8bfbbb6fc0e7a6efceb02b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5270
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-10 23:02:25 +00:00
William Carroll
3e650a4f36 feat(wpcarro/playbooks): add go/hallpass reminder
gotta get paid

Change-Id: If942281b3e8a20e883c96f8332170c0f73f2ddac
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5268
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-02-08 23:29:46 +00:00
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
Vincent Ambo
350c5eae46 style(wpcarro/terraform): Apply terraform fmt to files
This is going to be enforced in CI very shortly (it already kind of
was, but not really).

Change-Id: I8569d030e31230f077371bd1644b75f048271a0e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4728
Tested-by: BuildkiteCI
Autosubmit: tazjin <mail@tazj.in>
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2021-12-28 12:57:53 +00:00
William Carroll
413c421e8b feat(wpcarro/terraform): Configure firewall
When I include "80" and "443" in the allowed TCP ports, the ports don't appear
to be open, but when I add the tags "http-server" and "https-server", which I
don't control, they do. I'm not sure what's going on, but I don't want to let
perfect be the enemy of good...

Change-Id: I46097a9d80708d14261b0af34c16ab1129aa8107
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4725
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-28 02:31:51 +00:00
William Carroll
3a85d8cede feat(wpcarro/terraform): Encode diogenes as terraform configuration
Some reference commands for my future self (blog post forthcoming?):

```shell
$ nix-shell -p google-cloud-sdk terraform
$ gcloud auth application-default login # stateful
$ terraform init
$ terraform apply
```

What's left for feature parity?
- Encode 100GB external disk as resource
- Encode firewall as resource
- Ensure marcus can SSH to instance

Stretch goals:
- Spin-up fully NixOS-configured instances

Change-Id: If156a5b0a2a0f8bfdf2548a4b5f592a77409fcb5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4724
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-28 02:03:48 +00:00
William Carroll
c05c6920ee fix(wpcarro/blog): Fix broken post links
TL;DR:
- copy rendered posts to $out/posts
- update postUrl attr
- remove unused attrs

Change-Id: I027c20d6244e4626128788ad9aa1f1aad7855f32
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4723
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-28 00:20:38 +00:00
William Carroll
e107311cb8 refactor(wpcarro/website): Prefer substituteAll
`substituteAll` supports templating with @variables@, which I think really
cleans things up.

Change-Id: Icfad15ac9e174495ba02260d817f7330f1616c6f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4722
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-28 00:09:36 +00:00
William Carroll
3d1519c384 chore(wpcarro/website): Archive dusty, old websites
Change-Id: I07b6e70ec4026644733e58a2c5f2aa6696a038f3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4719
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-27 16:21:49 +00:00
William Carroll
1f8e606c12 fix(wpcarro/blog): Fix broken hrefs to blog posts
Remove remaining references to blog.wpcarro.dev

Change-Id: I364763459b195fc17753da4a7c5918ce5136e891
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4718
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-27 16:21:49 +00:00
William Carroll
1d4f88cbde feat(wpcarro/blog): Add a blog index page
TL;DR:
- Create an index page to list blog posts
- Drop blog.wpcarro.dev -> wpcarro.dev/blog
- Create fragments directory to host reusable static website components
- Consume fragments in wpcarro.dev and wpcarro.dev/blog for brand consistency

Change-Id: Ib8440300c008c3c0c5e5a6f207e4ea207dd41b47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4717
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2021-12-27 16:02:47 +00:00
William Carroll
bb72d16cce refactor(wpcarro/blog): Prefer depot.web.blog
Hugo is a bit too heavyweight for my taste.

Change-Id: I331bc5898bd40f1a03bbde8ad69fe3cc9f72c18b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4704
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-27 14:01:32 +00:00
William Carroll
4a84b4af26 feat(wpcarro/diogenes): Disable firewall 🔥
Rely on GCP's VPC configuration, which dedupes my configuration efforts.

Change-Id: Iab0751b2a73a4f41a82b2968ba6aa9ff73bf6ccc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4691
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-27 02:49:16 +00:00
William Carroll
3b709761b5 feat(wpcarro/diogenes): Support mosh
Let's see what mosh is all about...

Change-Id: I0439130f55dc056370397c3e4ea8039f888703c3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4690
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-27 02:41:15 +00:00
William Carroll
5600321d03 feat(wpcarro/website): Add slight horizontal padding for mobile 📱
The content needs small gutters to improve readability on my iPhone 12.

Change-Id: I751ae5387ad93c95729e642c21c37e481412c00e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4678
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-26 19:45:24 +00:00
William Carroll
7119918120 feat(wpcarro/website): Support drop-shadow on-scroll 📱
Thank you, Tailwind CSS, for making this easy.

Change-Id: I95f99bf480d78137797aef1e4d609acc509906a6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4677
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2021-12-26 19:31:22 +00:00
William Carroll
b97a8790ee feat(wpcarro/website): Add bottom padding to footer 📱
Breathing room

Change-Id: Ic7fe94194689a8a6189538487bb0ea82a4866c50
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4676
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-26 19:29:21 +00:00
William Carroll
c40d937023 fix(wpcarro/website): Link to //users/wpcarro instead of root
For depot link

Change-Id: Ia7f3edd5660a87ed4c6b15db60cbc3be033e1529
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4675
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-26 19:29:21 +00:00
William Carroll
35f0fffa58 fix(wpcarro/website): Adjust vertical padding in header
Looks better when scrolling on mobile.

Change-Id: Id5530ea12571e9470df0a76054c7426570c1a4e3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4674
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-26 18:20:14 +00:00
William Carroll
e8087acc7d feat(wpcarro/website): Add responsive styling for mobile 📱
Pretty easy with Tailwind CSS

Change-Id: I2acf6ef3b093fbd604fb17ca5334c909e2e24b2d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4672
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-26 17:35:09 +00:00
William Carroll
a68fe5b636 fix(wpcarro/website): Add top-0 to 👋
Without this, the hand is properly position only some of the time... it's almost
quantum-like behavior ⚛

Change-Id: I7d5d9ed953f84bd097623e9f8abb1b2140c5bdc3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4666
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-26 17:14:04 +00:00
William Carroll
9eb61fd959 feat(wpcarro/website): Revamp wpcarro.dev 🎉
- Include Tailwind CSS (use the CDN for simplicity)
- Update copy
- Add some easter eggs 🐰🥚

Change-Id: I329e3569506274f60faf1ac0b1e4a87e7e6c10f8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4664
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2021-12-26 17:04:03 +00:00
William Carroll
80ef71e995 feat(ops/auto-deploy): Support auto-deploy
Automatically rebuild the current system's NixOS config from the latest checkout
of depot.

Change-Id: I23aa7af50e16e985ac34df214e0905e770316e5e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4390
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: zseri <zseri.devel@ytrizja.de>
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-26 14:55:42 +00:00
William Carroll
1d10adb67c fix(wpcarro/diogenes): Admit traffic to wpcarro.dev:6698
It's difficult to know whether or not I need this. When I run the following
commands...

```
wpcarro@diogenes> nmap localhost
PORT     STATE  SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

wpcarro@diogenes> nmap wpcarro.dev
PORT     STATE  SERVICE
22/tcp   open   ssh
80/tcp   open   http
443/tcp  open   https
3389/tcp closed ms-wbt-server
```

...neither localhost nor wpcarro.dev reports 6698 being open even though 6698 is
configured to be open in both:
- diogenes/default.nix
- GCP console

Right now, quasselcore is WAI, so I don't want to invest more time into closing
this loop.

Change-Id: I3d68fd901314aa7d364abf9381dff101411e6d15
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4629
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-26 01:04:16 +00:00