Commit graph

15452 commits

Author SHA1 Message Date
William Carroll
1e730c859d fix(wpcarro/all-systems): Remove diogenes from my top-level systems
When `findSystem` attempts to evaluate `system.config.networking.hostName`,
diogenes (because I've refactored its definition) causes the following error:

> You're trying to declare a value of type `string'
> rather than an attribute-set for the option
> `system'!

Change-Id: Ib23cb9aa9cadc1f71ad3369c903e587762d12cc0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4830
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-01-08 10:04:00 +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
Vincent Ambo
7cac51a995 feat(ops/auto-deploy): Support emergency stops via stop file
Adds a feature to emergency-stop deploys by simply running `touch
/var/lib/auto-deploy/stop`.

This can be useful in some situations, especially if there is a
process that reconciles service state (so that e.g. stopping the
unit's timer would be undone).

Change-Id: I233dfac365a578bfa4110eb605b50be079974ba4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4827
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-01-07 17:17:33 +00:00
Vincent Ambo
b8e011f792 chore(cache.tvl.su): Raise cache priority to 50
The priority of binary caches is decided by the remotes in Nix (???),
and by default nix-serve (which is *very* slow) has a lower priority
than cache.nixos.org (which means that it will be preferred over the
faster cache for paths that exist on both).

To avoid this, override the hardcoded (????) priority by serving the
nix-cache-info response directly from nginx instead.

Change-Id: I15a2d6618386d16edaf69f1c9257a36bd72132d2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4823
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: grfn <grfn@gws.fyi>
2022-01-07 01:30:00 +00:00
tazjin
1bd6c2a85b revert: "fix(ops/pipelines): Remove duplicated wait step"
This reverts commit 5e036ed9fc.

Reason for revert: This introduced a logic error since the remaining
step runs at the wrong point in the pipeline. Temporarily reverting to
having duplicated waits in order to clean up later.

Change-Id: Ifa6ece50dd22924f02efd7b790a5863ca1189af7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4841
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
2022-01-07 01:06:56 +00:00