Commit graph

1182 commits

Author SHA1 Message Date
Vincent Ambo
5fd3140cf3 fix(tazjin/emacs): Gerrit remote is now 'origin'
Change-Id: I44998510ff4be2fa137ea4c81f888e63ea438a56
2021-12-09 13:24:20 +03:00
Vincent Ambo
623de7920f feat(tazjin/russian): Add words 601-700
Change-Id: I17b1362502952d96b8787ad3c055d66f212fd60b
2021-12-09 08:58:32 +00:00
Griffin Smith
a0fcec54cd feat(grfn/emacs): Tweak rust async_test snippets
Add a stop at the `flavor` argument, since some async tests can use the
default config.

Change-Id: Iffd726b304d0d9dd94938bf23b2688715d1f4e20
2021-12-09 02:08:50 +00:00
Griffin Smith
49d4d12a73 feat(grfn/emacs): Add a prolog use_module snippet
Change-Id: Ib5226a1ad0f084d3755cbfe40bf3556b3fa7fb2b
2021-12-09 02:08:42 +00:00
Griffin Smith
91f33b1a96 feat(grfn/emacs): Add some prolog-mode mappings
Change-Id: If1677024f9a211eee5d42a03413b5058dd797b9a
2021-12-09 02:08:42 +00:00
Vincent Ambo
14bf3f3cd9 feat(tazjin/russian): Add words 551-600
Change-Id: Ie2a670fc2aa24457a9fc7f3f22d5336d97e7789f
2021-12-08 20:37:49 +03:00
Vincent Ambo
b5dcb4e6df feat(tazjin/russian): Add words 501-550
Change-Id: Id9e4b9eb5e330a5331ca0cc2c7af2c4ade4a6ace
2021-12-08 20:23:09 +03:00
Vincent Ambo
a39ab958da feat(tazjin/russian): Add words 451-500
Change-Id: I5e0c8d61be0c0170370298aa4c6ee0a6607f24b7
2021-12-08 20:03:59 +03:00
Vincent Ambo
3f614a4e17 feat(tazjin/russian): Add words 401-450
Change-Id: I1101ebf2252390fc4ae308de43f09f606118615b
2021-12-08 01:19:46 +03:00
Vincent Ambo
214f422572 feat(3p/agenix): Import latest version from GitHub
It's time to automate secrets deployment on hosts like whitby.

Change-Id: If7006124b4b5fec16b4c3570488c11e484f93888
2021-12-07 18:27:54 +00:00
Vincent Ambo
9df5e1da19 feat(tazjin/tverskoy): Configure tlp to keep battery between 40-70%
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
2021-12-06 16:18:06 +03:00
Vincent Ambo
9d5483e190 feat(tazjin/emacs): Ensure passively is installed
Change-Id: I58f007ba54fd0b48fdff6e8409463d5d5e105f17
2021-12-06 11:50:55 +00:00
Vincent Ambo
28759b7d66 refactor(tazjin/russian): Use passively.el for Russian learning
Replaces the functionality previously implemented here with the now
generalised implementation in passively.el

Change-Id: Ibe7a1b7d512ddcb700bc330cbdf62811399c6cfe
2021-12-06 11:50:55 +00:00
Vincent Ambo
ba8db7b6da chore(tazjin/emacs): Configure persistence location for passively
Change-Id: I00965fc24ccfddc278e7ab9243661aea282ff385
2021-12-06 02:14:35 +03:00
Griffin Smith
909c1d02a2 fix(gs/emacs): Return empty string if nothing in inbox
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
2021-12-03 12:23:54 -05:00
Griffin Smith
9eec83843e fix(gs/emacs): Fix title of clocked-in task
For the i3 status bar - this API changed to return a list recently,
which is super frustrating

Change-Id: Ib921b6431331c766b67ea5053f2d9f3d86cf54b4
2021-12-03 12:23:54 -05:00
sterni
ca159626dd feat(sterni/emacs): subscribe to the TVL feed
Change-Id: Iac08e992a4c610a6f152c1dc5e681b17298b8834
2021-12-01 18:17:29 +00:00
sterni
9472bb6b04 feat(sterni/aoc/2021): day 1 solution
Change-Id: I0781b2aa3624df9a3158296edcbbbf2ee845102b
2021-12-01 18:17:29 +00:00
Griffin Smith
8de6c07153 refactor(gs/emacs): Switch to doom's built-in fuzzy ivy
This seems to do sorting slightly better.

Change-Id: I0d354a77b45b1a83d4bb5eb0acd024187b06929f
2021-11-29 10:52:47 -05:00
Griffin Smith
ac2fa80f75 feat(gs/home): Add shell alias for graphvizzing
for work

Change-Id: Ib8a8928f8315823a34b653d3e3dff46d10f930e6
2021-11-29 10:52:21 -05:00
Griffin Smith
e1e78f7abc feat(gs/system): Install dev man pages
I wanna be able to man libc stuff

Change-Id: Ie38e6751af24ffcffa912621dc217dcef5c84dda
2021-11-29 10:50:04 -05:00
Vincent Ambo
d143c3735f chore(tazjin/russian): Reduce timer interval to 4 seconds
Change-Id: I85025754695a6173a23c9ea2eb19ddc8e97e4dcd
2021-11-29 17:33:47 +03:00
Vincent Ambo
2789e013af feat(tazjin/russian): Function to look up last word in Wiktionary
For cases where a word raises more questions than are answered by my
existing notes, roots, translations and so on.

