Commit graph

132 commits

Author SHA1 Message Date
Griffin Smith
7d1ebe996c chore(gs/xanthous): Gitignore more state files
Gitignore:

- *.save, which I use for save-games I want to use as test case
  reproductions
- .tasty-rerun-log, which tasty-rerun uses to save which tests failed on
  the last run
- cabal.project.local-*, since I've got a file on my machine called
  cabal.project.local~0 so apparently that's a thing now

Change-Id: I07c391fa25a84e96efca6771997f280ff12826b5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3818
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-08 15:29:13 +00:00
Griffin Smith
5b4c4f0701 feat(gs/xanthous): Enable tasty-rerun
Rerunning only failed tests is nice! To use this, run `cabal new-run
test -- --rerun`

Change-Id: I9dc4d69749c3e3d5ba8d1661a2fdf73e49cd8ad5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3816
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-11-08 15:29:05 +00:00
Griffin Smith
bb980158a7 fix(gs/home): Move dunst shortcuts into i3 config
Dunst as of 1.7.0 apparently no longer supports keyboard shortcuts (so
much for semantic versioning) in favor of having them be bound in the
window manager to invocations of `dunstctl`.

Change-Id: Ic3f10a29061c19ea0002e0f6d596baeafa58d968
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3815
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-08 03:31:51 +00:00
Griffin Smith
56718d14b1 fix(gs/xanthous): Don't take up half-width for prompts
txtWrap takes up half the available width in the viewport, causing
the input for prompts to display way too far to the right of the actual
prompt. I'm not aware of any actual mutiline prompts, so using txt here
makes way more sense.

Change-Id: I7f62066f1b07b5d6ba2c7ffed77c87ae33b1dfa5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3814
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-08 03:31:51 +00:00
Griffin Smith
63524745c9 feat(gws.fyi): Mention xanthous ssh server
Change-Id: Icda55f85bcbb8e7743834b847dd595d31a138eb9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3813
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-07 23:02:23 +00:00
Griffin Smith
e9c3d2f6d9 feat(gs/mugwump): Run xanthous server
Add a nixos module for running the xanthous server in a docker
container, and install it on mugwump including a prometheus scrape
config.

Change-Id: Ifeb315845b7eef2ee33af98fa3f71acdd3d9fe6b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3812
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-07 23:02:23 +00:00
Griffin Smith
5327d238e3 feat(xanthous/server): Add simple prometheus metrics
Add a prometheus exporter and some simple prometheus metrics, so that I
can look at dashboards and get alerts for things like lots of
connections

Change-Id: Ic1e0568200299dc852b74da647a6354267ee7576
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3811
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-07 21:18:39 +00:00
Griffin Smith
77f0d62a2c feat(xanthous/server): Add derivation for docker image
This appears to work pretty nicely!

Change-Id: Icf52f58225ee2837b30ba6187ae3ba3c539de9df
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3810
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-07 21:05:39 +00:00
Griffin Smith
f9f5b0b199 feat(xanthous/server): Run with --disable-saving
Don't write to my disk, please, random internet people.

Change-Id: I1d199fc3675f6ec7630f598bbc33dc7ef7e02e68
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3809
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-07 21:05:39 +00:00
Griffin Smith
9577d97a8f feat(gs/xanthous): Allow disabling saving
Add a command-line parameter to disable the Save command, so people
don't save and fill up my disk when I'm running this on the internet.

Change-Id: I2408e60de2d99764ac53c21c3ea784282576d400
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3808
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-07 21:05:39 +00:00
Griffin Smith
e3724448a2 fix(xanthous/server): Accept password authentication
Accept password authentication in addition to public key authentication,
but ignore the actual password, so that clients without ssh keys
configured (or configured to send no ssh keys) can authenticate.

Change-Id: I86130b9725d1928ac45b5db55f18c09687ee0fd5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3807
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-11-07 21:05:39 +00:00
Griffin Smith
94be8ad755 feat(gs/xanthous): Add SSH server application
Add the start of an ssh-compatible server application for playing
Xanthous over ssh. The idea here is that the user can ssh with whatever
username they like (defaulting obviously to their login username) and
then that gets passed as the --name flag to xanthous as they play.

