about summary refs log tree commit diff
path: root/users/wpcarro
AgeCommit message (Collapse)AuthorFilesLines
2022-01-08 r/3564 fix(wpcarro/emacs): Ensure debug-on-error is globally setWilliam Carroll1-0/+1
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 r/3563 fix(wpcarro/emacs): Disable edebug's "h" KBDWilliam Carroll1-0/+11
...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 r/3562 feat(wpcarro/git): Ignore private-keys-v1.dWilliam Carroll1-0/+1
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 r/3561 refactor(wpcarro/emacs): Tidy-up bookmark.elWilliam Carroll2-15/+18
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 r/3560 refactor(wpcarro/emacs): Remove KBD logic from buffer.elWilliam Carroll2-15/+16
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 r/3559 chore(wpcarro/emacs): Remove tests from buffer.elWilliam Carroll1-21/+0
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 r/3558 feat(wpcarro/emacs): Prefer Vim style of word-searchingWilliam Carroll1-1/+1
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 r/3557 feat(wpcarro/emacs): Enhance markdown editing experienceWilliam Carroll1-1/+4
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 r/3556 feat(wpcarro/scratch): create a proof-of-concept blockchain serverWilliam Carroll3-0/+286
> 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 r/3555 feat(wpcarro/emacs): Include *scratch* and *Messages*William Carroll1-1/+5
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 r/3554 fix(wpcarro/emcas): Debug "Logout" commandWilliam Carroll1-1/+1
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 r/3553 fix(wpcarro/simple_vim): Debug simple_vimWilliam Carroll2-15/+9
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 r/3552 fix(wpcarro/emacs): Change display.el to use Display PortWilliam Carroll1-2/+2
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 r/3551 feat(wpcarro/emacs): Define new deviceWilliam Carroll1-4/+9
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 r/3550 chore(wpcarro): Update README.mdWilliam Carroll1-2/+4
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 r/3549 feat(wpcarro/gpg): Zip output from configs/.gnupg/export.shWilliam Carroll1-7/+10
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 r/3548 feat(wpcarro/cryptopals): Support repeating key cipherWilliam Carroll1-0/+16
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 r/3547 fix(wpcarro/cryptopals): Update cleartext scoring algorithmWilliam Carroll3-11/+45
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 r/3546 refactor(wpcarro/emacs): Prefer $PATH resolution of scrotWilliam Carroll1-4/+1
...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 r/3545 fix(wpcarro/emacs): Support inserting "+" in a vterm terminalWilliam Carroll1-1/+4
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 r/3544 fix(wpcarro/emacs): Restore ability to paste in visual modeWilliam Carroll1-2/+3
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 r/3543 feat(wpcarro/emacs): prefer shorter tab-widthWilliam Carroll1-0/+3
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 r/3542 refactor(wpcarro/emacs): Prefer simpler project-find-fileWilliam Carroll1-15/+4
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 r/3541 feat(wpcarro/diogenes): Support monsterpoker.appWilliam Carroll3-0/+50
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 r/3540 chore(wpcarro/diogenes): Update README to consume deploy-diogenesWilliam Carroll1-6/+2
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 r/3539 fix(wpcarro/diogenes): Ensure PTR has trailing dotWilliam Carroll1-1/+1
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 r/3538 chore(wpcarro/website): Templatize websiteWilliam Carroll5-31/+44
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 r/3537 feat(wpcarro/diogenes): Support PTR record configurationWilliam Carroll1-0/+6
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 r/3536 fix(wpcarro/diogenes): Ensure quassel can read ACME certWilliam Carroll1-0/+3
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 r/3535 feat(wpcarro): Define deploy-diogenes helperWilliam Carroll4-2/+42
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 r/3534 fix(wpcarro/terraform): Drop source_tags (prefer source_ranges)William Carroll1-1/+1
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 r/3533 feat(wpcarro/nixos): Include whois in my coreutilsWilliam Carroll1-0/+1
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 r/3532 fix(wpcarro/diogenes): Launch billandhiscomputer.comWilliam Carroll1-52/+51
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 r/3531 feat(wpcarro/diogenes): Nixify diogenes's Terraform configurationWilliam Carroll5-178/+331
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 r/3530 fix(wpcarro/keys): Append wpcarro@gmail.com to SSH keysWilliam Carroll1-3/+3
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 r/3529 feat(wpcarro/configs): Define configs/.gitconfigWilliam Carroll1-0/+3
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 r/3528 chore(wpcarro): Simplify README.mdWilliam Carroll1-5/+12
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 r/3527 refactor(wpcarro/configs): Nixify configs/{install,uninstall}William Carroll2-6/+25
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>
2021-12-29 r/3501 feat(wpcarro/scratch): Upload my solutions to cryptopalsWilliam Carroll6-0/+409
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 r/3500 feat(wpcarro/scratch): Upload my solutions to picoCTF challengesWilliam Carroll9-0/+107
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 r/3499 feat(wpcarro/terraform): Attach 100GB external disk to VMWilliam Carroll1-0/+11
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 r/3498 feat(wpcarro/terraform): Support SSHWilliam Carroll1-5/+8
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 r/3497 feat(wpcarro/marcus): Support home-managerWilliam Carroll3-0/+87
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-28 r/3489 style(wpcarro/terraform): Apply terraform fmt to filesVincent Ambo1-9/+9
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 r/3486 feat(wpcarro/terraform): Configure firewallWilliam Carroll1-2/+20
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 r/3485 feat(wpcarro/terraform): Encode diogenes as terraform configurationWilliam Carroll2-0/+51
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 r/3484 fix(wpcarro/blog): Fix broken post linksWilliam Carroll2-10/+7
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 r/3483 refactor(wpcarro/website): Prefer substituteAllWilliam Carroll8-82/+91
`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-27 r/3478 chore(wpcarro/website): Archive dusty, old websitesWilliam Carroll17-6033/+0
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 r/3477 fix(wpcarro/blog): Fix broken hrefs to blog postsWilliam Carroll3-124/+2
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