Change-Id: Ic9dd79ba4aef6e3c8e7e8e965195b67f7a0c65f3
2021-11-29 17:33:47 +03:00
Vincent Ambo
e4c82c2a34 feat(tazjin/russian): Exclude known words from random display
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
2021-11-29 17:33:47 +03:00
Vincent Ambo
7843363225 feat(tazjin/russian): Remember the last displayed word
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
2021-11-29 14:24:25 +00:00
Vincent Ambo
f7c87fd774 feat(tazjin/russian): Echo Russian words when Emacs is idle
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
2021-11-28 17:39:23 +03:00
Vincent Ambo
48290298ad feat(tazjin/russian): Add macro to populate word table
Adds a stupid macro that populates a 'russian-words' hash table in
which merged definitions of words are available.

Change-Id: Ide7825577ba26d63ff564e54601541f39ab5a1a6
2021-11-28 17:14:15 +03:00
Vincent Ambo
465f3d3f14 chore(tazjin/tverskoy): Minor config cleanups
Change-Id: I434c0b8d5e5ce2d077630de2dd71de309b7d076f
2021-11-27 20:56:21 +03:00
Vincent Ambo
67d7bc2fa8 fix(tazjin/tverskoy): Persist Zoxide state between reboots
Change-Id: Ib1e1fe9749e56eefc83016b1946e6fe0b1f72339
2021-11-27 17:53:24 +03:00
Griffin Smith
604319850c feat(gs/xanthous): Creatures drop their items when they die
When a creature is killed, it now drops all the contents of its
inventory on the ground.

Change-Id: Ie95c397308ba2c9861f10e58b99c91c9cc759c56
2021-11-25 17:31:01 +00:00
Griffin Smith
a3d220b631 feat(gs/xanthous): Creatures use their weapons to attack
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
2021-11-25 17:31:01 +00:00
Griffin Smith
4b11859d04 feat(gs/xanthous): Allow generating creatures with items
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
2021-11-25 17:31:01 +00:00
sterni
750ef6c693 feat(sterni/nix/utf8): check if codepoint valid/encodeable
* 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
2021-11-25 12:15:35 +01:00
sterni
0e9c770972 refactor(sterni/nix/utf8): let wellFormedByte check first byte
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
2021-11-25 12:15:35 +01:00
sterni
87a0aaa77d feat(sterni/nix/utf8): implement UTF-8 encoding
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
2021-11-25 12:15:35 +01:00
sterni
9370ea5e33 chore(sterni/nix/utf8): remove decodeSafe
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
2021-11-25 12:15:35 +01:00
Vincent Ambo
a935570a22 feat(tazjin/tverskoy): Install some more frequently used tools
... rather than nix-shelling them every time.

Change-Id: I9ab6ad67efbd6c16c7fd8cc9938d86d35f8418bc
2021-11-24 10:58:06 +03:00
Vincent Ambo
4f1249e46f refactor(readTree): Move 'drvTargets' into readTree
This function is also generally useful for readTree consumers that
have the concept of subtargets.

Change-Id: Ic7fc03380dec6953fb288763a28e50ab3624d233
2021-11-23 14:42:08 +00:00
sterni
ab92c42f59 feat(sterni/nix/utf8): allow decoding the empty string
Change-Id: I8de9cd28c822ac5befbcd16e118440cd13cd86e9
2021-11-23 14:23:41 +01:00
sterni
8615322bc8 refactor(sterni/nix/utf8): use genericClosure for decoding iteration
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
2021-11-23 14:22:24 +01:00
Griffin Smith
95ee86225b refactor(gs/xanthous): Break out inventory into a common module
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>
2021-11-22 19:12:56 +00:00
Griffin Smith
3a01398672 refactor(gs/xanthous): Define local field lens aliases in AI
This slightly improves how the module reads imo

