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>
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>
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
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>
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
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>
Figured this out by opening web inspector for the discord web app and
looking at the responses for role memeber counts.
Change-Id: I0fa6418c4d1781a65ef50c9ed14665e2b142ae32
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4707
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
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
I have a (unconfirmed) suspicion that this is paying more in CPU time
than it's saving in disk space - regardless, I have a bounty of the
latter and a deficit of the former.
Change-Id: I3375b8d904e0878fd47c1845e3c3b9b6c6359189
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4700
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
This was originally intended to work around the issue caused by me
accidentally ending up proxy_set_header'ing the Host header twice (which
nginx *concatenates with slashes*, rather than overwriting!), but seems
sensible regardless to make that whole thing (hopefully) a bit less
brittle
Change-Id: I877fa594b46e88d1ba05e793832beab3d0aaccdd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4697
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Also update log deps so things actually log, using a new :outdated alias
based on antq
Change-Id: I6f87f474bea101fa1b396c519b234eb3aac1c4f1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4696
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Start of a production deployment of the app with nixos+terraform, using
provisioners and null-resources to provision nixos machines a'la espes.
Change-Id: I2ddaed76d0037dadbf9fc9e2ee27e9e67a852228
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4695
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Start setting up agenix with secrets in //users/grfn/secrets for
mugwump, starting with my cloudflare API key which I use for the ddns
from my home apartment
Change-Id: Ida66cb91da3415357a512039d6c23402f0ae9388
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4683
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
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
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
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
WIP: currently just a simple setup that creates an empty git repo if
it doesn’t exist yet, and writes a commit to it.
A simple database backed by a bare git repository.
WIP: Will speak a simple interactive protocol to query files and
update them atomically.
It could be made atomic on the git repo level, if a lock is taken
between reading the current commit ref and creating the commit.
Change-Id: I1fd30a046ac977063c3e08c36d96e835b35ff07d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3046
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
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
Rather than loading as the user types for the signup form, start the
page with the full list of attendees already loaded and filter that list
as the user types. There are never going to be more than 50 attendees,
so there's no perf cost here, and it's nice to have the list to scroll
through in the frontend.
Change-Id: Iba69b101856756801183979b9384503520b6701f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4624
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
...so that they can be properly tracked 🤓
Change-Id: I1e33bd5f0e0a114ef441a5f3f61f387b7afd8708
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4611
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
1. This is spamming my Emacs's *Warnings* buffer on init.
2. I recall this being buggy.
3. I'm not doing active Haskell development at the moment.
4. I'd prefer code-intelligence efforts be put into SourceGraph.
Change-Id: I57ba28ec0b2fa3607cd67261a90d134107166c47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4610
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
I couldn't get services.localtime to behave, but services.tzupdate WAIs. As long
as I have internet, my timezone on this laptop should synchronize with my
location.
Change-Id: Ie2fd0e742e080fb7d6dd1adcc87c9fd22eae032d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4609
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
DRY things up with this mixin.
Change-Id: I5791a50b01902734dff91d391e1aa90a21ce4fbb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4600
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
I should be doing most of my remote file editing using Emacs and Tramp, but
sometimes a CLI command triggers the EDITOR, which is `nano` by default. I can
control `vim` better than I can control `nano` within a vterm session, so I'm
trying this configuration for now.
Change-Id: I2023beadfe05a957bc5ddd6e6793a891521f301d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4599
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
This also changes the fuzzing infrastructure from proptest to cargo-fuzz,
and this lead to the discovery of two mishandlings of edge-cases:
* when a "path_to_store" is at the end of the input, it tried to access
the input slice out-of-bounds (the `just_store` test covers that now)
* non-ASCII characters lead to an out-of-bounds access in HalfBytesMask
(the `non_ascii` test covers that now)
Change-Id: Icaa2518dcd93e1789a2c0da4cf0fec46016d3bad
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4604
Tested-by: BuildkiteCI
Reviewed-by: zseri <zseri.devel@ytrizja.de>
This crate implements the scanner for finding references to store
paths in uncompressed binary blobs and text files.
It is currently a minimally working prototype and
it is probably a good idea to polish the interface further.
Change-Id: I8406f9d52d254fc3d660ea2b9bc9b7841cc815ec
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4596
Tested-by: BuildkiteCI
Reviewed-by: zseri <zseri.devel@ytrizja.de>
This is the result of `evil-indent` going wrong.
Change-Id: I8d68bcb790da03b974d478760bf1224b38d56249
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4594
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Hopefully this installs the KBDs for fzf, which is already installed.
Change-Id: Ice7555c45d38e2e07f9fb16d3ddfc5b971c93cf6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4593
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
DRYing up some of my configuration.
Change-Id: I137692789426efc6a6c6880029e605813674fdbe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4592
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
I use `python3` REPL as a calculator most often.
Side note: I don't have a clear model of which binaries belong in NixOS
configurations and which belong in my Emacs configuration. Here's a sketch of
what I'm thinking:
- shared (wpcarro's coreutils for fzf, ripgrep, git, etc)
- marcus
- diogenes
- wpcarros-emacs (see footnote)
Footnote: It might be redundant to install wpcarro's coreutils in Emacs on NixOS
environments, but I install wpcarros-emacs in non-NixOS environments, so I
depend on them there.
Change-Id: Ib2b87c8e4e04d167ccbf837e0f85606cbf272828
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4591
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Also sort my dependencies, which is why this diff is noisy.
Change-Id: I998ca354d94d4c6283f9fdf76b06c08b9972ced5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4590
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
I'm accustomed to using vim in a GUI terminal to edit remote files. I'm trying
to ween-off of this dependency in favor of using Emacs.
Change-Id: Ib71d18135a7a9ef6ef61dfce814fffbea79a36f7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4589
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
This is just a Big Old Button
Change-Id: I19f5d15562fe2e0ef26de0cc61d06604e92c9c00
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4587
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
This is much easier than the shitty keyboard layout switcher which
caused all kinds of terrifying bugs.
Unfortunately the layout switcher remains additionally because this
doesn't work with Quassel (Qt dropped support for XIM).
Change-Id: I7c58cebf9391216b6e7134d8c283d52cb18332de
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3497
Tested-by: BuildkiteCI
Autosubmit: tazjin <mail@tazj.in>
Reviewed-by: tazjin <mail@tazj.in>
Start working on styles for the app, beginning with a global
stylesheet/reset and styles for the nav.
Change-Id: Ie15e549d7bb4e0116582f4099752aa2503eb9ce7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4583
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Add support for importing the tsv that meetup exports into a list of
upserted attendees, and event-attendee joins.
Change-Id: I5f4ddc9fc63bcc6b0334bc3e1d3cbc4d5b99c21b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4570
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Git recently started warning about this behavior, which it's always had
and I've always liked, and I don't want the warning.
Change-Id: I19ae397770b271924cc975e5f8c50d6351ed29ce
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4569
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Trying to render ligatures (e.g. ->, <>) in the modeline causes Emacs to crash,
so I'm disabling ligatures.
I have a patch like this on my work machine. I'll eventually merge those commits
into depot, but that will have to wait until I'm back in California.
Change-Id: I5e408cbdb717d24c7d5f88b4c822bdf32f370eef
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4568
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
TL;DR:
- vterm-mgt-repopulate-cycle -> vterm-mgt-reconcile-state
- call vterm-mgt-reconcile-state everywhere to ensure state is consistent
- prevent vterm from swalling EXWM KBD (C-S-f)
- support vterm-mgt-select
- prevent type error in cycle-append
- pass t to (vterm t) to ensure it isn't a find-or-create
Change-Id: I0f6d20b8d4b7533c7f56baf796ca3467a85ec770
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4563
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Looks like symlinkManager is the only code depending on these variables, and the
dependency seems obsolete.
Change-Id: I7abe3c404ec9141f28e3eacd88388fb96ec2de88
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4548
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
TL;DR:
- prefer WPCARRO env-var to BRIEFCASE
- remove repository URLs from Emacs libraries
- prefer tvl-depot-path where possible
- reduce the scope of constants.el
- prune (some not all) stale CI configuration
Change-Id: I21e9130402502ec6fa2fc4b46753c890069be62d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4545
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
A brief eulogy:
Socrates was an Acer laptop that I bought at a used electronics shop in London
for 100 quid.
The laptop is no more...
it is perished...
it is deceased...
it's not pining for the fjords!
it is stone dead...
Change-Id: Ia00e9e8fa05b9faa54c27fe86d880ad31402e2c6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4546
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
the combination of this with zoxide on the shell is epic
Change-Id: I4773012cfe8b19562d6a66971114a25e9844a1f7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4513
Reviewed-by: tazjin <mail@tazj.in>
Autosubmit: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
TL;DR:
- support wpcarro.dev
- support blog.wpcarro.dev
- journaldriver (need to figure out how to install key.json)
Change-Id: I585008b6af74c58bbf831765e800323dabb2272c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4389
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
I should've done this awhile ago. I'm tired of having `nano` open in vterm
instances.
Change-Id: I784e4a7a3e8acba11105052b6c0fe1f6f9ac614b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4512
Reviewed-by: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
While I'm in Saint Lucia :)
Change-Id: I0e3b13d31e5fff7fa76e69adbd191716fb713325
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4422
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
This allows me to (e.g.) connect to wifi without being root.
Change-Id: Iba2e8516aa7a9d24e52d7afa0de0c4f31e39be16
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4421
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
On the fifth day, there was sound.
Change-Id: Idf0d3f06afa45311c360663da42fb3ed355344bd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4420
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Removing some keystrokes from my life at the cost of security. Thoughts,
comments, and concerns are welcome!
Change-Id: I04d877021c4ce15a4d432a6a73e38e60878521aa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4419
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
TL;DR:
- support marcus and diogenes in device.el
- define and consume device-laptop? fn
Change-Id: Ia6e1c2666cbd668466ef6b64a7c274d36b79d699
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4392
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
This'll be publicly hosted, and I don't want search engines knowing
about it.
Change-Id: I801217d11f6656b254698b852e5dfb4d96305a38
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4511
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
The code in //users/wpcarro/tools/monzo_ynab/ynab/client.go was not
valid Go and has been commented out.
Change-Id: Icb4003607f30294dcbf60132eb7722702c7f0d84
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4400
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: Profpatsch <mail@profpatsch.de>
Add a list of attendees visible only to authenticated users, with stats
about rsvps, events attended, and no-shows.
Change-Id: Ib9a0fe8acf8c616fb725c613494b37121a1ad0e4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4501
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Only authenticated users should be allowed to create events, etc.
Change-Id: I1f560365dbf583cf6cecf4a0798952f323bbd42e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4412
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
If a user already exists with the discord ID we just authenticated, just
return it rather than trying to create another user.
Change-Id: I582c4c8c55f6fb399295b3e691b0bc59e77151f4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4410
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Allow users with the Organizers role to sign in via a Discord Oauth2
handshake, creating a user in the users table and adding the ID of that
user to the session.
Change-Id: I39d9e17433e71b07314b9eabb787fb9214289772
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4409
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
diogenes "passed" CI because the file was named configuration.nix
(vestage from the NixOS default /etc/nixos/configuration). This CL fixes
some issues I encountered after running depot/bin/rebuild-system.
TL;DR:
- rename configuration.nix -> default.nix to trigger CI
- add diogenes to my systems
- add public SSH key
Change-Id: I24197b8936c201267db6f71f00099dce590eac1d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4388
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: tazjin <mail@tazj.in>
Autosubmit: wpcarro <wpcarro@gmail.com>
Any less and building 'awscli' is not possible ...
Change-Id: I99105b767f4afa4cf0d072d57b08963bc12ff994
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4391
Reviewed-by: tazjin <mail@tazj.in>
Autosubmit: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
This opens the door for a whole bunch of neat features.
Change-Id: I15066ca9d8fe38921ebc8c4e995bd282162a4577
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4359
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Right now this is just a sketch for a larger idea of writing a binary called
`create-installer` (see docs).
Change-Id: Ib8e2acfd5d350ccc344329d87983c415f166d02b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4358
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
All I know is that this extends my magit configuration for Gerrit support.
Change-Id: I35c9a264ff25ce6e08b7033e0e022d4047021f05
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4357
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
It's part of `evil-collection` now :)
Change-Id: Id69db08e538d10e46dc63c979d232aeb1a639f32
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4356
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Tis the season for a dark theme
Change-Id: I3a0354a3eaa4294e51f14e5af52a12be01e89300
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4355
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Something about the end-result of this doesn't feel quite natural to me.
Change-Id: Idaa7a991893d386110bd75f9288b4c3831a59cae
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4353
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Make some of the auto-generated code look a bit more like human-generated code.
Change-Id: I07f543b66275dc8be9db6d8106ef6045541574d3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4352
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Submitted via IRC, instead of the usual Google Groups
due to email issues.
Change-Id: I71a2bdfd10b02370df61bbba4dabc2f45b6c1009
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4384
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <mail@tazj.in>
It *appears* that the main trigger for the :title of an org element
being a list instead of a string is if it contains rich text properties
as children, eg links, bold text, etc. This defines a function
that *attempts* to turn all of those into a single string, for use in my
i3status bar for the currently clocked-in task.
Change-Id: Ib655595914e54cd0e01f0fee6d1352c98a9f1436
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4364
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
For modules that are gated behind a mkEnableOption, it's reasonable to
just provide them to all Depot-built nixos systems without requiring
people to explicitly import them. This defines a special module called
`default-imports.nix` which imports these modules (currently just
tvl-cache.nix and automatic-gc.nix, as I'm being rather conservative
adding things here to avoid breaking anyone's system), then provides
that module as one of the `modules` passed at the top-level
nixos/eval-config invocation.
Change-Id: I3be299ab10ae4c451ef11c514edb3c89318a2278
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4345
Tested-by: BuildkiteCI
Autosubmit: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
Seems to save some allocations and thus recover some performance
compared to the two separate folds we had before.
Change-Id: Ie3d283103e6a9b8aa702db633d9c988fda1b2903
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4348
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Add a shared nixos module for configuring whitby as a binary nix cache,
and refactor tverskoy to use this module.
This is enabled via an option to pave the way for including it as an
import in all depot-generated nixos configs at some point in the future.
Change-Id: I6dcc0e8eb48b1ac34457666dceebeedd5da6c526
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4344
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: grfn <grfn@gws.fyi>
Angle-bracketed references are a Nix anti-pattern, and thankfully this
repository enforces this as a standard.
TL;DR:
- Drop angle-bracketed references
- Change `briefcase` -> `users.wpcarro`
- Fix any resulting regressions
- Fix //users/wpcarro/tools/simple_vim
- Mark //users/wpcarro/boilerplate/typescript and related projects
as broken
- drop .skip-subtree file, enabling depot CI
Change-Id: I7153cbabafa617bfd6b199370cbec65cb75441f6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4325
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: wpcarro <wpcarro@gmail.com>
* move packages and adapt them for the depot structure instead of
briefcase
* drop linear-programming package, it didn't build anyways
Note that at least some of these packages (e.g. prove) are deprecated
upstream, but lets sort that out later.
Change-Id: I7f5a5faa29d57f060b21ac8e1706090866a82000
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4330
Autosubmit: tazjin <mail@tazj.in>
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
For this we create a directory containing a nix-inject.el file using
writeTextFile where we can string interpolate as much as we please and
merge that into a single emacs.d directory with the config *.el files
tracked in the normal tree using symlinkJoin.
Change-Id: I0e39591587a54527214783d4380456d2763da091
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4324
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Get flash working via a functioning cookie-store session middleware, and
display flash messages if present at the top of every page.
Change-Id: If5f267dee3f41ef7954ea82667822c596e1b0474
This version interpolated in by Nix in the lines above instead of
being loaded from Elisp, as that would require starting telega inside
of that build (which is a bit messy because of async elisp).
Change-Id: I775844acb6928db76516f06188b19c713f765ab8
This is supposedly better for battery health, and since the machine is
usually plugged in while in the office it might be a good idea.
Note for myself: `sudo tlp fullcharge` ~30 min before needing to leave
with a fully charged battery.
Change-Id: I3664264403f56c15e055822190f30c3a90c93ead
Replaces the functionality previously implemented here with the now
generalised implementation in passively.el
Change-Id: Ibe7a1b7d512ddcb700bc330cbdf62811399c6cfe
otherwise we'd return the string "nil", which with the substring-ing
that was happening would end up as "Inbox: i" in the status bar
Change-Id: I567a6042b592dd9313bfa22d480c22936494a8c1
For cases where a word raises more questions than are answered by my
existing notes, roots, translations and so on.
Change-Id: Ic9dd79ba4aef6e3c8e7e8e965195b67f7a0c65f3
Adds a set of words that I consider "known" (but that should be in the
most frequent word list anyways). This set can be populated by
invoking `mark-last-russian-word-as-known` after display, and is
automatically persisted.
Right now there's nothing automatically loading it back in, just as
there is nothing loading any of this automatically, that's for the
future.
Change-Id: I51ee4f37114c6b95925e8ad5bdc5dc9b8657bdad
This will make it possible to do operations on that word (i.e. marking
it as known, or opening the full definition page).
Change-Id: Ib77f7d2e4e96d6ab754b311a69f72e2b080657ac
This should keep up passive exposure to words, but needs a subsequent
function for filtering out things that are definitely known.
Since I'm keeping the frequent word list mostly intact the majority of
words are very basic, but it's those last 15-20% I'm interested
in (not completely imported yet).
Change-Id: I7a5684b8dca1fe5301e8b394be2627550a60e3c6
Adds a stupid macro that populates a 'russian-words' hash table in
which merged definitions of words are available.
Change-Id: Ide7825577ba26d63ff564e54601541f39ab5a1a6
If a creature has a weapon wielded, then they now use that weapon to
attack the player *instead of* their natural attacks. This uses a new
`creatureAttackMessage` field on the Item raw for the message to use.
Change-Id: I73614f33dbf88dd4c68081f15710fa27b7b21ba2
Add an `equippedItems` field to the CreatureType raw, which provides a
chance for generating that creature with an item equipped, which goes
into a new `inventory` field on the creature entity itself. Currently
the creature doesn't actually *use* this equipped item, but it's a step.
This commit also adds a broken-dagger equipped 90% of the time to the
"husk" creature.
Change-Id: I6416c0678ba7bc1b002c5ce6119f7dc97dd86437
* Enforce the U+0000 to U+10FFFF range in `count` and throw an error if
the given codepoint exceeds the range (encoding U+0000 won't work of
course, but this is Nix's fault…).
* Check if the produced bytes are well formed and output an error if
not. This indicates that the codepoint can't be encoded as UTF-8, like
U+D800 which is reserved for UTF-16.
Change-Id: I18336e527484580f28cbfe784d51718ee15c5477
Previously we would check the first byte only when trying to figure out
the predicate for the second byte. If the first byte was invalid, we'd
then throw with a helpful error message. However this made
wellFormedByte a very weird function.
At the expense of doing the same check twice, we now check the first
byte, when it is first passed, and always return a boolean.
Change-Id: I32ab6051c844711849e5b4a115e2511b53682baa
This implementation is still a bit rough as it doesn't check if the
produced string is valid UTF-8 which may happen if an invalid Unicode
codepoint is passed.
Change-Id: Ibaa91dafa8937142ef704a175efe967b62e3ee7b
This is not really used anywhere and kind of useless. A better
decodeSafe would never return null and instead make use of replacement
characters to represent invalid bytes in the input.
Change-Id: Ib4111529bf0e472dbfa720a5d0b939c2d2511de5
This function is also generally useful for readTree consumers that
have the concept of subtargets.
Change-Id: Ic7fc03380dec6953fb288763a28e50ab3624d233
builtins.genericClosure is a quite powerful (and undocumented) Nix
primop: It repeatedly applies a function to values it produces and
collects them into a list. Additionally individual results can be
identified via a key attribute.
Since genericClosure only ever creates a single list value internally,
we can eliminate a huge performance bottleneck when building a list in a
recursive algorithm: list concatenation. Because Nix needs to copy the
entire chunk of memory used internally to represent the list, building
big lists one element at a time grinds Nix to a halt.
After rewriting decode using genericClosure decoding the LaTeX source
of my 20 page term paper now takes 2s instead of 14min.
Change-Id: I33847e4e7dd95d7f4d78ac83eb0d74a9867bfe80
Creatures are going to have an inventory too now in addition to
characters, so all the data types and lenses and stuff that define
inventory need to be broken out into a separate module so the Creature
entity can use them.
Change-Id: I83f1c70d316afaaf2e75901f9dc28f79fd2cd31f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3901
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Because floating points, it's possible that a creature has reached their
destination even if the *progress* to that destination is at 0 - if that
happens, they should pick a new destination regardless. This fixes the
issue where creatures would occasionally get "stuck" and never move
after wandering around for a bit.
Change-Id: I01a11ce4bd448c25a818c886825e4fad56dffe03
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3885
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
... rather than launching it manually in a shell when I need it, which
is more often now that I have a large screen.
Change-Id: Ia526af98e513d29e70aeb093442465dce256c333
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3874
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
some... *ahem*... very insistent people have been asking for this,
despite the fact that it doesn't allow for diagonal movement.
Change-Id: Ic58e2435b34e27e3ed399c7b8f3bcbc1f634f6b3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3870
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Add a new "husk" creature raw, limited to only being generated on levels
>= 1, including support for actually doing that limiting.
These guys are gonna get daggers next!
Change-Id: Ic4b58dc7ee36b50ced60fec6912cd1b46269d55c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3868
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
The plan is to use this as a test bed for generating creatures wielding
items, but for know it just shows up on the ground in places.
Change-Id: I8b292606f425cd41bff9e52727f1094886777102
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3867
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
Start documenting the fields of the raw type YAML files and what they
mean, to make it easier to write new raw types.
Change-Id: I9672b757e89f1cc665d7e90078d83cfd87173d7f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3865
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
mount the host key in as a single-file volume, so the server can
actually read it.
Change-Id: I5fb58536717c91480d1f4610b6fb3258a36169e0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3864
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
The actual function we want for the format we're using is
decode_secret_key, not decode_openssh, apparently - covered this with a
toneest to make sure.
Change-Id: I659226169f213b8464b96aec6b94bf13fd80aac8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3863
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
A new section for my awesome website.
Migrates an old blogpost from the github repository.
Change-Id: I5fd0c2b2679a1367015fa098e3e787bbc0cdd973
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3293
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>