Commit graph

21783 commits

Author SHA1 Message Date
Florian Klink
c9eae6d8d8 feat(ops/machines/build01): use large slots
build01 can deal with llama.

Change-Id: I9c01dabfb4dfff0061fd16ea37ef8dc0693ad453
2025-03-17 17:15:08 +00:00
Florian Klink
403d8fc897 chore(users/edef): move to contrib
Change-Id: I1a6972fab8ada26917f29607fc401e376d634070
2025-03-17 17:15:08 +00:00
Ryan Lahfa
a7916624dc feat(ops/users): move ops' keys in ops/
Change-Id: Ia51eaea658030a893e36d9d6b0c999ca7e71133e
Signed-off-by: Ryan Lahfa <raito@lix.systems>
2025-03-17 17:15:08 +00:00
Ryan Lahfa
073142f796 feat(ops/www/gerrit): backward compatibility to TVL shortlinks
cl.snix.fyi/q/$ID where $ID ≤ 30K will redirect (301) to
cl.tvl.fyi/q/$ID to keep the old links working.

Change-Id: I27b496a1c52a3de3d106292ba7a2931b0f15fa49
Signed-off-by: Ryan Lahfa <raito@lix.systems>
2025-03-17 17:15:08 +00:00
Florian Klink
dd392ef054 feat(ops/keycloak): add GitLab SSO
Change-Id: I41ee3cb2988288e6b282d85b111c41064f09eaec
2025-03-17 17:15:08 +00:00
Florian Klink
97f22e0ea6 fix(ops/modules/forgejo): disable downloading source archives
We're probably getting crawled by LLM scrapers, and this unnecessarily
fills up disk space.

Change-Id: Ib20d04337aa26a73889c97d12fb109261b8da56d
2025-03-17 17:15:08 +00:00
Florian Klink
b0ec1e1053 feat(web/website): add announcement blogpost
Change-Id: I68e9e832046c6e2e406ab24da2389b05c37de887
2025-03-17 17:15:08 +00:00
Florian Klink
4c65a325a8 public01: deploy snix.dev
Change-Id: Ia0a439dd1628299569503370c21a0bbf9552830e
2025-03-17 17:15:08 +00:00
Florian Klink
91d8b86b39 feat(web/website): init
This adds a new Website/Docs for Snix, using Thulite / Doks, which is
mostly hugo and a bit of npm.

Change-Id: Iea10d4068fa783ec0ddd6bcaba5c8d92b1a1168f
2025-03-17 17:15:08 +00:00
Florian Klink
2705517e6d feat(users/flokli): add another key
Change-Id: I8dcba025955b1a4c26b02cb3338edc64ae0af4ad
2025-03-17 17:15:08 +00:00
Florian Klink
6c81c536ab fix(tools/depot-deps): add nixpkgs-fmt
This ensures running nixpkgs-fmt in the depot uses the right formatter.

Change-Id: Ib02a97b17807ca7f99ab282122cb7e32377f446b
2025-03-17 17:15:08 +00:00
Florian Klink
9ac1b9a798 fix(ops/deploy-machine): drop
This doesn't look like it's actually being used.

Change-Id: I06e15d01b793748d9ed216b23b95a757bc2d0f0e
2025-03-17 17:15:08 +00:00
Florian Klink
dcbe231825 deps(third_party/npmlock2nix): add
This adds npmlock2nix. Cannot use upstream npmlock2nix due to
https://github.com/nix-community/npmlock2nix/issues/194.