Change-Id: Ib1efcbbd5392ece6b46461e8075162f03846d421
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3886
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-11-22 19:12:56 +00:00
Griffin Smith
21c218542c fix(gs/xanthous): Check for reaching destination in AI
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
2021-11-20 21:49:30 +00:00
Griffin Smith
ed0447ea0d chore(gs/emacs): Update org<->jira state mapping
Change-Id: If941c0237f5291bebe201e22cc74484f17b148ae
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3884
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-20 21:41:10 +00:00
sterni
12eed85374 chore(nixpkgs-crate-holes): whitelist more maintainers
Change-Id: I6ed03ff8cbc590087cfa58264c0c28a7b1496740
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3825
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-11-16 10:37:43 +00:00
Profpatsch
70d01b201f docs(users/profpatsch/blog): rust string conversions: &str -> &OsStr
Change-Id: I215cd311551d54ce42c71d4e80ea18f9a17d4cf8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3879
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-15 00:31:11 +00:00
Vincent Ambo
1ef8a6c153 feat(tazjin/tverskoy): Enable picom by default
... 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>
2021-11-13 21:09:12 +00:00
Vincent Ambo
1cdc488f19 feat(tazjin/emacs): Disable annoying warnings from native comp
Change-Id: Ibe6bcd544188afb8746bf27a6467a436803e659f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3876
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-11-13 21:09:07 +00:00
Vincent Ambo
b28c94c101 fix(tazjin/emacs): Adjust tverskoy screen layout for TVL office
Change-Id: I4d1ad19ee5af52b7f01e1e2003a5c95b5a133865
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3871
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-11-13 16:46:18 +00:00
Griffin Smith
608e6e778e feat(gs/xanthous): Allow moving with the arrow keys
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
2021-11-13 15:57:18 +00:00
Griffin Smith
8d82bf2d36 fix(gs/emacs): require flycheck before trying to override it
Change-Id: I8573abc3f08d68f050d6a01ff29969f97c1d2858
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3869
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-13 15:57:18 +00:00
Griffin Smith
1af67d9ca7 feat(gs/xanthous): Add a Husk creature, with limited generation
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
2021-11-13 15:57:18 +00:00
Griffin Smith
e2f8939a9e feat(gs/xanthous): Add a broken dagger raw
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
2021-11-13 15:57:18 +00:00
Griffin Smith
2833104708 chore(gs/xanthous): Don't include docs in source closure
Change-Id: Ib6f2604096fa519f37ec4a2ce762229abca16b26
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3866
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-13 15:57:18 +00:00
Griffin Smith
98397b8515 docs(gs/xanthous): Start documenting raw types
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
2021-11-13 15:57:18 +00:00
Griffin Smith
3c33a2c756 fix(xanthous/server): Mount the key into the docker image
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
2021-11-13 14:47:02 +00:00
Griffin Smith
33f29d081d fix(xanthous/server): Fix decoding secret key
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>
2021-11-13 14:12:25 +00:00
Profpatsch
e2fbc10ebd feat(users/Profpatsch/lens): add _ as reverse function application
Change-Id: I0bcd997ea469ff55d2170027184fc5bd10b44e00
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3847
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2021-11-13 01:22:58 +00:00
Profpatsch
d08fbd79c7 docs(users/Profpatsch/lens): setter inline arrows
Change-Id: I22bed7bc16b69f94556142cad1079e23f3550bb1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3846
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Profpatsch
539884f7ad docs(users/Profpatsch/netencode): fix typo
Change-Id: I7edb9027c0a9eb014931033760be5f3d6e734b8a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3845
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Profpatsch
8c6bf623b6 feat(users/Profpatsch/blog: inject css into markdown files
Change-Id: I72bba4bd8aa9a9fccab1fd3d618cfcfa7e0507c5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3844
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Profpatsch
850dcf615b feat(users/Profpatsch/lens): lens library for nix
Profunctor lenses for nix.

Implemented Profunctor and Strong instances for `(->)`,
and some simple setters.
Next step would be getters, which will need the `Forget` profunctor.

Fairly straightforward implementation of
https://github.com/purescript-contrib/purescript-profunctor-lenses
(with all the types erased and instance dicts passed manually).

```
> :p set (optic [_2 (field "foo") _1]) 42 (tuple 1 { foo = (tuple 1 2); })
{ fst = 1; snd = { foo = { fst = 42; snd = 2; }; }; }
```

Change-Id: Iad145523d1c035187b8b2db9302b840c282d427a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3295
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Profpatsch
b48c5c4976 feat(users/Profpatsch/blog): Add posts section
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>
2021-11-13 00:57:28 +00:00
Profpatsch
81e39b51cd feat(users/Profpatsch/blog): Add projects section
A new section for my awesome website.

Change-Id: I6c624aa0bfaf82aff943431da7499bec1d842c67
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3291
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Profpatsch
d4f4b0f6d4 docs(users/Profpatsch/blog): document symbols
… and clean up the import list a little.

Change-Id: I7a116e9bbf01731267795b5327fecf98f0c7c3e4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3286
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Profpatsch
2835e5ec7e docs(users/Profpatsch/lib): move split-stdin to lib & document
Change-Id: I39e81ed766cb209ded5309ea962a59a6f1c811c9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3285
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Profpatsch
4e2879282d chore(users/Profpatsch/blog): me -> depot.users.Profpatsch
Change-Id: I72e38ce4cef109df197eccedac8e67ec423d4996
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3284
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Profpatsch
dfdb6d8e15 chore(users/Profpatsch): move cdbListToNetencode out of the blog
It’s a small tool that I’ve used before but not anymore, but since it
has a few helpers for dealing with cdb stuff, I’m gonna keep it around
for now I guess.

Change-Id: I83c62fa2194113d021414708b0906350b3f2a222
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3283
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Profpatsch
33e56abcf2 fix(users/Profpatsch/blog): notes toplevel rendering
The rendering of the notes/ template was done in a very roundabout way
through the routing table before. Now it’s constructed directly.

Change-Id: Iaa6157cc3f9a7e5e0ad81ab843efa988995666b2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3282
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Profpatsch
1c8e55b60c docs(users/Profpatsch/netencode): some docstrings
Change-Id: I447113d408cf51f1ed9f9d7571b2229e166e7680
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3281
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Profpatsch
d41caf2dd6 feat(users/Profpatsch/netstring): add nix toNetstring* functions
We can easily construct netstrings from nix strings, which is super
helpful to inject proper structured data into execline scripts.

Change-Id: Ie8bffed285896223db83652eaea868ece43592b9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3265
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Profpatsch
28bed07694 feat(users/Profpatsch): add atomically-write
A little shell script to atomically write stdout to a file.

Change-Id: Icca58909c9ad3f92d69af2f5e20c08d69878a77c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3264
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-11-13 00:57:28 +00:00
Vincent Ambo
ff846eb6ec chore(tazjin/tverskoy): Make automatic-gc more conservative
It keeps gc'ing things I'm using more than I would like. Some sort of
meme potential about my storage use on the laptop here.

Change-Id: I0f8078a92effaf32bcadc3355507469babbc2eb8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3826
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-11-11 21:31:12 +00:00
sterni
9239868daa feat(nixpkgs-crate-holes): cc maintainers allowed by a whitelist
Change-Id: Iffbe173a48b466c52669efc70f9b5e5d4a6aff9a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3730
Tested-by: BuildkiteCI
Reviewed-by: Alyssa Ross <hi@alyssa.is>
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-11-10 20:15:42 +00:00
Vincent Ambo
795a8de942 chore(tazjin/keys): Remove key for vauxhall
Change-Id: Ib162e08ec6b47fd5d9ecef5aba402e9360d35b47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3823
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-11-10 17:58:28 +00:00
Vincent Ambo
de9e7f14c1 feat(tazjin/emacs): Bind a key for #'tvl-depot-status
Change-Id: I46387b5193ecca082d0bc3e7ba7c0907fb9cf639
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3822
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-11-10 17:58:28 +00:00
Vincent Ambo
32fd841711 fix(tazjin/tverskoy): Timezone -> Europe/Moscow
Change-Id: I8ce9f4ff01f29e89f1acda258969622290cb6cc7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3824
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-11-10 17:57:51 +00:00
Griffin Smith
351bf5ec79 fix(gs/yeren): Pin to linux 5.14
5.15 seems to break my external USB hub

Change-Id: I357c8187d5281c0b363d1343dfec659ff94869c9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3821
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-09 15:45:22 +00:00
Griffin Smith
e92e462d75 fix(gs/emacs): Fix link syntax for org email capture template
%l includes two pairs square brackets around the text, which doesn't
work if we want a description - %L only includes the literal link
location, so we can surround it in only one pair of square brackets

Change-Id: I3436f631f0e33336214828e0eb58d5333418b26f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3820
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-11-08 17:01:14 +00:00
Griffin Smith
0d1980f2d6 feat(xanthous/server): Load host secret key from disk
Rather than randomly generating a new host key every time we run the
server, load the host's secret key from a file on disk at startup, so
that clients don't have to disable host key verification to connect
every time we restart.

Change-Id: I4d283bc919f4825789f686a98c174a71929087a6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3819
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-11-08 17:01:14 +00:00
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
Vincent Ambo
875ef0a605 fix(web/blog): make base URL configurable for atom feeds
This was previously hardcoded to tazj.in, which is not going to work
of course.

Instead it now takes the blog config which has a new baseUrl
parameter. For ease of use, the configs of my and the TVL blog have
been moved into a location that is accessible in the tree for reuse.

Change-Id: I94e71aaa7859db4380eb7013740a17f6b6a02620
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3777
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-11-08 10:39:04 +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
Vincent Ambo
f360bbdcf0 refactor(web/blog): Move atom feed creation logic to //web/blog
This was previously all inside of my personal homepage configuration,
but that's not really where it belongs.

This moves the blog post -> feed entry logic to //web/blog and moves
some other minor logic (like entry order) into the atom feed
implementation itself.

Change-Id: Idde0241c48e979580de73f2b9afd04e6ca7f4c9a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3770
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-11-04 15:57:56 +00:00
Vincent Ambo
bbf92dcdea refactor(web/blog): Configurable blog name and footer
Required for actually using this generically for the TVL blog.

Change-Id: I92d8d10341f9ab4f92c90f7976be261b3255a0f0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3768
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-11-03 15:43:57 +00:00
Vincent Ambo
e99d8510d7 feat(tazjin/tverskoy): Add dunst configuration
This one is basically taken from some gist linked in the official
dunst readme and makes nice little boxes.

Change-Id: I5bee8488f333dcc2f7040b741729065ef8617ae0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3767
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-11-02 12:18:12 +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
Vincent Ambo
aec85fd6b5 chore(tazjin/emacs): Remove screen layout configs for Vauxhall
That machine doesn't exist anymore. Some of them are partially
retained for use on tverskoy instead, but I've mostly nuked it.

Change-Id: Ia358b46353d408798c29c4c90ec06b116b322b5d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3761
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-10-27 06:52:17 +00:00
Vincent Ambo
08d46ad293 chore(web/blog): Move out of //users/tazjin
This will also be used for the TVL blog, with status updates of
projects like Tvix.

Note that while this commit evaluates, there are still some things
specific to my blog in this code which I'll untangle in a future commit.

Change-Id: If59431161b165d7249cbb856073a4cae84a1bfbf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3732
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-10-22 09:56:31 +00:00
Vincent Ambo
33e71ba97f feat(tazjin/rlox): Implement else clauses
Change-Id: I0bc2333c0b4dd3e2e584a90d0d15b28c48130f03
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3740
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-10-22 09:42:38 +00:00
Vincent Ambo
670662a360 feat(tazjin/rlox): Implement simple conditionals
... basically just optional blocks (no else).

Change-Id: If091c6b8fdeb6c13a5f3dd284d0a9a87f9f4228d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3739
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-10-22 09:42:38 +00:00
Vincent Ambo
d57e43e161 refactor(tazjin/rlox): Return index after adding operations
Change-Id: I100eb9b55ace37e5c7c878d3c224b567ee8d1e36
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3738
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-10-22 09:42:38 +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
Vincent Ambo
bdde287d22 refactor(tazjin/rlox): Remove use of sentinel values
The C code from which this is translated uses sentinel values for
various things, this commit replaces them with standard Rust types
instead (amongst a bunch of other small improvements).

Change-Id: I892811a7afebb5a0f3b825824fc493ab0b399e44
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3735
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-10-20 12:50:36 +00:00
Vincent Ambo
050a2b473c refactor(tazjin/rlox): Introduce newtypes for various indices
Since this code is essentially a fairly plain translation from C, it
is a bit confusing to deal with the original untyped code. This is an
attempt to try and clean some of it up.

Change-Id: Icd21f531932e1a811c0d6dbf2e9acba61ca9c45d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3734
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-10-20 12:50:36 +00:00
Vincent Ambo
e92a951f6c fix(tazjin/emacs): Fix renamed cargo mode map
Change-Id: I12a893d94dd67106c7cee875fbef432d693b41b9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3733
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-10-19 14:21:16 +00:00
Vincent Ambo
c318f42c11 feat(tazjin/rlox): Support local variables
WIP

Change-Id: I78fbc885faaac165c380cbd9aa98b4b64a9b8274
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3685
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-10-19 12:58:43 +00:00
Vincent Ambo
ad7e591c80 feat(tazjin/rlox): Global variable assignment
Needed for example code compatibility.

Change-Id: Id83210eaaad7dcfef5aa238dd3a7ec159f6935e9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3684
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-10-19 12:58:43 +00:00
Vincent Ambo
6a38600ce8 chore(tazjin/rlox): Add some old code example files
Change-Id: I484b11069286ea2277e9e158fa5c3bd34f84c89e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3464
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-10-19 12:58:43 +00:00
Vincent Ambo
edd8680e87 chore(nix/renderMarkdown): Move out of //users/tazjin
Change-Id: Ia5e873420b57436abead8e02cef3e5b7149de123
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3731
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-10-19 11:47:38 +00:00
Vincent Ambo
8301825124 chore(web/atom-feed): Move feed generator out of //users/tazjin
I intend to use this for updates on TVL projects, which will end up on
the homepage, which is outside of //users.

Change-Id: I03542d1bcef3d9fc4599294655caab5ed22ba5d9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3728
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-10-16 08:47:16 +00:00
Vincent Ambo
67ec19e854 feat(3p/dfmt): Add derivation for the D code formatter
Change-Id: I4e06676f45df334db4fbc4f1657a6f16828547dc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3727
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-10-15 11:51:19 +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
sterni
3a2fd6e275 feat(nixpkgs-crate-holes): report vulnerable crates in cargoDeps
nixpkgs-crate-holes can build a markdown report detailing all vulnerable
crates pinned in cargoDeps vendors in nixpkgs according to RustSec's
advisory db. This report is intended to be pasted into a GitHub issue.

The report is produced by a derivation and can be obtained like this:

    nix-build -A users.sterni.nixpkgs-crate-holes.full \
      --argstr nixpkgsPath /path/to/nixpkgs

Example output: https://gist.github.com/sternenseemann/27509eece93d6eff35cd4b8ce75423b5

Additionally, you can obtain a more verbose report for a single
attribute of nixpkgs, in HTML format since we just reuse the command
line output of cargo-audit and convert it to HTML using ansi2html:

    nix-build -A users.sterni.nixpkgs-crate-holes.single \
      --argstr nixpkgsPath /path/to/nixpkgs --argstr attr ripgrep

Change-Id: Ic1c029ab67770fc41ba521b2acb798628357f9b2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3715
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-10-12 14:15:28 +00:00
Vincent Ambo
0a80313fd3 feat(tazjin): Install D related tooling
Change-Id: I4c27b7a3b89ffd3a84313b70af3dfda2b2f6fa98
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3714
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-10-12 08:57:18 +00:00
sterni
c01b9a2935 feat(users/sterni/emacs): enable jq-mode
Change-Id: I943343af92665897e2ebc556f3984a2f8ede9a23
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3723
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-10-11 13:25:56 +00:00
Vincent Ambo
1f1556dea9 feat(tazjin/tverskoy): Install unzip
... the amount of times I've not had this and nix-shell'd it is ridiculous.

Change-Id: I8ac3a7a2915e68d235f8349373b2575e6ebe1cb5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3710
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-10-10 11:21:23 +00:00
Vincent Ambo
5a902b53c5 feat(tazjin/tverskoy): Attempt to enable hardware video acceleration
Change-Id: I0592f5f9be9b01d7809e4d6a2d282e3398dbed4d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3706
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-10-10 11:01:37 +00:00
Vincent Ambo
ac17de3cbd chore(tazjin/tverskoy): Timezone -> Europe/Stockholm
Change-Id: I8247ac6c15d3ee89e902737f160d5f0acae707bd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3703
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-10-08 10:10:17 +00:00
Vincent Ambo
61e3e196fd feat(tazjin/tverskoy): Enable printing service
Change-Id: Ic74cf57cafb34b18ef632e4718493146dc063236
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3702
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-10-08 10:10:17 +00:00
sterni
e856321c73 feat(users/sterni/emacs): tag noisy feeds for filtering out
Change-Id: I45cc10aaa7bfc7561ef25978c71248659ce6579d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3652
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-09-30 12:33:05 +00:00
sterni
14a33c1069 chore(users/sterni/emacs): dnkl sends out release emails nowadays
Change-Id: Ib2d7c0c8db8a6a579985b8c84739c72b8e8e395b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3651
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-09-30 12:33:05 +00:00
Vincent Ambo
00de60fc3b feat(tazjin/russian): Add words 301-400
Change-Id: I94337f7af76ff554370593709088503ee4b21564
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3645
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-27 20:31:03 +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
f762711b81 feat(tazjin/russian): Extract a bunch more word roots
Change-Id: I215b010ea4595d1c6b76138cf7f7b1fb7f435085
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3639
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-26 10:51:43 +00:00
Vincent Ambo
ec66801094 refactor(tazjin/russian): Open wiktionary in eww instead
Change-Id: I4e00168328e1129f43f4e2e4016ad0543607a73f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3638
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-26 10:51:43 +00:00
Vincent Ambo
ff950d428d feat(tazjin/emacs): Add vlogcreations feed subscription
Change-Id: If50683716939eb93991f00d2911580ea7800d444
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3637
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-26 10:51:43 +00:00
Vincent Ambo
c874e20630 feat(tazjin/russian): Add words 201-300
Change-Id: I1f151858de0abfe90f7d441641ada5b1deae6df3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3636
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-09-25 22:38:04 +00:00
Vincent Ambo
d08b092d6d feat(tazjin/emacs): Install & configure elfeed
It's worth trying out with a small initial list of feeds that I
normally read anyways.

Change-Id: I196bf522c159e9630624e60dd1b6419ba987bcd9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3635
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-09-25 22:38:04 +00:00
Vincent Ambo
273e9cdd6d feat(tazjin/russian): Check in a bunch of word roots
These are then loosely referenced by corresponding words in the big
word list.

I think what I'll be aiming for is a bunch of interesting lookup
functions (give me all words I know with this root etc.)

Change-Id: I664976c3c1521334ea58c7ba943f5c18d5513bf9
2021-09-23 19:57:08 +03:00
Vincent Ambo
d5f459fa6e feat(tazjin/russian): Helper function for Викисловарь lookups
Change-Id: Id3325fcb1c29cbd4d3f9f7933f50ce2c2f25731f
2021-09-23 19:43:28 +03:00
Vincent Ambo
ef75d83c96 feat(tazjin/russian): Check-in words 101-200
Still not sure what it is, but I have some ideas now.

Change-Id: Iad67f8429516f28516136bd2e4590f9f9686e4af
2021-09-23 19:25:21 +03:00
Vincent Ambo
ecfc6dcb57 feat(tazjin/russian): Check-in words 1-100
What is this? Well, I don't know yet - but I'm going to figure out a
way to make it useful.

Change-Id: I7fbfdf226d85d3edfff479c52308304ef41d6091
2021-09-23 19:25:21 +03: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
Vincent Ambo
8cd0e92f7c feat(tazjin/gruber-darker): Check in first version of Quassel theme
Change-Id: I5a79f4d6ccd8ddae4a6e24c356d4b7498ffb3c49
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3569
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-18 12:06:15 +00:00
Vincent Ambo
88b3f367e9 style(tazjin/emacs): Reenable my original dark theme
There's no longer an Egyptian fireball in the sky, so I can go back to
normal.

Change-Id: I6fdcd12f3d3e62c367115f3712cc0fd36eeff78d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3568
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-09-18 12:06:15 +00:00
Vincent Ambo
7b13aa62a8 feat(tazjin/tverskoy): Enable adb
Change-Id: I088d2b0526f10d848da56d8192e93b79d6297746
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3539
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-15 12:15:17 +00:00
sterni
eb65d13f5a feat(users/sterni/emacs): enable rust mode
Change-Id: I49c8f5c0c18ac7664f5f120ad23a55c3bc19bd5b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3545
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-15 10:25:57 +00:00
sterni
8e156e6b86 feat(sterni/mblog): convert apple note mime msgs to html
For now mblog only contains the mnote-html executable which takes a mime
message from a maildir and prints the equivalent HTML fragment to
stdout. It is intended to work with the mblaze(7) utilities,
i. e. mnote-html resolves all `object` tags to proper `img` inclusions
with the correct filename, so mshow(1)'s -x version can supply the
needed image files. A note created using Apple's Notes app (tested with
the iOS version) can be converted in a viewable HTML file like this:

    $ mnote-html path/to/msg > fragment.html
    $ mshow -x path/to/msg
    $ cat <(echo "<!DOCTYPE html>") fragment.html > document.html
    $ xdg-open document.html