Change-Id: I39eec288ac8e22a165e859479888d78158a58818
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3806
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-11-07 21:05:39 +00:00
Griffin Smith
b68414c66b fix(gs/xanthous): Fix numAliveNeighbors{,M} on the edge
numAliveNeighbors was doing bounds checks too aggressively, resulting in
always returning 8 for points on the edge, meaning walls weren't getting
properly created for those points, making edges of the map open to walk
through.

Change-Id: Iada6be46ce7cc77ce99a320b7310008898b89273
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3805
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-06 17:34:46 +00:00
Griffin Smith
eeafd0fa0e fix(gs/xanthous): Don't gen dupe tutorial messages
Don't generate tutorial messages on levels other than the first.

Change-Id: I7681377461b92f5d5015931b0088bef9d358d2e4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3804
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-06 17:34:46 +00:00
Griffin Smith
580e37ff64 refactor(gs/xanthous): Use a Word for the level number
Using a signed Int here is a little silly, since we can never have
negative levels.

Change-Id: Ibe03be5014226e07dfa6f78d8360301bc1b7c9b1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3803
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-06 17:34:46 +00:00
Griffin Smith
e0bec49b39 fix(gs/xanthous): Update hie.yaml for new app/ directory
Change-Id: I87c82f22313285085ac53485613b7d9f91b52ed2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3802
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-06 15:52:02 +00:00
Griffin Smith
ff6c008d78 feat(gs/xanthous): Default to the current save file
When saving, default to the save file that was loaded for the game if
any. To support this, this also makes text prompts support a default,
which will be used if no value is input.

Change-Id: I72a826499d6e987b939e3465a2d29167e53416be
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3801
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-06 15:52:02 +00:00
Griffin Smith
18315b2fb6 fix(gs/xanthous): Preserve character state when going up stairs
Carry over everything except the character's position when going up
stairs, so that eg the character doesn't lose everything they picked up
and instantly heal to full when going up a level.

Change-Id: I08513578a72f2410a363bbadbb273d95826a3f1b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3766
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-10-30 17:16:21 +00:00
Griffin Smith
ddfea5aca0 fix(gs/emacs): Fix directory for xanthous capture template
Change-Id: Ie06086f919656a3ad3673934a1f1c2d266622621
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3765
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-10-30 17:16:21 +00:00
Griffin Smith
61802fe106 feat(gs/xanthous): Allow throwing rocks
Implement a first pass at a "fire" command, which allows throwing rocks,
the max distance and the damage of which is based on the weight of the
item and the strength of the player.

Currently the actual numbers here likely need some tweaking, as the
rocks are easily throwable at good distances but don't really deal any
damage.

Change-Id: Ic6ad0599444af44d8438b834237a1997b67f220f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3764
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-10-30 17:16:21 +00:00
Griffin Smith
352c75630d feat(gs/xanthous): Send message when resting
Change-Id: Ib1e7ae6dfcbc2d2e86a28b401e67cd5dd22d6281
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3763
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-10-30 17:16:21 +00:00
Griffin Smith
263260bbdf feat(gws.fyi): Host ssh key
Change-Id: I387ead1daa65a3b39c3771f95f5f6734aebabea9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3737
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-10-20 14:07:34 +00:00
Griffin Smith
d70cb4c641 feat(gs/home): Upgrade discord to 0.0.16
Change-Id: I2300fc7345dcd644b954c1232bc8a5f0a1858d00
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3736
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-10-20 14:07:24 +00:00
sterni
465c9e7257 refactor(grfn/keyboard): use pkgsCross.avr's default gcc
The default gcc version for pkgsCross.avr.buildPackages is 10.x, which
seems to be able to build the layout derivation just fine.

Change-Id: Ib7790419f38121ea2b1a09c790ef3a04afc0f9f8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3712
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-10-14 21:23:37 +00:00
Griffin Smith
05074550fe fix(gs/emacs): Fix packer-format-buffer
The previous impl of this was formatting the pre-save contents of the
buffer, effectively preventing saving any changes (oops).

Change-Id: I17d4b8ba0943964d700f7dca81af4f46b149c0b8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3644
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-09-27 14:55:12 +00:00
Griffin Smith
b330578b89 feat(gs/home): Install cargo-bloat
Change-Id: I525aa3ddcacb583e6d3a3ba1529d718b43379273
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3643
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-09-27 14:55:12 +00:00
Griffin Smith
641d722d43 feat(gs/yeren): Don't encrypt swap partition
This is really just not worth the performance hit