Change-Id: I00a54dceb854b51ede3c2cb42bbbd9360cc5d76f
2025-03-17 17:15:08 +00:00
Florian Klink
944acead3e chore(web/snixbolt): move to contrib
Change-Id: Ic69648c526e6c1a0b769b26642b3c799872eb87c
2025-03-17 17:15:08 +00:00
Florian Klink
36e4d017f5 chore(snix): s/tvix/snix/
Change-Id: Iae961416eea0a38bc57df7b736f6dda5903b0828
2025-03-17 17:15:08 +00:00
Florian Klink
768f053416 feat(web/*): drop most things
Change-Id: I85dde8470a4cf737bc193e0b50d0a4b5ee6d7f56
2025-03-17 17:15:08 +00:00
Florian Klink
cff6575948 refactor(nix/*): drop yants and consumers, and some more
Change-Id: I96ab5890518c7bb0d4a676adbad20e4c49699b63
2025-03-17 17:15:08 +00:00
Florian Klink
001556aa30 feat(tools/cheddar): drop
We don't use this anymore.

Change-Id: Ief97047b28659a8f312217511c240d9d6b8744de
2025-03-17 17:15:08 +00:00
Florian Klink
4a34be023a refactor(nixos-tvix-cache): drop cheddar
markdown2html-converter is actually better at converting markdown to
html.

Change-Id: Ieec6b4de412c7c466a71c4ea542ef9ca950b5bee
2025-03-17 17:15:07 +00:00
Florian Klink
5a7899fa2a Revert "fix(tvix/cli): don't apply overlays for expectedPath in eval tests"
This reverts commit 9c159d65ca.

We don't override Nix, so there's no need to create another instance of
nixpkgs to workaround that.

Change-Id: I8d8fd467b7fdd924d8c72d52775bebe19fa41e8e
2025-03-17 17:15:07 +00:00
Florian Klink
a52ea3675c feat(*): initialize new Snix infrastructure
Co-Authored-By: edef <edef@edef.eu>
Co-Authored-by: Ryan Lahfa <raito@lix.systems>
Change-Id: Ica1cda177a236814de900f50a8a61d288f58f519
2025-03-17 17:15:07 +00:00
Florian Klink
067eff3427 fix(ops/pipelines): allow git+https://
We need this to fetch some third-party sources.

Change-Id: If542f88c5d517d20b530486fafbc7f6c391f072a
2025-03-17 16:18:26 +00:00
Florian Klink
df4500ea2b chore(*): drop everything that is not required for Tvix
Co-Authored-By: edef <edef@edef.eu>
Co-Authored-By: Ryan Lahfa <raito@lix.systems>
Change-Id: I9817214c3122e49d694c5e41818622a08d9dfe45
2025-03-17 16:18:26 +00:00
Florian Klink
bd91cac1f3 feat(LICENSE): add Snix Project
Change-Id: I04e1274ee2c393c82d7b05f7f470bf75757a2306
2025-03-17 12:45:09 +00:00
Vova Kryachko
50746f97b4 chore(tvix/castore): Fix macos build
castore using linux-specific fuse options that are not available on
darwin. Made those options to apply only on linux.

Change-Id: I75b3b6dae62b7bdda318ed99fdf6cf5353cb1ca9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13272
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2025-03-16 16:51:34 +00:00
Profpatsch
498c8e05f8 feat(users/Profpatsch/whatcd-resolver): serve torrent files
We want to be able to play the files directly from the web
browser (jukebox).

Luckily, transmission does not seem to change the filenames from the
ones given by the torrent file, so we can literally parse the torrent
file and construct a path to the media file, extraordinary.

Adjusts the caddy reverse proxy to serve the given transmission
directory (using my weird sshfs forwarding scheme in the shell.nix
preset lol), then redirect from a handler that maps from
torrentId/fileId to the actual file.

Change-Id: Iab5faf7cc06066f3253031af31e137c0e28f54e3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13270
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2025-03-15 19:11:00 +00:00
Profpatsch
10c8f3386b feat(users/Profpatsch/whatcd-resolver): use stylize CSS
Gets rid of the giant bootstrap dependency and replaces it with a
little CSS file that formats our table nicely.

Change-Id: I3e0bb552481503679e7b229c4feaa4e9805f5eae
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13269
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2025-03-15 16:32:01 +00:00
Profpatsch
18f565567a feat(users/Profpatsch/my-prelude): inline RevList defs
Change-Id: Iab727a98a8c078ce5f32d53aa87ee149356997d4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13266
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2025-03-15 16:32:01 +00:00
Profpatsch
b21d538a27 feat(users/Profpatsch/my-tools): init
It’s kitchen-sink time!

Change-Id: Ieb4f9e642920c3e0619475095e19005bcaf558bc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13265
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2025-03-15 16:32:01 +00:00
sterni
e812e0514d chore(3p/lisp/cl-date-time-parser): use nixpkgs/quicklisp src
Change-Id: Ic242b5e9d0dfac12f5f68243380d1dbc4c9f18df
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13231
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2025-03-15 15:47:01 +00:00
sterni
f0d5201018 chore(3p/lisp/trivial-ldap): use src from nixpks tracked quicklisp
Change-Id: I364f9d1f5ffb6647bc8bf2a98c18667654b55cef
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13232
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
2025-03-15 15:47:00 +00:00
sterni
0bcd5a82d4 chore(3p/sources/cl-yacc): bump source
No substantial changes, just some documentation updates.

Change-Id: I96e27d8c59e4cfb9a34750dbd10f4d3e51e36619
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13233
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2025-03-15 15:46:30 +00:00
sterni
fa336d98b0 chore(3p/lisp/easy-routes): get src from nixpkgs tracked quicklisp
Change-Id: I87cebcab7b98284ce1481fd4fd04f643d93ea87d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13227
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
2025-03-15 15:46:30 +00:00
sterni
6374725b17 chore(3p/lisp/cl-unicode): get src from nixpkgs tracked quicklisp
Change-Id: I3ba44109ed8988142ec7a5d188686c3654ceb34c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13234
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2025-03-15 15:46:29 +00:00
Aspen Smith
de45ca4afc feat(aspen/web): Work Updates
Change-Id: I74daf25a0c573766443f461fa3b7c04792d4de95
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13268
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2025-03-15 14:13:47 +00:00
Aspen Smith
dd03b59811 feat(aspen/emacs): Misc updates
Change-Id: I9383b23e5f038e505cb6dc0c8275103e6e1bd6bb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13267
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
2025-03-15 14:13:16 +00:00
Victor Fuentes
fa654a5dc9 refactor(tvix/castore/fs): set sane default option flags
Sets some sane default caching options and flags for
tvix_castore::fs::TvixStoreFs, greatly reducing latency on cache hits.

See: https://man7.org/linux/man-pages/man4/fuse.4.html
See: https://docs.rs/fuse-backend-rs/latest/fuse_backend_rs/abi/fuse_abi/struct.FsOptions.html
Co-Authored-By: Florian Klink <flokli@flokli.de>
Change-Id: Ie105249fc92f56604e7c337d5983e4038b775f42
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13002
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2025-03-13 19:05:48 +00:00
Florian Klink
e53adc75bf refactor(tvix/castore/directory/grpc): simplify put_multiple_start a bit
We don't need to be as verbose with the types, we can use Ok::<_,Status>
inside the async block.

Change-Id: Ibc92a9f7bdbc5031806b7eca82a01e2c7cb48c0a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13264
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Tested-by: BuildkiteCI
2025-03-13 19:04:25 +00:00
Florian Klink
e4999b3a7d refactor(tvix/castore): B3Digest UX improvements
- Switch from B3_LEN to B3Digest::LENGTH
 - make repr(transparent) with underlying [u8; Self::LENGTH]
 - impl AsRef<[u8; B3Digest::LENGTH]> for B3Digest
 - impl Deref<Target = [u8; Self::LENGTH]> for B3Digest

Change-Id: If4ff077bbd79de1fce4201259bda46c839a7765a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13258
Tested-by: BuildkiteCI
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: edef <edef@edef.eu>
2025-03-13 18:16:45 +00:00
Florian Klink
84f69cb73a fix(tvix/castore/directory): no Clone required in put_multiple_start
We don't do any cloning of self in here.

Change-Id: Id6d4aed25244f5a18eb663ad8686fab4c6aaf20b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13263
Reviewed-by: edef <edef@edef.eu>
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
2025-03-13 17:51:09 +00:00
Florian Klink
ca362c302b fix(tvix/store/daemon): don't report NotFound responses as errors
Before uploading a blob, a client usually checks whether a blob exists
via the stat method. We return a NotFound if it's not present.

Our TraceLayer currently considers this an error, logging a message.
This gets very noisy. Exclude InvalidArgument and NotFound, this is
expected behaviour.

Change-Id: I7da22a41fc6f3b8d422521a01530fc9e638e33ba
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13257
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
Autosubmit: flokli <flokli@flokli.de>
2025-03-13 17:43:35 +00:00
Florian Klink
4415afa9de refactor(tvix/castore/directory): borrow in SimplePutter
This means we don't need to clone self in all implementations using
SimplePutter.

Change-Id: I11347028801c43c5cc9920c0a9edf47627096bce
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13262
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: edef <edef@edef.eu>
Tested-by: BuildkiteCI
2025-03-13 17:38:52 +00:00
Florian Klink
54910b5bd8 refactor(tvix/castore/directory/redb): borrow in putter
We don't need an owned version of the database, a reference is
sufficient.

Change-Id: I84d10ad39c1db28f4f1dda26514c04418db48a27
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13261
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
2025-03-13 17:38:52 +00:00
Florian Klink
5618800895 refactor(tvix/castore/directory/object_store): borrow in putter
We can share the base_path with the DirectoryService.

We cannot share self.object_store, as object_store::buffered::BufWriter
wants an Arc<dyn DirectoryService>.

Change-Id: Icfe9d256774de48bb3b4d8afd32620a8188ecfdb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13260
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
2025-03-13 17:38:30 +00:00
Florian Klink
9267c1edf5 refactor(tvix/castore/directory): allow DirectoryPutter to have refs
We can require DirectoryPutters to not outlive the DirectoryServices
they originated from.
This allows borrowing some data from there.

Change-Id: I82a4c17b06b3b0ae5cf84d35561f1aae049a2cdc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13259
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: edef <edef@edef.eu>
2025-03-13 17:38:04 +00:00
Florian Klink
4535824166 refactor(tvix/glue): move toFile to import builtins
This does import the contents into the store, so it should belong in there.

While moving, I also noticed the code copying to the BlobService can be
shared with the one used when importing a blob via import helper.
It was a bit hidden - due to the contents being available as a bytes, we
used a Cursor and wrote it with tokio::io::copy.

However, Cursor implements both AsyncRead and Read, so we can factor out
the copying code into a copy_to_blobservice helper function and use it
in both places.

The output name being wrong error kind arguably is still a bit misplaced
here, but that's left for later.

Change-Id: Iec3c422c12270ee111f864d2b78c0861f78edfa4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13254
Reviewed-by: Domen Kožar <domen@cachix.org>
Tested-by: BuildkiteCI
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2025-03-13 12:08:04 +00:00
Florian Klink
ba54ba47ee docs(tvix/cli): fix docstring
We cannot just escape the square brackets as rustdoc suggests, because
clap outputs the docstring verbatim, without any escaping to the user.

Change-Id: I7ce7932e35ee1b01bccbc142a7bdc7af9ce7e51e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13256
Tested-by: BuildkiteCI
Reviewed-by: Marijan Petričević <marijan.petricevic94@gmail.com>
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Domen Kožar <domen@cachix.org>
2025-03-13 11:54:01 +00:00
Florian Klink
b8e3e3c828 docs(tvix/tracing): fix docstrings
Change-Id: Ibcdd50bfd20afd925a6f9eeacc436efdadbe5662
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13255
Reviewed-by: Domen Kožar <domen@cachix.org>
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Marijan Petričević <marijan.petricevic94@gmail.com>
Tested-by: BuildkiteCI
2025-03-13 11:54:01 +00:00
Florian Klink
2036487de8 docs(tvix/glue): add_*_builtins: fix docstring
This modifies the EvaluationBuilder, not Evaluation.

Also add some missing builtins from the docstrings.

Change-Id: Ibf76b496874158fb85b21e52e7c3561e66cffaba
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13253
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: Domen Kožar <domen@cachix.org>
2025-03-13 11:37:57 +00:00
Florian Klink
f9ceebe031 docs(tvix/glue/builtins): drop TODO
builtins.filterSource and builtins.path itself are very short these
days, and use the same underlying (private) helper function.

Describing builtins.filterSource with builtins.path won't lead to less
code, so this TODO can be dropped.

Change-Id: I5457949136e19204b32c8182b6c89e66cc2183e2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13252
Reviewed-by: Domen Kožar <domen@cachix.org>
Tested-by: BuildkiteCI
Reviewed-by: Marijan Petričević <marijan.petricevic94@gmail.com>
Autosubmit: flokli <flokli@flokli.de>
2025-03-13 11:37:57 +00:00