Note that only the limited feature set of Apple Notes when using the
IMAP backend is supported. The iCloud-based one has more (quite neat)
features, but its notes can only accessed via an internal API as far as
I know.

This CLI is a bit impractical due to the big startup overhead of loading
the lisp image. mblog should be become a fully fletched static site
generator in the future, but this is a good starting point and providing
the mnote-html tool is certainly useful.

Change-Id: Iee6d1558e939b932da1e70ca2d2ae75638d855df
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3271
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-12 21:39:49 +00:00
sterni
e507b84291 feat(users/sterni/nix/string): very simple printf implementation
This is mostly to yet another silly idea which turns out to be
possible. This may be actually useful should I implement more
sophisticated format specifiers like "%xd" or "%f".

Change-Id: Ia56cd6f5793a09fe5e19c91a8e8f9098f3244d57
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3537
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-12 09:25:30 +00: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
Vincent Ambo
6e8b6b3374 feat(tverskoy): Enable services.depot.automatic-gc
Change-Id: I5268ea93cf9727ad7fc1beedf9ec72a9d9e6eae8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3526
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-09-10 11:37:30 +00:00
sterni
318d10e608 chore(nint): move from //users/sterni to //nix
Since //web/bubblegum depends on nint, we need to move it to a non user
directory to conform with the policy established via cl/3434.
Note that this likely doesn't mean greater stability (which isn't
really implied in depot anyways), since I still would like to use a more
elaborate calling convention to allow for additional useful features.