Change-Id: I6f603aa154c562da2803bd8f73b1135faad243be
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3642
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-09-27 14:55:12 +00:00
Griffin Smith
f746020d58 fix(gs/emacs): Disable idris temporarily
This doesn't work right now, and I'm not currently writing any idris

Change-Id: I7c090ad9f05c5d24f4f80fdd444e8995629aaba4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3641
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-09-27 14:55:12 +00:00
Vincent Ambo
87c141d3d7 chore(3p/nixpkgs): Bump channels to 2021-09-20
Included fixes:

* grfn/mugwump: removed superfluous Buildkite agent user
* tazjin/camden: Disabled bitlbee (user config is broken)
* grfn/home/vim: vimUtils expects a `pname`
* 3p/nixpkgs: Pick awscli2 from stable channel

Change-Id: I64ed726b3350f75c7a8a0e6552bcf1d8d9ba7d46
2021-09-21 14:45:11 +03:00
sterni
2f750e4a14 refactor(grfn/xanthous): avoid unnecessary recompilation
hpack is a bit dumb when generating the list of modules for a cabal
file's component if multiple of them live in the same directory.
Specifically it seems to assume that all modules in the source-dirs
of a particular component are also necessary for its compilation.

This is quite bad in the case of xanthous since both library and
executable have source-dirs: src, so all modules will be compiled
twice: Once for the library and then again for the executable
despite it depending on the library (actually 4 times in total
since we need to build a unprofiled and profiled object for each
module…).

To fix this we just move Main.hs into its own directory and change
the executable's source-dirs, so hpack doesn't get confused anymore.
Since all components now have their own source-dirs, unnecessary
redundant compilation should be down to 0. The diff of the cabal
file shows quite nicely how many module recompilation we've gotten
rid of.

Change-Id: I2df4fab9b0299b3a2b5d3005508c79b2d9796039
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3533
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: grfn <grfn@gws.fyi>
2021-09-11 16:00:12 +00:00
Griffin Smith
4c4aa8e413 fix(gs/home): Hardcode home directory
`config.home.homeDirectory` is never set, meaning that when this builds
in CI it just uses the $HOME of the buildkite agent that's running,
causing it to almost always rebuild on new changes - I'm never going to
have a username on a system other than `grfn`, so this is fine to just
hardcode.

Change-Id: I920a0c546f4c06d0429534d116465e8f732218e7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3495
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
2021-09-07 18:57:51 +00:00
Griffin Smith
930a11d009 feat(gs/system): Conditionally add private.nix
I have some secret stuff here (not security-secret, just secret that I'm
installing it in my system) so this has to be conditionally included

Change-Id: Idb12e5bbab507ad3dc5eb610199fd384789c0e20
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3491
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-09-02 17:05:21 +00:00
Griffin Smith
3ce45e8d9f feat(gs/emacs): Use notmuch tree
Change-Id: I20eab33ab10a44b6fc230a1fc1c232208c221554
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3489
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-09-02 17:05:21 +00:00
Griffin Smith
4f1062f0d9 feat(gs/system): Install cargo-udeps
Change-Id: I30b956cfbeb0b8f8553c8ee41c4979d4ec0c363b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3488
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-09-02 17:05:21 +00:00
Griffin Smith
d857d5ad68 refactor(gs/system): Remove chupacabra
This machine no longer exists

Change-Id: I8e549b8397777a01404bd84c10c195e80f281744
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3431
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
2021-08-26 19:41:42 +00:00
Griffin Smith
8201f0f3d8 refactor(gs/system): Remove rebuilder script
I no longer use this, I just use the rebuild-system that all nixos
systems get now.

Change-Id: I2272ff13b21b3194c06b51dbc340c19b8bb336a9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3430
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-08-26 19:10:19 +00:00
Griffin Smith
aad7e7e74b fix(gs/emacs): Don't repeat flycheck nav with evil .
Prevent flycheck-next-error and flycheck-prev-error from being repeated
by evil, since they're movement commands rather than editing commands.
This lets me spam `]e.` if I have to do the same thing to all the errors
in a buffer, for example.

