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
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>
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>
This extra nixpkgs import has been around for a while, but seems to no
longer be needed (this software is in nixpkgs).
Change-Id: I9932fe01bda97bd8b50ec9192ab185bea69657f9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5050
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Basically any system I have is going to want to be able to flash an
ergodox, so it makes sense to have these always present
Change-Id: I88f556d4484e282e712062a488321bf80baa87ac
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5028
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Use agenix for the buildkite ssh key and agent token on mugwump, instead
of storing stuff in /etc/secrets
Change-Id: I56951587b949fc0854e56f5c4e33b601e9cd964e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5027
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
somehow I managed to turn this *on*, but had no way of turning it off as
I didn't have a key.
Change-Id: Icd3d3c23595d73da634fc269fc1881f82650c1e5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5026
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Apparently meetup will just make the user ID the username sometimes...
idk what's up with this.
Change-Id: I19eaade2fd3394e6ff81c30692bf4a2899985025
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5022
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
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>
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>
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>
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>
It would left-associate in some nix version, this way it’s clear that
you want to join a path segment.
Change-Id: I82a00de720187d1faf908c842e396301ea435a97
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4886
Reviewed-by: Profpatsch <mail@profpatsch.de>
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
Temporarily use a master commit as some interesting failures have been
fixed there (yubikey-manager and notmuch).
* //users/tazjin/nixos/camden: The acme module was moved around, so we
need to adjust the disabled module path.
Change-Id: I21c6a1963ffe4205f3577f531ce10b778a82e2ff
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4865
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
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>
Now baba can start using it to populate config files from depot.
It’s not entirely working as expected, if stow finds a symlink dir
coming from a different stow, it won’t know how to split it up, so
some manual intervention is required in the beginning.
Change-Id: Ia2271308bf7994ea42e6d7c81c2f3fd94ddf63f3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4838
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
nix-home is (hopefully) gonna be a home-manager alternative for my
home directory.
Files are symlinked into the home directory via GNU stow (since that
is a tried and tested tool), so first step is to set up the base code
for that.
Implements a small tool that reads a single environment variable and
prints it to stdout.
Change-Id: Ifa3fd9f9e1cedc52c3002196d3971b02cb840e80
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4832
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
Autosubmit: Profpatsch <mail@profpatsch.de>
mostly to persist the configuration, which pins the tmpdir to a
sensible (persistent) location
Change-Id: I69693ed3a198b4aec281e53c5f7add4d0d8df657
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4834
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
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
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>
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>
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>
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>
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>
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>
...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>
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>
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>
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>
> 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>