Change-Id: I616f905d8df13e3363674aab69a797b0d39fdd79
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3506
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-10 11:08:03 +00:00
sterni
5d5fb4e6a1 refactor(sterni/emacs): read extra feeds from ~/.config/emacs-extra
This allows me to add stuff without doing a commit for every feed. I can
always import them in bunches if I want to later.

Change-Id: I080f40b3627940a1f68cf13598c102953f4994b1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3505
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-09 15:57:58 +00:00
sterni
fab7dd62f4 feat(users/sterni/emacs): install bqn-mode
Change-Id: I8429f09525e7ca78893b62f6efb8037687ac36a3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3494
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-09 12:52:16 +00:00
sterni
e4a8b57d51 feat(users/sterni/emacs): subscribe to eta's honking
https: //www.youtube.com/watch?v=nH4Gr2U50i8
Change-Id: Iaf998cee07325900272f1fef29478f724b19fe34
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3501
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-09 12:52:16 +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
sterni
4932177ed4 feat(users/sterni/emacs): add (mostly) lisp related feeds
Change-Id: I79d30e4e5cbe41fcd0f4a751ed08d12541b453eb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3487
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-09-01 23:49:20 +00:00
Vincent Ambo
885b6d9bb8 refactor(3p/notmuch): Simplify setup
The backported fix is no longer required and we can just apply the
patch in the overlay, this makes everything a little easier.

