Commit graph

2982 commits

Author SHA1 Message Date
sterni
975b9603cc refactor(sterni/plan9port): move custom install logic into wrapper
The wrapper allows me to pick and choose what to install and also to set
some extra environment variables if necessary. A separate wrapper
derivation prevents the hefty rebuild of the entire plan9port derivation
when making changes.

Change-Id: I3f96cc3e31baf3bd37ae419578c5789aa093e578
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13038
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2025-01-22 18:14:51 +00:00
sterni
623ebc615f feat(sterni/acme/plan9port): make my plumbing rules the default
To avoid the need for two different versions of plan9port in the CI
pipeline, just move the plumbing sanity check into installCheckPhase.
For local iteration you'd have a plumber running anyways, so the short
build time of the plumb derivation isn't really a necessity.

Change-Id: Ib0ba5fa2d8107530fb7d1144cf7395f4f5a3cd12
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13035
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-01-21 20:19:56 +00:00
sterni
9743fbf6b7 feat(sterni/acme/plan9port): allow entering BQN chars via compose
plan9port completely ignores XCompose because it has its own compose
mechanism (which is mapped to the same key). The sequences are defined
in /lib/keyboard and need to be compiled in.

Support for the BQN unicode characters is achieved by generating the
necessary lines for /lib/keyboard from the .inputrc (for GNU readline)
that is part of mlochbaum/BQN (simply because that file is somewhat
parseable and stores the sequences in ASCII, contrary to .XCompose).
This is implemented by a small BQN script which is executed in
postPatch.

All usual sequences are supported except those that map to the second
ASCII character of the sequence. These exist to keep certain characters
typeable in other input system. Thanks to the explicit compose key,
Plan 9 doesn't have this problem.

Change-Id: I590c03fd69a2aae3cbbbd39ebcbce6cec0418b50
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13034
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2025-01-21 20:19:56 +00:00
sterni
3b9d5a02ce feat(sterni/acme): import my patched plan9port from vuizvui
This is equivalent to
<2e4032c31b>,
with the addition of patchesFromDir to assemble a list of patches.

Import into depot since I'm interested in adding some depot specific
configuration and tools to (mainly) acme that doesn't make sense to
track outside of depot. Since persisting user configuration and tooling
with plan9port is annoying, it's easier compiling it in to begin with.