Change-Id: I5993f6d19b71b63e5f4be1f3ce9e0cfd0357cc6e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3425
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-08-26 13:45:27 +00:00
Griffin Smith
5ba19ec2a2 fix(grfn/system): Fix rust-analyzer target dir
This was missing a path segment, plus calling it rust-analyzer makes it
clearer what's going on

Change-Id: I8f71fe1b438d72f743472ab10ec939f686ad0da1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3424
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-08-26 13:45:27 +00:00
Griffin Smith
a1205f0565 feat(gs/home): Alias tf->terraform
Change-Id: Ic79fec6b19c185a6e094dfc9571ea783a1e07148
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3423
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-08-26 13:45:27 +00:00
sterni
559ee9467b chore(3p): bump NixOS channels to 2020-08-18
Wanted to port my emacs config to depot, but missing a dependency from
the channel. Adjustments:

* Downgrade grfn's Kernel to 5.10: The ck1 patch is not yet available
  for 5.13 unfortunately and the 5.12 set has been removed upstream.

Change-Id: Ifaf315427bda2af590549ca0abec02a79f19a3ec
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3375
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: grfn <grfn@gws.fyi>
2021-08-24 12:13:06 +00:00
sterni
32de4cbd93 refactor(users/grfn/gws.fyi): implement isDirectory in pure nix
Another day, another import from derivation avoided by
builtins.unsafeDiscardStringContext!

Change-Id: I67274b1ba13ba980bb3346b22f2955c702aa3151
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3372
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
2021-08-24 12:13:06 +00:00
Griffin Smith
5627c67bed fix(gws.fyi): eg -> ie
Thanks sterni!

Change-Id: I7a6ee7586fac45fe62e1d4016e1520e66381caf1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3373
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-08-18 14:27:51 +00:00
Griffin Smith
15163fdc16 feat(gws.fyi): Add a recipe for tomato paste
Someone asked for this, so here it is.

Change-Id: I00c52deb8c3f4e8f786cf4763b39d862ad041f6d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3371
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-08-18 03:23:04 +00:00
Griffin Smith
8dd5ee26d7 feat(gws.fyi): Allow building whole org directories
Allow building entire directories containing org files as html
directories with org-export-html

Change-Id: I805da6b2da7e8ea67da13c858f962f36ed120972
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3370
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-08-18 03:22:46 +00:00
Griffin Smith
b43366ed50 feat(gs/home): Install cargo-rr
Change-Id: If32e485f7ee8f4ae1e4b68be33aa1261c5cf2dbd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3290
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-08-09 19:58:28 +00:00
Griffin Smith
387425744d feat(gs/emacs): Set popup rules for gud buffers
Change-Id: I74730a924b7cf6652dd64704aa36f850160d8bae
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3289
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-08-09 19:58:28 +00:00
Griffin Smith
2d6e4cda13 feat(gs/emacs): Put rust-analyzer in a different target dir
This stops it from interfering with command line invocations of things
like cargo test

Change-Id: Icc24a27ac5e17bb88ed539c13fc33204ef55ce82
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3288
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-08-09 19:58:28 +00:00
Griffin Smith
3d5c10f7b1 feat(gs/emacs): Bind g RET to lsp-rust-analyzer-run
Change-Id: I667f9033824d4a32abedfb275ea35a06a371ab12
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3287
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-08-09 19:58:28 +00:00
Vincent Ambo
e7de89e06a chore(3p/nixpkgs): Bump nixpkgs channels to 2021-08-04
I used //tools/depot-nixpkgs-update for this - thanks again, sterni!

Included fixes:

* temporary workaround for building notmuch python package, fixed in
  upstream already (but channel hasn't advanced there)
* Disable fprintd in grfn.system.yeren, as the fprintd-tod package
  currently has a version mismatch in nixpkgs

Co-authored-by: Griffin Smith <grfn@gws.fyi>
Change-Id: If6d71b08ace9db57daadfe3b69b9cd4aec6a5a4e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3274
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-08-08 01:28:36 +00:00
Griffin Smith
93b2518b1c fix(gs/emacs): Explicitly bind g d to lsp-find-definition in rust
Change-Id: I1d3cbccf1e976df1c08a6e34b736392208351a26
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3272
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-08-02 21:09:54 +00:00