Commit graph

430 commits

Author SHA1 Message Date
Paul Meyer
7957909977 fix(web): remove windows line endings
Change-Id: I41ce21a927dfac5bfc9697cfce3058f3af87bb00
Reviewed-on: https://cl.snix.dev/c/snix/+/30231
Autosubmit: Paul Meyer <katexochen0@gmail.com>
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-03-21 13:29:01 +00:00
adisbladis
726ce7ca9b chore(web): Build website using importNpmLock from nixpkgs
This allows us to remove npmlock2nix as a dependency.

Change-Id: Ic08a2ba082618292c6ea34141bcaeb3b04a306a9
Reviewed-on: https://cl.snix.dev/c/snix/+/30117
Tested-by: besadii
Reviewed-by: Florian Klink <flokli@flokli.de>
2025-03-19 12:16:24 +00:00
Paul Meyer
615c24a9c8 fix(website): add missing dollar signs
Change-Id: Ia7bea559cb2de651909d068ee312d721c2ae9983
Signed-off-by: Paul Meyer <katexochen0@gmail.com>
Reviewed-on: https://cl.snix.dev/c/snix/+/30138
Tested-by: besadii
Reviewed-by: Florian Klink <flokli@flokli.de>
2025-03-19 11:28:03 +00:00
Paul Meyer
dce4263607 fix(website): make $ non-selectable
This will fix the copy button to copy the line without $.

Fixes #78

Change-Id: If569efb01e8bf0008d111bfcd74b5dbf3c73ea81
Signed-off-by: Paul Meyer <katexochen0@gmail.com>
Reviewed-on: https://cl.snix.dev/c/snix/+/30137
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-03-19 11:27:03 +00:00
Paul Meyer
0b717258f0 fix(website): remove all windows line endings
Change-Id: I340486d90a1fb74e26b31f1f330f61ee2b570c43
Reviewed-on: https://cl.snix.dev/c/snix/+/30139
Autosubmit: Paul Meyer <katexochen0@gmail.com>
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-03-19 11:15:01 +00:00
Márton Boros
dd3bd7563d fix(docs): Typo in building guide repo url
Change-Id: I3b5db647fa8e187ddd28cb6cfb6d60dddb1d4611
Reviewed-on: https://cl.snix.dev/c/snix/+/30068
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-03-17 23:26:54 +00:00
Florian Klink
dd392ef054 feat(ops/keycloak): add GitLab SSO
Change-Id: I41ee3cb2988288e6b282d85b111c41064f09eaec
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
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
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
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
sterni
5615813e72 fix(web/panettone): initialise *oauth2-redirect-uri* at runtime
Optimisations seem to cause *oauth2-redirect-uri* to be baked in if we
try to check the environment in DEFVAR.

Change-Id: Id53b880061239141936298f673ff8e745442af94
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13186
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-03-02 13:50:18 +00:00
Vincent Ambo
5f17df8548 chore(3p/sources): bump channels & overlays (2025-02-02)
Included changes/fixes:

* bumped all `wasm-bindgen` usages again
* regenerated protobuf files
* keycloak terraform provider has been migrated to new name
  This also included a state migration in the bucket, which I've already
  performed.
* tvix/boot: disable tests that are broken in CI
* users/aspen/yeren: avoid upgrading kernel to 6.12
  digimend depends on a fix: https://github.com/NixOS/nixpkgs/pull/378830/

Change-Id: I657dcf5c4d0d08f231bfe30e37c8062bfcfaaa32
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13098
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: tazjin <tazjin@tvl.su>
2025-02-09 09:00:22 +00:00
Vincent Ambo
c88fae5277 chore: remove whitby configuration
Removes whitby DNS records and other related configuration that is no longer
required now that whitby is gone.

whitby served us well. RIP.

This resolves b/433.

Change-Id: I56fe6f88cde9112fc3bfc79758ac33e88a743422
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13117
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
2025-02-07 22:18:00 +00:00
sterni
dd5100acf5 chore: rewrite uses of cs.tvl.fyi to code.tvl.fyi
I've checked the new links manually.

- //web/tvl: changed the target path of links to the tvix docs since
  they were moved in r/2378.

- //users/aspen/resume: Tvix is no longer //third_party/nix.

Change-Id: I419bae1a46bdccc7baa7327215aa2368ffc0f01c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13043
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: fogti <fogti+devel@ytrizja.de>
Reviewed-by: tazjin <tazjin@tvl.su>
2025-01-30 02:19:06 +00:00
sterni
a484ed7981 test(web/atward): remove leftover reference to cs.tvl.fyi
Change-Id: If5ef3811eed7699981aca831f23b5115b02289c9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13046
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-01-29 22:22:52 +00:00
sterni
fe2a1f035c fix(web/todolist): generate links to code.tvl.fyi
Change-Id: I4116eedcebcedf44594e160d580d8840914d2537
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13045
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2025-01-29 22:22:52 +00:00
Vincent Ambo
5cdede844f feat(planet-mars): add CI configuration
Adds CI configuration that builds the Rust package, and exports the package back
to Github after submits to canon.

