Shared between `ava` and `tarasco`. Also define `lib/default.nix` to share
utility functions like `usermod` between NixOS configurations.
Change-Id: I65b8d37520426e164c9d5f722bee4731a3c6e641
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5942
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
This has been sloppy for awhile...
While I'm at it modularize some of my Nginx configuration.
Side note: might be time to decouple the Terraform provisioning stuffs from the
NixOS configuration, and this feels *too* tightly coupled.
Change-Id: Ida0da5462d938b956571321a67ba1f026fb0a7de
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5902
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
I was being warned while running `sudo rebuild-system`.
Change-Id: Ie8b730760e069086c2ef88f8edf00887cbbb5c93
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5627
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Tailscale is warning about this in `nix-build` via `trace`.
Change-Id: Ia44100f5a3cd12fbf9fd10dbf40bef10805aff12
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5749
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
See the comment or other CLs I've made in the past about earlyoom.
Change-Id: Ia4c0c61784aa3e76644de91a95e8b9fbdd743b54
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5748
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
This naughty RealTek wireless module crashes my machine. I'm also moving other
`boot`-prefixed options out of `hardware.nix` and into `default.nix`. In
general, I'm not *really* a fan of the distinction between the two files in the
first place.
Change-Id: Iabdc776afc78f00971f426c5931b7235c8c0ee20
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5747
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Named after the Mexican restaurant, El Tarasco, in El Porto, which I live 3m
walking distance from.
Change-Id: I2cd4b68eaa974ad6c8fec73e0566bc0b831c57a8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5743
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
I broke LVM (Logical Volume Manager - maybe?) when I did the following:
```shell
$ HOSTNAME=ava sudo rebuild-system
$ sudo reboot now
```
I had to rollback to the initial NixOS version and try again.
Change-Id: If90e5e23767392202425181be986f81deb5ddff7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5742
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Strange start to my Monday where I spent ~2h debugging my hanging
NixOS. Strangely I'm not sure I made any changes to my configuration to trigger
this, and I was finding this hard to reproduce:
- graphical X sessions hung (once when opening Chrome)
- TTYs hung (during `nix-build` and `rebuild-system`)
Per kn's recommendations whenever a system is hanging, see if it's reachable
over the network (e.g. SSH). Since I didn't have my laptop, I downloaded Termius
on my iPhone, which I used to mosh into ava, which is a surprisingly nice UX.
I suspect my machine (with only 8GB of RAM) was OOMing, but I'm not
certain. Thanks to grfn I installed `earlyoom`. For more commentary, check-out
Profpatsch's blog post about this: https://profpatsch.de/notes/preventing-oom
What went well:
- Thankfully I installed a Matrix client on my iPhone last week, which allowed
me to troubleshoot with the #tvl folks
AIs:
- I'd like some instrumentation like Prometheus, Loki (`journald`, `dmesg`), so
that I can accumulate troubleshooting information that isn't destroyed when I
reboot my machine (which I did 1/2-dozen times today).
- Consider adding `git` metadata to `system.nixos.label` to get more useful
information in a GRUB/EFI context.
More unknowns:
- Why can't I switch back to EFI (from GRUB) for my bootloader?
Change-Id: Ie2a5a15f5c0ead346d50e331fa2937f8f3453960
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5625
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
This has been useful while developing my NixOS installer.
Change-Id: I45fd5e1647248a6ebf277ffff3638587d8cc695d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5559
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
More tools I didn't know I'd ever become acquainted with until I started
supporting Windows Servers: remmina - for RDPing.
Change-Id: Id861535c4a6bc6d6223ce21e5da60c627c8995b3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5557
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
This allows me to use my device as a router (or in Tailscale terms: as an "exit
node").
Change-Id: I994e6c104c246364118155e934b11969a4d7066e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5555
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
ava isn't a laptop, so we shouldn't support roaming timezones. Let's hard-code
this to L.A. for now.
Change-Id: I06fa98909e4db8788b2ff8f0855f630beb54d882
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5456
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
While pattern-matching in Elisp is a bit unsightly, it works :)
Change-Id: I6766147095823f1a4e233832b0ef21f4c486e023
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5452
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
ava is my new (NixOS!) work machine :)
Change-Id: I1f089f00c02519d5d1d93d011f29075d53500e74
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5450
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
This never really got off the ground...
Change-Id: I3e712174c83c74e78e2886ea80264652e36ea27a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5457
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
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>
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
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
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
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>
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
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>
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>
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>