Change-Id: I565a285368485c7ce1d5caa7baa87a8ca86abcb7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13033
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-01-21 20:19:56 +00:00
sterni
47cda5e89f feat(sterni/acme): add initial plumbing rules
Rules for the Plan 9 plumber (see https://9p.io/sys/doc/plumb.pdf)
allowing quick navigation through depot (and related services) in acme.

- man, urls: some rules that I like taken from /plumb/basic and split
  across individual files.
- tvl: incomplete support for TVL short links and targets:
  - //…
  - cl/…
  - b/…

As mentioned, these are incomplete and I want to implement the remaining
short links and things like git support. I want to continue
experimenting with the plumber, but what I've got so far is already
pretty cool. Eventually, I'll want to implement something equivalent for
Emacs (maybe via Hyperbole) which is probably going to be of general
interest to depot users.

Change-Id: I678f000369db4c7ce30b2aedbc2dbccf3ddef0a9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13026
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2025-01-21 20:18:54 +00:00
Aspen Smith
5a2737299a feat(aspen/goodcry-band): jan '25 updates
Change-Id: I340946d51e322d176799cee1f31b5683154461aa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13027
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
2025-01-21 01:56:59 +00:00
sterni
a031b918b1 test(sterni/blipqn): add sanity check
This tests that a single pixel is set in the correct place and correctly
sent over UDP.

Change-Id: I617dda739262b4c6cf55c0bf99d2f3e141adece3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13013
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-01-17 15:50:33 +00:00
sterni
10dc365e34 feat(sterni/blipqn): print some extra information when using :debug
Change-Id: I92ebde397e679c7e3f8ddcf6fcecd6af5c84f629
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13012
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-01-17 15:50:33 +00:00
sterni
a9e121380b feat(sterni/blipqn): reuse address and socket for multiple Sends
This is achieved by storing the resources we need to acquire for
interacting with the flipdot (socket fd and addrinfo struct) in a
`struct flipdot` that is dynamically allocated and treated as an opaque
pointer object via the BQN FFI.

To make sure these resources are released correctly, we only provide a
lisp style WithFlipdot to the user which takes care of acquiring and
releasing the `struct flipdot`. This works even if an error occurs in
the function the user provides thanks to _defer_. I'm not sure if
calling it _defer_ is right since Go's error handling works differently,
so defer really is deferred execution in a sense which doesn't really
fit what we're doing here. The closest is probably Haskell's bracket,
but that name references it's triadic nature which doesn't fit our
implementation.

Change-Id: Iff65d277a448dbe0c6ac93e816ece5ab6fa10190
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13011
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-01-17 15:50:33 +00:00
sterni
1027e21eee feat(sterni/blipqn): interact with a flipdot display from BQN
The idea of this “library” is to do the least. The most natural way to
represent the image to render on a flipdot image is a two dimensional
array of booleans. This something BQN is very well equipped for, i.e. it
has primitives that are designed to deal with this type of data
structure. The only thing we have to do is to take care of sending such
arrays to the flipdot display via the μCCC's un(der)documented UDP
protocol.

Compact implements the conversion from a boolean array to a bitmap that
only uses 1 bit per pixel. All socket code is written in C and invoked
via •FFI. Currently, every time a bitmap is sent to a display, the
target host has to be resolved again. This should be fixed in the
future.

Change-Id: Idea7c81baac919da93c88a69f98cbbbd026fa328
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13010
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-01-17 15:50:33 +00:00
sterni
b51720f844 feat(sterni/emacs): search through all org files
It can also be useful to find things I've noted down in my todo lists.

Change-Id: I6f3d7da49bfd4392c70e5b14c21b1d659645867e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13009
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2025-01-16 22:19:12 +00:00
sterni
689fee1398 feat(sterni/machines): enable fail2ban for ssh
The upstream module is kind of inscrutable so it may be nice to port it
to a simple reaction setup. Since that's probably going to require
writing rules manually, though, I'm putting this off for now.

Change-Id: Ic3d8c5f2d1b08701f0dc5b8b4eb57dc45bcd58ee
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13008
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-01-16 22:19:12 +00:00
Profpatsch
3953fd7030 feat(users/Profpatsch/whatcd-resolver): add simple settings
For now just a setting whether we want to use freeleech tokens.

Change-Id: I1c0228031df8c79c2ec26ec5bdfef6dde1cb373e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13007
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2025-01-16 19:44:32 +00:00
Profpatsch
3e5b3b82a6 feat(users/Profpatsch/whatcd-resolver): generic otel struct attrs
A generic way to turn Haskell structs into json objects, and therefor
to otel attributes.

I don’t know how to make it so I can give anything where Rep
implements that thing a `toOtelJsonAttr` implementation, things
overlap too much if I do that …

Change-Id: Iededb697dff206ddc6481a2eead210d44faa70c9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13006
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2025-01-16 19:44:32 +00:00
Profpatsch
5d31e25588 refactor(users/Profpatsch/whatcd-resolver): response struct as GADT
I got stuck with unsolvable type inference problems using HasField and
a struct here, since this is all returning an enum anyway, why not
just use a GADT. It seems to work just fine and is more
ergonomic (still not very, but this is Haskell).

Change-Id: I1b5d0f98528ff85c0e3044bc730b660972142cd6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13005
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2025-01-16 19:44:32 +00:00
Vincent Ambo
d2d06241a0 feat(ops/tvl-cache): add option for using experimental cache
Adds a `tvl.cache.builderball` option for cache *consumers* which enables the
experimental builderball cache. This cache uses whitby AND nevsky.

Change-Id: I4d99ba52d6ebd9a49e6fcb931d01e69383b15bcf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12986
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-01-14 17:51:21 +00:00
sterni
5dd66ab066 feat(sterni/ingeborg/monitoring): send smartd warnings to IRC
Though netdata integrates smartd data it doesn't generate warnings like
smartd does. It would be nice to have them go to IRC. The NixOS module
for some reason has decided to implement its own very restricted
notifications framework on top of the one that smartd provides
dispatching to either mail (note that this is implemented in the NixOS
module and doesn't use smartd's own support for this), wall(1) or some
systemd mechanism. This is implemented in some shell script that can't
be provided by the user.

Luckily, the module is relatively small otherwise and we can easily
inline the relevant service definitions and use our own script instead.

Change-Id: I1e1ceff3c21a92ac42079c02813366671141b9b4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12969
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-01-11 16:11:46 +00:00
Vincent Ambo
b9e0a682ab fix(users/tazjin): disable systemd user slice freezing
I have a suspicion that some systemd bugs around this feature (I actually
couldn't figure out what it does and why?) introduced in systemd 256 lead to
issues with suspend that I've seen in recent times.

In the issue, my machine is seemingly frozen after resuming from suspend. I'd
seen this previously on EXWM with xsecurelock, but now I'm seeing it on niri
with swaylock, where it is more severe because switching to a VT is impossible.

Upstream tickets:

- https://github.com/systemd/systemd/issues/33083
- https://github.com/systemd/systemd/issues/33626
- https://bugzilla.redhat.com/show_bug.cgi?id=2321268

I'm not running a VM, but there seem to be multiple different bugs leading to
this, so who knows. It's worth a try.

The long-term fix will be getting rid of systemd)

Change-Id: Ie985a3f222f3daac1e3c7db79ee8624c66297374
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12961
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2025-01-07 09:45:08 +00:00
Thomas Koch
5c9e671c1f feat(users/thk): add OWNERS
Change-Id: I141bd12ff83dae0debe664d0ef5d21d109660688
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12959
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2025-01-07 03:57:33 +00:00
Profpatsch
3040fe2e90 feat(users/Profpatsch/whatcd-resolver): implement artist refresh v0
This is kind of a chonker because I went into so many rabbit holes.

Foremost this implements a simple “Refresh Artist” button that fetches
current artist torrent groups.

BUG: the `artist` endpoint torrent struct is shite, it’s missing most
info that we get in the `search` endpoint torrent struct, plus it’s
organized differently (e.g. the `artists` thingy is in the
torrent_group not the torrent).

I should switch everything over to fetching the `torrent_group.id`s
first and then going through and slowly fetching every torrent group
separately … however that might time out very quickly. ugh. There
doesn’t seem to be a way of fetching multiple torrent groups.

Random other shit & improvements:

* intersperse for builders
* fix json errors so that the structs don’t get too
  big (`restrictJson`)
* show error messages as json so jaeger displays it with nested UI
* color pretty-printed json outpt on command line
* add some important integral functions to MyPrelude
* add `sintersperse` and `mintersperse` to MyPrelude

Change-Id: If8bfcd68dc5c905e118ad86d50d7416962bf55d4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12960
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2025-01-06 16:43:05 +00:00
Profpatsch
cabb8cd3d0 fix(users/Profpatsch/whatcd-resolver): handle redacted too many req
We can’t do more than like 5 requests right next to each other, so
let’s handle the timeout they request.

This kinda destroys search speeds for large search results,
so we might have to filter out collections somehow, or do something
smarter like schedule things out and show a preliminary result at one
point.

Change-Id: If916379eb6e19cf8e960cf7553965b338645e560
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12958
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2025-01-05 21:00:11 +00:00
Profpatsch
08131be8e0 feat(users/Profpatsch/whatcd-resolver): improve release sorting
Change-Id: I4f9ce0c563b21e0cf8dc688e92438e20c103a2de
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12957
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2025-01-05 21:00:11 +00:00
Profpatsch
77aadfa46c refactor(users/Profpatsch/whatcd-resolver): use builder for otel
This makes `addAttribute` a little nicer to handle, because we can now
just put a `(builder, value)` tuple (yay, orphan instances!)

Change-Id: I145a0d2b764d44755fb3c548a40188f13ee4ed83
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12956
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2025-01-05 21:00:11 +00:00
Profpatsch
444b67b010 feat(users/Profpatsch/my-prelude): add builder & divisible helpers
I’ve had enough of `show & stringToText` bullshit, let’s finally
create a trivial builder contravariant module that wraps
`Text.Builder` and `ByteString.Builder` and has a naming scheme that
does not collide with anything and that I can remember in my sleep.

Plus some experiments in making `Divisible` useful with `HasField`.

Change-Id: Ie25f78226d24eadf4c35353fe9db40b7683d82c3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12955
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2025-01-05 21:00:11 +00:00
Profpatsch
a14a7e6ec9 fix(users/Profpatsch/whatcd-resolver): handle weird search results
Apparently they added the ability to add random files (e.g. pdfs), and
the API returns undocumented objects if that happens.

Let’s skip these.

Change-Id: Icd783a6ed2114520e5c524f2a2c3acfcb67d792e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12954
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2025-01-05 21:00:11 +00:00
Profpatsch
428f574b75 feat(users/Profpatsch/whatcd-resolver): add ToOtelJsonAttr
Small helper class for putting a json otel attribute from random
types, via Enc.

Used for the redacted requests for now.

Change-Id: I29c31de01f1f5eb3f63ce5639e5b4df4f9b0dc40
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12953
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2025-01-04 21:47:34 +00:00
Profpatsch
722499d8a9 feat(users/Profpatsch/whatcd-resolver): show json val on parse err
The json parsing library gives us an error path where the parse
failed, which means we can index into the path to show the json value
that failed us.

This can be quite expensive (and large!) of course, but the error
message clarity is worth it methinks.

Change-Id: Icacbd799254aaecd4a939ca13e6070d68a78138d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12952
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2025-01-04 21:47:34 +00:00
Profpatsch
0319b5e6c0 feat(users/Profpatsch/whatcd-resolver): allow more than albums
When searching for an artist, we only put albums before, but now let’s
fetch all releases and group them by release type.

I group & sort on the backend instead of the database, cause it’s a
lot easier to express in Haskell code and the amount of data stays the
same (except for the filter for singles which I might move into the
SQL at one point?)

Adds a prelude module for better dealing with comparisons.

Change-Id: Iff235af611b6e1bac71b118a8a04fc73cacd169f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12951
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2025-01-04 21:47:34 +00:00
Vincent Ambo
54f72afcda chore(3p/sources): bump channels & overlays (2024-12-31)
Last one of the year! С наступающим)