Change-Id: I654a1bb002eef5c578b8e576e133a159bde3f850
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3483
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-01 12:27:31 +00:00
sterni
83c8716afd chore(3p): update NixOS channels to 2021-08-30
This lets us benefit from the recent OpenSSL security-related
update [1]. Since nixos-unstable is still stuck, we temporarily
use nixos-unstable-small as our unstable channel.

Fixes necessary:

* //users/sterni/nix/char:
  Someone has decided to drop writers.writeC upstream [2],
  so we reimplement it ad-hoc using runCommandCC

[1]: https://www.openssl.org/news/secadv/20210824.txt
[2]: 982f46985e

Change-Id: Id84756e2e370296b7a27e1a3f1744f58f8fe3c47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3463
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-30 17:06:40 +00:00
Vincent Ambo
0c1b8f954e chore(tazjin/keys): Use ecdsa-sk key for tverskoy
Unfortunately this doesn't work with Gerrit yet, but it's fine for SSH auth.

Change-Id: Idcfebb117ca39e47ef5595f5bb64ea31dbef3af7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3442
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-08-27 14:43:43 +00:00
Vincent Ambo
f6638ce62c fix(web): tazjin.css -> tvl.css
Bug introduced by the previous static asset move.

Change-Id: I827976e468e4ce877a12dfbca6126b3a7445e783
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3440
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-08-26 20:57:02 +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
Vincent Ambo
da0b330756 chore(web/tvl): Move TVL static assets out of //users/tazjin
It's now more like my personal homepage depends on TVL assets, not the
other way around.