Change-Id: I2f8dcff2a614898c55115f44510543ff25d46b55
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12996
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: thk <thomas@koch.ro>
2025-01-13 09:06:40 +00:00
Vincent Ambo
0a83e6567b subtree(web/planet-mars): import project from previous upstream
This project is moving into the depot. Upstream is
github/thkoch2001/planet-mars.

This commit does not yet add a Nix build, only imports the code and matches
formatting requirements.

The import has been josh-filtered, which will allow us to continue publishing
the history to the previous repo.

Change-Id: I9cb184b5af3f74a0b4079bac499b4db039b7939b
2025-01-13 11:48:33 +03:00
Thomas Koch
1d9812d3cb also commit Cargo.lock 2025-01-13 09:27:39 +02:00
Thomas Koch
0bd9eb5051 update README 2025-01-13 09:26:36 +02:00
Thomas Koch
08160c315b fix previous commit :-( 2025-01-12 21:15:26 +02:00
Thomas Koch
ac805654bd set explicit versions for deps and update 2025-01-12 21:14:37 +02:00
Thomas Koch
ef8c39ed85 fix double https://https:// in useragent 2025-01-12 21:14:20 +02:00
Thomas Koch
c8c0f691ab fix typo in atom template, link element 2025-01-12 20:49:38 +02:00
Thomas Koch
150314936c get authors also from feed data + some css 2025-01-12 20:13:18 +02:00
Thomas Koch
4a9f5201d1 add some docs 2025-01-12 13:02:45 +02:00
Thomas Koch
81f1e22d53 generate a blogroll 2025-01-12 11:23:31 +02:00
Thomas Koch
a345107228 resolved error handling todos 2025-01-12 10:58:15 +02:00
Thomas Koch
fabd40e0b6 add Cargo metadata 2025-01-11 21:44:16 +02:00
Thomas Koch
2fa661c752 rm done todos from readme 2025-01-11 21:26:54 +02:00
Thomas Koch
cfab9ef5c0 implemented also atom feed via template 2025-01-11 21:17:55 +02:00
Thomas Koch
8b17e93d74 stuff 2025-01-11 13:45:03 +02:00
Thomas Koch
85b5c2be89 Fix caching
Nginx's std cfg only returns 304 with If-Unmodified-Since header, if the date
is exactly the one it expects, not the date the client did its last request.

This makes sense as it is much easier to compare two strings for equality than
to parse the date received from the client and check the ordering with the
server known last_modified value.
2025-01-11 13:38:20 +02:00
Thomas Koch
3bee93ecb3 generating html from 12 feeds works 2025-01-10 20:17:06 +02:00
Thomas Koch
b422ece932 . 2025-01-10 11:39:54 +02:00
Vincent Ambo
8ede491f5e chore(3p/sources): bump channels & overlays (2024-11-14)
* update wasm-bindgen in all wasm projects

* //users/wpcarro/website: declare missing dependency on
  string-conversions. Presumably this was propagated
  before from some other dependency which got updated now.

Change-Id: Ib93de576408974441d532196601e6e53d22cdafe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12770
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
2024-11-15 14:53:59 +00:00
Vincent Ambo
447f0a2e21 chore(web/tvl): restrict owners to myself
Change-Id: I4800c542b2af0bc2a5e389342f3574b4928b1704
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12789
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-11-15 08:21:04 +00:00
Vova Kryachko
7a54360a39 chore(web): Add self to tvl graph
Change-Id: Ia57768d30db4a841f74c4305cfbae45c9e26522e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12767
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-11-14 17:33:18 +00:00
Ilan Joselevich
c1e69e260d feat(tvix/eval): Use thiserror for ErrorKind and CatchableErrorKind
thiserror is much more easier to maintain than manually implementing Error and Display.

Change-Id: Ibf13e2d8a96fba69c8acb362b7515274a593dfd6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12452
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com>
Tested-by: BuildkiteCI
2024-09-25 18:18:37 +00:00
Vincent Ambo
374cde20f2 chore(3p/sources): bump channels & overlays (2024-09-10)
Includes the following fixes:

* users/wpcarro: disable pulseaudio option (can't have pipewire _and_ PA)
* users/aspen: disable pipewire (there's PA config here, so whatever)
* bump wasm-bindgen in Rust frontend projects
* users/tazjin: disable builds for frog (it's in storage)

Change-Id: Ia508b14b84619d06c1d98f7245e84d66bc791592
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12466
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: aspen <root@gws.fyi>
2024-09-12 12:42:44 +00:00
Vincent Ambo
b9a614a90f fix(web/bubblegum): third_party/sources is required in bubblegum
Change-Id: Ifb63ab95a0a11f07e8ad2346aff5893fe7c268cd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12351
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-08-27 10:02:44 +00:00
Vincent Ambo
f22defa541 fix(cgit-tvl): disable follow-links in cgit
These cause segfaults in cgit due to an old wontfix git issue:

https://bugzilla.redhat.com/show_bug.cgi?id=1791810

Change-Id: I831655faf3cfdef5bad13eba8cb8bb274de83ea0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12307
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-08-24 08:38:06 +00:00
Ilan Joselevich
43cf713417 feat(web/tvixbolt): Add crate2nix-check and re-generate Cargo.nix
Change-Id: Ib9881efd6a78ba28e283759e0ed5125fb175b89e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12221
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-08-23 17:03:02 +00:00
Vincent Ambo
8041ce7cbd chore(web/atward): remove sourcegraph support
We're moving away from sourcegraph to livegrep and so on, as Sourcegraph has
gone fully proprietary.

This removes support for redirecting to Sourcegraph.

Relates to b/290

Change-Id: I04ccf8dfef72113cd49d444151cb0c3eb834845d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12268
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2024-08-23 11:07:15 +00:00
Vincent Ambo
d6c57eb957 refactor(tvix/eval): ensure VM operations fit in a single byte
This replaces the OpCode enum with a new Op enum which is guaranteed to fit in a
single byte. Instead of carrying enum variants with data, every variant that has
runtime data encodes it into the `Vec<u8>` that a `Chunk` now carries.

This has several advantages:

* Less stack space is required at runtime, and fewer allocations are required
  while compiling.
* The OpCode doesn't need to carry "weird" special-cased data variants anymore.
* It is faster (albeit, not by much). On my laptop, results consistently look
  approximately like this:

  Benchmark 1: ./before -E '(import <nixpkgs> {}).firefox.outPath' --log-level ERROR --no-warnings
  Time (mean ± σ):      8.224 s ±  0.272 s    [User: 7.149 s, System: 0.688 s]
  Range (min … max):    7.759 s …  8.583 s    10 runs

  Benchmark 2: ./after -E '(import <nixpkgs> {}).firefox.outPath' --log-level ERROR --no-warnings
  Time (mean ± σ):      8.000 s ±  0.198 s    [User: 7.036 s, System: 0.633 s]
  Range (min … max):    7.718 s …  8.334 s    10 runs

  See notes below for why the performance impact might be less than expected.
* It is faster while at the same time dropping some optimisations we previously
  performed.

This has several disadvantages:

* The code is closer to how one would write it in C or Go.
* Bit shifting!
* There is (for now) slightly more code than before.

On performance I have the following thoughts at the moment:

In order to prepare for adding GC, there's a couple of places in Tvix where I'd
like to fence off certain kinds of complexity (such as mutating bytecode, which,
for various reaons, also has to be part of data that is subject to GC). With
this change, we can drop optimisations like retroactively modifying existing
bytecode and *still* achieve better performance than before.

I believe that this is currently worth it to pave the way for changes that are
more significant for performance.

In general this also opens other avenues of optimisation: For example, we can
profile which argument sizes actually exist and remove the copy overhead of
varint decoding (which does show up in profiles) by using more adequately sized
types for, e.g., constant indices.

Known regressions:

* Op::Constant is no longer printing its values in disassembly (this can be
  fixed, I just didn't get around to it, will do separately).

Change-Id: Id9b3a4254623a45de03069dbdb70b8349e976743
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12191
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-08-19 11:02:50 +00:00
Aspen Smith
d378111d77 feat(tvix/eval): Store hash in key of interner
Rather than storing the leaked allocation for the string as the key in
the interner, store the hash (using NoHashHashBuilder). I thought this
would improve performance, but it doesn't:

hello outpath           time:   [736.85 ms 748.42 ms 760.42 ms]
                        change: [-2.0754% +0.4798% +2.7096%] (p = 0.72 > 0.05)
                        No change in performance detected.

but it at least doesn't *hurt* performance, and it *does* avoid an
`unsafe`, so it's probably net good.

Change-Id: Ie413955bdb6f04b1f468f511e5ebce56e329fa37
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12049
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: aspen <root@gws.fyi>
2024-08-10 15:28:30 +00:00
Florian Klink
3ea69235a4 fix(web/tvl/2024-08-tvix-update): small fixes
The `Fetch` is an enum, not a struct, and "Type" probably makes more
sense here. Slightly reword the "generic" to not be confused with
generics.

Also fix the link to Tvixbolt, which got eaten by the line wrapping.

Change-Id: I677229f0365523620a640c2333e76790573f7318
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12174
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Tested-by: BuildkiteCI
2024-08-09 19:18:01 +00:00