Fixes:

* users/wpcarro: remove use-package from emacs packages (it has been built-in
  for a while now)
* users/sterni: the same thing
* users/aspen: remove `coz`, forwardport `gdmap` from stable
* users/flokli: dropped corneish_zen firmware from CI
  This firmware depends on a non-reproducible FOD which, when updated, causes
  build failures. We have worked around this repeatedly, but it needs to be
  fixed properly.
* tvix: regenerate Go protobufs
* tvix: address new clippy lints
* tvix/{castore,store,build}-go: update grpc/protobuf libraries
* tvix/eval: formatting fixes
* 3p/overlays/tvl: work around GCC 14 -Werrors

Change-Id: Ice5948ca7780192fb7d2abc6a48971fb875f03c9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12933
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2025-01-01 17:35:13 +00:00
Vincent Ambo
7ea442b21a fix(tazjin/dotfiles): fix default screen scale on tverskoy
For some reason it keeps getting scaled to 1.25, which is too big.

Change-Id: Idbe938bb94f92c72275ee715d21004a3d9372496
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12935
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-12-31 15:23:34 +00:00
Vincent Ambo
d1cafeae1f chore(tazjin/tverskoy): disable docker
Change-Id: I91bb19175db67ce6e44eec907883dd891122c568
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12934
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-12-31 15:23:34 +00:00
sterni
57a9874588 chore(nix): move buildManPages to //users/sterni
It's only used in my user directory and I don't feel it's generally
useful. There's so little to interpolate you may as well just check them
in.