Change-Id: Ifb9d61aa8ec2cab549e25de3a3dfbbd08f3d336c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3435
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-08-26 17:46:06 +00:00
sterni
094dfa2ed3 feat(users/sterni/emacs): add ariadne conill's blog to subscriptions
Change-Id: I6d5935279069c8af7e7a5f21f9d221c93a533d8e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3428
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-08-26 15:34:58 +00:00
sterni
9ed439bfbd feat(users/sterni/nix): cursed nix html DSL
Couldn't sleep, so I made a surprisingly neat way to render HTML
documents in Nix using our favorite feature __findFile:

  let
    inherit (depot.users.sterni.nix.html) __findFile esc;

  in

  <html> {} [
    (<head> {} [
      (<meta> { charset = "utf-8"; } null)
      (<title> {} (esc "hello"))
    ])
    (<body> {} [
      (<h1> {} (esc "hello world"))
    ])
  ]

=> "<html><head><meta charset=\"utf-8\"/><title>hello</title></head><body><h1>hello world</h1></body></html>"

Change-Id: Id36808a56ae3da3b5263c06f29342fc22d105c21
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3410
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-08-26 15:34:58 +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
Vincent Ambo
da5a5ab2e4 feat(tverskoy): Attempt #2 to install Steam
Change-Id: I79bcd37f498ec8a337b65b069d085c672b830ee9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3247
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-08-25 09:53:04 +00:00
sterni
02566cdcfb feat(nix/buildLisp): add ecl
Adds ECL as a second supported implementation, specifically a statically
linked ECL. This is interesting because we can create statically linked
binaries, but has a few drawbacks which doesn't make it generally
useful:

* Loading things is very slow: The statically linked ECL only has byte
  compilation available, so when we do load things or use the REPL it is
  significantly worse than with e. g. SBCL.

* We can't load shared objects via the FFI since ECL's dffi is not
  available when linked statically. This means that as it stands, we
  can't build a statically linked //web/panettone for example.