Change-Id: I31dc9917c2b281c7d68388e1a32c8ef5179621df
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12873
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-12-31 09:03:38 +00:00
sterni
d47c7fa12b feat(sterni/nix/html): make <html> also emit doctype
This makes the awkward withDoctype utility obsolete which is much nicer.
Technically, this is a BREAKING CHANGE since it was possible to create
valid documents without an <html> tag before:

    withDoctype (lib.concatStrings [ (<head> { } …) (<body> { } …) ])

I don't think this usecase is worth preserving since this can just be
written as

    <html> { } [ (<head> { } …) (<body> { } …) ]

and omitting the <html> tag is not recommended since it should be used
to set the language of the document (which we didn't in the example
above).

Change-Id: Idc5104ce88fe8bee965c076229b79387915c3605
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12907
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-12-31 09:03:37 +00:00
Florian Klink
b12ea8d786 fix(users/flokli/nixos-tvix-cache): use escapeSystemdExecArgs
escapeSystemdExecArgs is the function that should be used to escape
Exec* service lines.

See a72b1b3c65/nixos/lib/utils.nix (L122-L128)

Reported-By: matrix:u/lukas:luflosi.de
Change-Id: Ia3a628db221a30310154c060a6e29ccb2c94c352
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12930
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2024-12-30 10:30:04 +00:00
sterni
131e7cca10 chore(3p/sources): Bump channels & overlays (2024-12-22)
* //users/flokli/keyboards/chocofi:
  The hash got invalidated somehow which I've updated (to what
  https://buildkite.com/tvl/depot/builds/37991#0193f512-78ba-491f-af60-a23e987def95
  showed). This seems to have triggered an update of ZMK and some
  options have gotten renamed.

Change-Id: I5a62cd4636c23bfdeae671da7b8acb0f02cc2263
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12905
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-12-29 15:02:22 +00:00
sterni
08981e63c6 chore(3p/sources): Bump channels & overlays (2024-12-02)
* //tools/nixery/popcount:
  replace removed buildGoPackage with buildGoModule.

* //users/aspen/system/system/modules:
  pkgs.nerdfonts has been removed. Instead we have a
  pkgs.nerd-fonts attribute set that contains all fonts
  as individual derivations.

* //users/tazjin/presentations:
  The ms package was removed from texlive for some reason
  in the latest release. Replace it with the packages it
  bundles (according to CTAN).

* //tvix/verify-lang-tests:
  Test on latest Nix release 2.25.2.

* //tvix/*-go:
  regenerate code from protobufs.

Change-Id: I19fcb3a0267f929f6e7388aa69ad99ac53b62236
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12859
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-12-29 15:02:22 +00:00
Florian Klink
4dce88e997 feat(users/flokli/nixos-tvix-cache): increase scraping interval
This provides more resolution in the dashboards.

Change-Id: I06e7260250e58fe62bbda41b67d84e0c5cacfbd2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12927
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
Reviewed-by: Jörg Thalheim <joerg@thalheim.io>
Autosubmit: flokli <flokli@flokli.de>
2024-12-27 18:14:40 +00:00
Florian Klink
7dfe147c4d fix(users/flokli/nixos-tvix-cache): bump trace size limit
We produce traces bigger than what tempo accepts by default, causing
traces to be rejected with TRACE_TOO_LARGE and to then be incomplete.

Bump the max size.

Change-Id: I8caa245d14db683853485ee5625c9662ea51ce29
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12926
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
2024-12-27 16:00:58 +00:00
Florian Klink
9fdf6b3cd1 docs(users/flokli/nixos-tvix-cache): don't use mkForce
There's no need to mkForce anything in that list.
Nix reads nix-cache-info to determine priority.

Change-Id: I08797ed25348f52f5696f80558d206b73d20dead
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12925
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
2024-12-27 15:50:23 +00:00
Florian Klink
b65d40261b fix(users/flokli/nixos-tvix-cache): drop private bind mounts
The mount didn't get applied for some reason, explicitly configure the
path.

Change-Id: Ie41eb3c1d5f6416493211fb77709aaeecf61edf0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12924
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
2024-12-27 15:50:23 +00:00
Florian Klink
95e8a0a801 fix(users/flokli/nixos-tvix-cache): set timeInterval for metrics DS
The data source defaults to 15s of time interval. As alloy scrapes every
60s only, this causes watching dashboards with a smaller time range to
just not show any data, like the CPU graph being empty for a time range
< last 12h.

Fix by setting time interval to 60s.

Co-Authored-By: WilliButz <willibutz@posteo.de>
Change-Id: Ife306b2fda968654cad818a82f99e0011819be3c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12923
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2024-12-27 13:37:36 +00:00
Florian Klink
b36f2e3a32 fix(users/flokli/nixos-tvix-cache): BindPaths is serviceConfig
Putting this into UnitConfig won't work, so the bind mount didn't
happen, causing the blobs to be created on the SSD too.

This was already deployed and the data migrated over.