Since ECL is quite slow anyways, I think these drawbacks are worth it
since the biggest reason for using ECL would be to get a statically
linked binary. If we change our minds, it shouldn't be too hard to
provide ecl-static and ecl-dynamic as separate implementations.

ECL is LGPL and some libraries it uses as part of its runtime are as
well. I've outlined in the ecl-static overlay why this should be of no
concern in the context of depot even though we are statically linking.

Currently everything is building except projects that are using cffi to
load shared libaries which have gotten an appropriate
`badImplementations` entry. To get the rest building the following
changes were made:

* Anywhere a dependency on UIOP is expressed as `bundled "uiop"` we now
  use `bundled "asdf"` for all implementations except SBCL. From my
  testing, SBCL seems to be the only implementation to support using
  `(require 'uiop)` to only load the UIOP package. Where both a
  dependency on ASDF and UIOP exists, we just delete the UIOP one.
  `(require 'asdf)` always causes UIOP to be available.

* Where appropriate only conditionally compile SBCL-specific code and
  if any build the corresponding files for ECL.

* //lisp/klatre: Use the standard condition parse-error for all
  implementations except SBCL in try-parse-integer.

* //3p/lisp/ironclad: disable SBCL assembly optimization hack for all
  other platforms as it may interfere with compilation.

* //3p/lisp/trivial-mimes: prevent call to asdf function by substituting
  it out of the source since it always errors out in ECL and we hardcode
  the correct path elsewhere anyways.

As it stands ECL still suffers from a very weird problem which happens
when compiling postmodern and moptilities:
https://gitlab.com/embeddable-common-lisp/ecl/-/issues/651

Change-Id: I0285924f92ac154126b4c42145073c3fb33702ed
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3297
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: eta <tvl@eta.st>
2021-08-24 22:00:15 +00:00
Vincent Ambo
a4c8e8da92 chore(tazjin/emacs): Remove dash-functional
This has been folded into dash itself.

Change-Id: I19e7a9fbc4d6206e3624b7c226de2225153689c6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3407
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-24 17:11:49 +00:00
Vincent Ambo
42074da865 refactor(tazjin/emacs): Simplify package selection
Lets trust that the Emacs overlay is using the right packages from the
right sources by default. I'm not overly attached to any specific
versions.

Change-Id: Id53a4587f680965f13b5cd329a10f0384ff97c13
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3406
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-24 17:11:49 +00:00
Vincent Ambo
592aab54b2 fix(tazjin/emacs): Reenable shortcut for telega
Change-Id: I96dd768b89273d748c3a865cf8605877716c26be
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3405
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-24 17:11:49 +00:00
Vincent Ambo
94e8e06c6c fix(tazjin/emacs): Remove temporary override for telega
The channel has caught up with this fix.

Change-Id: I86287a6808e6936e50e5d43cbafc74b9362e0bd8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3404
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-08-24 17:11:49 +00:00
sterni
77be4dfe37 chore(users/sterni/emacs): fix typo
Thanks tazjin!

Change-Id: I3c742e832bbc98fbf4112a7bea367d013a2ef722
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3401
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-24 12:33:23 +00:00
sterni
58b9a53d5c feat(users/sterni): add emacs configuration
Change-Id: Icbdb52ba5ea51e8594eb46c5f0740e4f7c353be4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3381
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-08-24 12:13:06 +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
Vincent Ambo
206f96fbed fix(tazjin/emacs): Temporarily unbind key for telega
Telega keeps getting loaded with old sources, the origin of which I
can not figure out, and which are not compatible with my Emacs
anymore. This means that opening Telega essentially breaks the active
Emacs until the telega process is killed.

Until I have time to properly sit down and debug where Nix decides to
get an old version of telega from (building the package directly from
a Nix REPL yields the expected one), I'll disable it to avoid
accidentally breaking my Emacs via muscle-memory.

Change-Id: I937ac3a2b208c08fa0ef0b6e3e201526baa3a522
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3367
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-16 15:27:52 +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
56c9fa9722 fix(tazjin/emacs): Temporary fixes to use unstable telega
The latest Emacs versions removed some (private) functions that telega
depends on, and this is fixed in HEAD of telega.el.

However, without these fixes, the unstable version of telega doesn't
build because the patch Nix tries to apply doesn't match the source
anymore.

The patch itself doesn't seem to do anything relevant for me.

Change-Id: Ib9a042c636cb438b2b15d231a07afd5c02be72ee
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3294
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-08 13:18:17 +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
Vincent Ambo
242f63fdd6 feat(tazjin/emacs): Add another window title pattern
Change-Id: Ia14fa72e896a9cfc9fab828bead9f7f33763c89b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3276
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-06 11:32:41 +00:00
Vincent Ambo
35ce86d4a8 feat(tverskoy): Install picom compositor
... for the rare cases where I am watching a movie on this laptop.

Change-Id: I9f6a5a4079b32a67d46e744c024c2accf09b3d6d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3273
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-08-04 14:49:55 +00:00
Vincent Ambo
3e14a78e8c fix(tverskoy): Ensure gtk-launch is installed
This is required for launching desktop applications from XDG shortcuts
via counsel.

Change-Id: I147fb0d6568e359c23655230b2a56214715827f6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3267
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-08-04 14:41:12 +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
Vincent Ambo
04ecf9cbbb fix(tverskoy): Set timezone to Europe/Moscow
Change-Id: Ibcf9322086d96847aa9c629c5535965db32ba4fe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3266
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-08-01 22:14:58 +00:00