Change-Id: Ie30c8f458cdad8b764817a48a048ec3ca3c18e64
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12922
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2024-12-27 12:54:29 +00:00
Florian Klink
b2a2225b8b feat(users/flokli/nixos-tvix-cache): put metadata on SSD
Move the Directory and PathInfo storage to the SSD, and only bind-mount
the blob storage from the HDD.

This should improve IO for random access.

Change-Id: Icf9408a879dec8a52541953682ffac25b31e73d3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12921
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2024-12-27 11:58:01 +00:00
sterni
22023fdc8d docs(sterni/mblog/maildir): add more references
Change-Id: Ie3367d05c1cf76ee98501f0527c1da6f3282b4fe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12920
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-12-26 14:03:57 +00:00
sterni
9d0b9a8395 refactor(sterni/mblog/mail-note): make dependency on config explicit
We reuse the common buffer size setting from mblog for convenience.
Eventually we probably want to make mail-note an independent library, so
it's good to make this internal dependency explicit and not a blanket
USE-PACKAGE, so the amount of used symbols from config doesn't increase.

Change-Id: I88458493c90d9f52410e34ed2a1db99be751b901
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12914
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-12-26 12:59:03 +00:00
sterni
1f5e1383f5 fix(3p/lisp/mime4cl): make MIME-BODY-STREAM always return characters
Because OPEN-DECODED-FILE-PORTION only knows about transfer encodings it
would only return a character stream for 7bit encoded bodies. This
causes inconsistent behavior where some bodies would return binary and
some character streams. To fix this, we specialize MIME-BODY-STREAM for
MIME-TEXT parts which may or may not be a good enough solution.

We may actually want to make MIME-BODY-STREAM binary always and let the
user handle decoding?! This may be a good idea to take care after yet
another stream machinery redesign.

Since the mime4cl test suite doesn't test MIME-BODY-STREAM (much), add a
message generated by notemap that hits this issue to the mblog golden
test suite.

Change-Id: Ie340c42ced6c693af9b3c84b177408d6b6d2c9c4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12913
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-12-26 12:59:03 +00:00
sterni
0ead86ec89 chore(users/sterni/mblog): rename apple-note to mail-note
The type identifier Apple uses is com.apple.mail-note, so “Mail Note” is
actually the best way to refer to this format. Not only doesn't it
include a trademark, but it's also more accurate. The iOS and macOS
Notes.app(s) allow authoring Notes to be saved in iCloud which seems to
use a different API and/or storage format (at least these notes are no
longer accessible via IMAP). In this sense they are “Apple Notes”, but
not “Mail Notes”.

Change-Id: I2fd3d3bd253ed39adf7965008290f7d1e622831d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12815
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-12-26 12:59:03 +00:00
sterni
b8e4da856f test(sterni/mblog/golden): check mblog against expected output
This should allow for refactors with more confidence as we can make sure
base functionality stays the same. It is important to test image
extraction, so unfortunately we need to check in a base64 rendering of
an image file. I've used //users/tvlbot.jpg, so git should at least be
able to deduplicate the extracted content. Note that this was achieved
by altering the note message since I wasn't able to add the picture in
the iOS Notes.app without the image being recompressed.

To get extra benefit, we also add the test note to the mime4cl test suite.

The expected output can be updated with

    mblog $(mg build :maildir) expected

Change-Id: I0aa493b206439018ad89745bacbd47af78bd1396
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12911
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-12-26 12:59:03 +00:00
sterni
7ebf6be3a3 feat(aspen/web/orgExportHTML): allow bringing your own config.el
`configFile` is chosen to match the terminology used in NixOS modules. I
think this is quite useful since you can do a lot via the config file
since you can not only set the HTML export setting via the org file
header, but also through various emacs variables (see
<https://orgmode.org/manual/HTML-specific-export-settings.html>).

Change-Id: If4d66348e3043f62782106e7fd34f5cf5c7071a4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12651
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-12-25 18:43:28 +00:00
Profpatsch
bcaf9c6074 fix(users/Profpatsch/alacritty): work around missing /etc/bus/ddcci
For some reason the driver does not mount the bus sometimes, in that
case just call the tool directly without a specific bus, so we get at
least some sort of brightness adjustment (lol).

Change-Id: Ie8fe8c500fb1025609b569715e681e053e6e06ed
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12909
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2024-12-25 17:34:09 +00:00