Commit graph

21783 commits

Author SHA1 Message Date
Florian Klink
21b5c8a7b7 fix(web/components/castore/data-model): fix links
Fix the broken link to PathComponent.

Write `[BLAKE3][]` instead of just `[BLAKE3]` to be consistent with
other links.

Change-Id: If8651de9d2401a81e47281216707e442b5ff1932
Reviewed-on: https://cl.snix.dev/c/snix/+/30328
Tested-by: besadii
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Autosubmit: Florian Klink <flokli@flokli.de>
2025-04-18 19:18:12 +00:00
Florian Klink
32ef10a23b docs(snix/castore/path): fix docstring
This returns as a [PathComponent], not as bytes.

Change-Id: Ia6df19be6f3060b28f8be6b74f3f3f443a536f8a
Reviewed-on: https://cl.snix.dev/c/snix/+/30327
Autosubmit: Florian Klink <flokli@flokli.de>
Reviewed-by: Domen Kožar <domen@cachix.org>
Tested-by: besadii
2025-04-18 18:25:04 +00:00
Florian Klink
c9082a586c docs(web/snix/castore): port "why not git" document
Change-Id: I4ac77f264d2704018cd33dbf80746e82d193686e
Reviewed-on: https://cl.snix.dev/c/snix/+/30315
Reviewed-by: Domen Kožar <domen@cachix.org>
Tested-by: besadii
Autosubmit: Florian Klink <flokli@flokli.de>
2025-04-18 18:05:31 +00:00
Florian Klink
b2d2d622e0 docs(web/snix/castore): port castore data model
Also restructure this, explaining the Rust data types, and then
explaining the differences with the proto implementation, which uses
"entry" since cl/30296.

Change-Id: Ie264ab60998f0d891b4a4ea680a2d9dbe1c5929e
Reviewed-on: https://cl.snix.dev/c/snix/+/30314
Autosubmit: Florian Klink <flokli@flokli.de>
Reviewed-by: Domen Kožar <domen@cachix.org>
Tested-by: besadii
2025-04-18 18:05:31 +00:00
Florian Klink
d1990c9a93 refactor(snix/castore-http/cli): ask for root directory digest
Restrict the CLI to only root directories, passing the blake3 digest of
the root directory.

Usually we want to serve a directory, and we now have a `snix-castore
ingest` sucommand, and copying the output from that command is much less
effort than constructing a proto message.

More advanced usecases can still use the get_root_node_contents library
function and pass in other nodes.

Change-Id: I66c2c0a15723b43b5b0cffc1c201391df57dd602
Reviewed-on: https://cl.snix.dev/c/snix/+/30321
Reviewed-by: Stefan Junker <mail@stefanjunker.de>
Tested-by: besadii
2025-04-16 12:04:30 +00:00
Florian Klink
fd5f316fb8 feat(snix/castore-http): pass extension to respond_file()
respond_file only uses requested_path to (only) calculate an extension
for mime type guessing, and getting to there is a bit messy.

Use PathComponent::extension to get the extension, and replace
`requested_path: Option<std::path::Path>` with
`extension: Option<&str>`.

Change-Id: I0582a1127f8b505fdf77406fafb3d3b206d694f2
Reviewed-on: https://cl.snix.dev/c/snix/+/30320
Tested-by: besadii
Reviewed-by: Stefan Junker <mail@stefanjunker.de>
2025-04-16 12:04:30 +00:00
Florian Klink
15b1415860 feat(snix/castore/Path): add extension() method
This returns the extension, similar to the method we already have for
PathComponent.

Change-Id: Ia1719951c453c196beb991686dbee23bae1049af
Reviewed-on: https://cl.snix.dev/c/snix/+/30322
Autosubmit: Florian Klink <flokli@flokli.de>
Reviewed-by: Stefan Junker <mail@stefanjunker.de>
Tested-by: besadii
2025-04-16 12:04:30 +00:00
Florian Klink
8c525dcc2d feat(snix/castore/PathComponent): add extension() method
This returns the file extension.

Change-Id: I488cbadbce027a37d53cee808bcf7a95283ed07d
Reviewed-on: https://cl.snix.dev/c/snix/+/30319
Tested-by: besadii
Reviewed-by: Domen Kožar <domen@cachix.org>
Reviewed-by: Stefan Junker <mail@stefanjunker.de>
2025-04-16 12:04:30 +00:00
Marijan Petričević
6b48bcc1bf feat(snix/castore-http): initial implementation
The castore-http crate provides both a binary and a library interface to
serve a single castore root node over HTTP.

The library function `get_root_node_contents` will return a
`axum::Response` for a requested path in the castore root node
depending on the requested paths type.

If the requested path in the root node is a directory, we return:
- a index file if there is a file matching one of the configurable
  `index_names`
- a directory listing, if no `index_names` were configured and
  `auto_index` was enabled
- the FORBIDDEN status code if no `index_names` were set nor
  `auto_index` was enabled

If the requested path in the root node is a file,
we return the file.

If the requested path in the root node is a symlink,
we figure out wether the target exists and return a REDIRECT.

If the requested path doesn't exist in the root node,
we respond with NOT_FOUND

The binary wraps this functionality and allows one to specify the
desired root node by providing its base-64 encoded representation as
well as the other configuration parameters affecting the behavior of
`get_root_node_contents`.

Change-Id: I737482299f788ec0244c54b52042f9eb655a05c2
Reviewed-on: https://cl.snix.dev/c/snix/+/30245
Autosubmit: Marijan Petričević <marijan.petricevic94@gmail.com>
Reviewed-by: Marijan Petričević <marijan.petricevic94@gmail.com>
Tested-by: besadii
Reviewed-by: Florian Klink <flokli@flokli.de>
2025-04-14 14:43:25 +00:00
Ilan Joselevich
bed42b59df chore: add .direnv to gitignore
This is similiar to `result` and should not be added to the repo.

Change-Id: Id700af309baf002d1dfb4798a446a74011437e2d
Reviewed-on: https://cl.snix.dev/c/snix/+/30313
Reviewed-by: Florian Klink <flokli@flokli.de>
Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com>
Tested-by: besadii
2025-04-12 18:12:35 +00:00
Florian Klink
e214357d47 feat(snix/rust-docs): fail build if there's broken references
Thanks to cl/30305, we don't have broken references in the rust docs anymore.

Enforce for it to stay this way, by making the //snix:rust-docs target
fail if there's broken references.

References to private items (which we still have) are logged as
warnings.

Change-Id: I06e6fe3bec3d0c4e6af910685f9cd0650e67dc5c
Reviewed-on: https://cl.snix.dev/c/snix/+/30312
Tested-by: besadii
Autosubmit: Florian Klink <flokli@flokli.de>
Reviewed-by: Bence Nemes <nemes.bence1@gmail.com>
2025-04-12 15:17:41 +00:00
Florian Klink
0b127183e1 fix(snix/default.nix): fix comment
Rust docs are deployed to snix.dev/rustdoc, not docs.snix.dev.

Change-Id: I5910457608fa9db05c7ecb5c4b7f3c4260c04b8e
Reviewed-on: https://cl.snix.dev/c/snix/+/30311
Autosubmit: Florian Klink <flokli@flokli.de>
Tested-by: besadii
Reviewed-by: Bence Nemes <nemes.bence1@gmail.com>
2025-04-12 14:58:39 +00:00
Vova Kryachko
934b52c136 feat(snix-glue): Propagate build inputs correctly.
We previously used to calculate the transitive input closure of builds
using eval state, i.e. based on known_paths from the drv that is being
built. This caused had 2 issues:

* The build included a lot of unnecessary build time dependencies of drv's that
  the build depends on in addition to runtime dependencies.
* Some runtime dependencies were missing causing the build to fail, see #106

This implementation uses only runtime dependencies of direct
dependencies and makes sure to include any transitive runtime dependencies,
this is achieved by querying path_info_service for "references".

fixed #106

Change-Id: Id734bed7b0cf50e2dac96501a9bc70655ed15054
Reviewed-on: https://cl.snix.dev/c/snix/+/30308
Tested-by: besadii
Reviewed-by: Florian Klink <flokli@flokli.de>
2025-04-11 21:48:50 +00:00
Starnick4444
851cfc7278 refactor(eval): add keys_sorted() to NixAttrs
builtins.toXML relies on attr keys being sorted, which is an
implementation detail.
Cppnix creates sorted xml, and tests expect it too, so changed that
iter call site.
builtins.attrNames and attrValues should also returns sorted lists, so
changed that too.

Change-Id: Ic706afc6855d5d28932ade7482449c965b0ae94f
Reviewed-on: https://cl.snix.dev/c/snix/+/30307
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-04-11 11:45:42 +00:00
Yvan Sraka
ff72278529 feat(cli): add snix-castore utility
This is a small utility that allows ingesting a given path or .tar
file content into the snix-castore and returns the B3Digest of the
root node. Another subcommand takes this hash to mount the content
back as a virtiofs or FUSE drive.

This works as-is, but I discovered issue #107 while working on it.

Change-Id: I11df73e39ab0db6f3868effab9bde4f090eadcb5
Reviewed-on: https://cl.snix.dev/c/snix/+/30293
Tested-by: besadii
Reviewed-by: Florian Klink <flokli@flokli.de>
2025-04-10 13:09:50 +00:00
Vova Kryachko
6118142b21 feat(snix-build/oci): Use user's subordinate ids in oci builds.
subuid/subgids used to be hardcoded, which resulted in build failures
if those did not match the ones of the effective user.

fixes #86

Change-Id: I3b0c3e9ef710aa9e3de998891abe10fd1a893189
Reviewed-on: https://cl.snix.dev/c/snix/+/30301
Tested-by: besadii
Reviewed-by: Florian Klink <flokli@flokli.de>
2025-04-10 02:56:02 +00:00
Domen Kožar
acf614e884 chore: fix unreleased direnv bug
Change-Id: Ia23bb1ce5121ec2224f7c3daa439a56917f064c5
Reviewed-on: https://cl.snix.dev/c/snix/+/30306
Tested-by: besadii
Reviewed-by: Florian Klink <flokli@flokli.de>
2025-04-09 22:39:01 +00:00
Starnick4444
628f91827d docs: fix broken references in rust docs
Fixes #100

Change-Id: I03e09ac3a9b964a046a7fe17d0f9c7c0bdac5c6d
Reviewed-on: https://cl.snix.dev/c/snix/+/30305
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-04-09 21:08:52 +00:00
Yvan Sraka
f31ef707f8 feat(castore): implement FromStr for trait B3Digest
This provides a canonical way to parse a `B3Digest`, to be used in,
e.g., a CLI like `snix-castore`.

Change-Id: If6c7858c1fcd7645721002be7789f5ce2ff97a5c
Reviewed-on: https://cl.snix.dev/c/snix/+/30303
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-04-09 17:34:39 +00:00
Domen Kožar
5b81892ddf chore: load snix shell using direnv
Change-Id: I6edd4aff7b46d8f3f75462d1576b3f4ffd7f16b8
Reviewed-on: https://cl.snix.dev/c/snix/+/30304
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-04-09 12:03:59 +00:00
Florian Klink
2ed36b49b5 fix(docs/components/overview): prevent overlap in component diagram
This prevents the SVG from overflowing into the "On this page" sidebar
on the right. We apparently still need to set a height.

Change-Id: Iae4183f92115b3190195a5f524bff18b18ad4d39
Reviewed-on: https://cl.snix.dev/c/snix/+/30297
Tested-by: besadii
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Autosubmit: Florian Klink <flokli@flokli.de>
2025-04-04 23:52:43 +00:00
Florian Klink
b9e002e5b7 docs(snix/docs): drop some parts of architecture
This is sufficiently covered in //web, or simply outdated.

Change-Id: Ic84c97ca88dc1351d564861c573dc80939442f1b
Reviewed-on: https://cl.snix.dev/c/snix/+/30300
Tested-by: besadii
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Autosubmit: Florian Klink <flokli@flokli.de>
2025-04-04 23:52:13 +00:00
Florian Klink
bbe5a72aa6 docs(architecture/overview): describe CLI a bit more
Change-Id: Icab9cc26119fb7114794edf1f56494e41e5d63b2
Reviewed-on: https://cl.snix.dev/c/snix/+/30299
Tested-by: besadii
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Autosubmit: Florian Klink <flokli@flokli.de>
2025-04-04 23:52:13 +00:00
Florian Klink
cfa186c6a8 docs: drop docs/ directory
This doesn't document any of Snix, but is a leftover from the TVL.

It probably should have been deleted as part of
df4500ea2b.

Change-Id: I1be5a743b66d786a1b6861d2f0d9e325b7be5f7c
Reviewed-on: https://cl.snix.dev/c/snix/+/30298
Tested-by: besadii
Autosubmit: Florian Klink <flokli@flokli.de>
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2025-04-04 23:52:13 +00:00
Florian Klink
06ffeec464 refactor(snix/castore): rename proto node to entry
In the castore Rust types, nodes don't have names, they only get names
my the mapping happening in a Directory struct.

However, in proto land, they do, as Directories are not maps, but three
(individually sorted) lists.

This has caused some confusion in the past. Let's fix this, by renaming
what used to be proto nodes to "Entry".

We also use this "entry" in a very similar fashion in the NAR reader,
describing something with a name, so this should be more consistent
and understandable. There's no change in the wire representation.

Change-Id: Ie6184d9a6e00c8114fc2a46bfd2bc90208a1d623
Reviewed-on: https://cl.snix.dev/c/snix/+/30296
Tested-by: besadii
Reviewed-by: Vova Kryachko <v.kryachko@gmail.com>
Autosubmit: Florian Klink <flokli@flokli.de>
2025-04-04 23:19:07 +00:00
edef
7b20d0dac1 feat(contrib/fetchroots): track git revisions
Change-Id: I3af0a4486a8685191adc28210162661fae6cfc3c
Reviewed-on: https://cl.snix.dev/c/snix/+/30290
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-04-04 16:41:32 +00:00
Florian Klink
d108eecb24 fix(web): update derivation name
Change-Id: I0728a08fbb4280d5d2e088a4694255e4ccec7c08
Reviewed-on: https://cl.snix.dev/c/snix/+/30295
Autosubmit: Florian Klink <flokli@flokli.de>
Tested-by: besadii
Reviewed-by: edef <edef@edef.eu>
2025-04-04 16:41:15 +00:00
edef
d814c7afa8 feat(ops/keycloak): configure user profile declaratively
This mostly matches the default configuration, but notably does not
make the lastName field mandatory, in order to accommodate mononymy.

Change-Id: I47ca86a179eb9b7dcf5f3e761681c78e22f5265c
Fixes: https://git.snix.dev/snix/snix/issues/104
Reviewed-on: https://cl.snix.dev/c/snix/+/30289
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-04-04 16:41:12 +00:00
Yvan Sraka
11aa4182b6 chore(boot): rename figlet-generated text from "Tvix" to "Snix"
Just a small cosmetic change to update the ASCII art in init
script and README!

I refrained myself from trying to draw an energy bar as a logo ^^'

Change-Id: Ifbc6e05f2ab3d8686ba844aa0b91ab1644b29e46
Reviewed-on: https://cl.snix.dev/c/snix/+/30294
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-04-04 08:32:28 +00:00
Yvan Sraka
ad9ef2cd1d feat(fs): implement RootNodes trait for Directory
This makes mounting the content of a just ingested archive or
directory more straightforward.

Change-Id: I64589aad3dc1885c1266310200cdace21e5810e9
Reviewed-on: https://cl.snix.dev/c/snix/+/30292
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-04-03 21:26:40 +00:00
Florian Klink
6e45456fec fix(ops/machines/snix-cache): support old /nar/tvix-castore URLs
Nix clients still might have old .narinfo files cached, containing old
NAR URLs. Send a redirect to the new URL.

Fixes: #103
Change-Id: Ie3b77e4fdc4be0f982e023f2a2acd3f9f0257f9b
Reviewed-on: https://cl.snix.dev/c/snix/+/30291
Autosubmit: Florian Klink <flokli@flokli.de>
Tested-by: besadii
Reviewed-by: edef <edef@edef.eu>
2025-04-02 17:20:10 +00:00
edef
63d9fcfb0f chore(mailmap): add edef
Due to Keycloak not being set up for mononymy just yet, Gerrit currently
submits changes as "edef .", so we mailmap it back to the proper form.

Change-Id: I8a84e9310dde709bc9c2710c02db99986f14e84a
Reviewed-on: https://cl.snix.dev/c/snix/+/30283
Tested-by: besadii
Reviewed-by: Florian Klink <flokli@flokli.de>
2025-04-01 18:47:29 +00:00
edef
15e5660a46 docs(mailmap): document what this is for
Change-Id: I55775d8f8b60d756b286aefbc87833be9cf38677
Reviewed-on: https://cl.snix.dev/c/snix/+/30288
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-04-01 18:47:29 +00:00
edef
778ff22b25 docs(snix/castore/path): fix typo
Change-Id: I9d4bca9b4788451ff2b020e6cd4cc20451618f74
Reviewed-on: https://cl.snix.dev/c/snix/+/30285
Tested-by: besadii
Reviewed-by: Florian Klink <flokli@flokli.de>
2025-04-01 18:04:26 +00:00
Florian Klink
14115930cc docs(web/building): document dev binary cache setup
Change-Id: Ia4880b5a2d673acbe264e4e1d8ef301080e0459e
Reviewed-on: https://cl.snix.dev/c/snix/+/30287
Autosubmit: Florian Klink <flokli@flokli.de>
Tested-by: besadii
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2025-03-31 12:59:00 +00:00
Ilan Joselevich
5551d0ea5e feat(ops): Deploy harmonia on cache.snix.dev
Deploys Harmonia on build01, proxied through public01.
We cannot serve from build01 directly because it only supports IPv6.

Closes: https://git.snix.dev/snix/snix/issues/66
Change-Id: Iff3c16366d60c0fbfd1315a18c27fcd636a0261a
Reviewed-on: https://cl.snix.dev/c/snix/+/30274
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com>
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2025-03-31 12:39:21 +00:00
Florian Klink
6f9c54bbd1 docs(reference/nix-daemon): fix some links
[se-StorePathName] was missing in the footnotes, and links to sets were
wrong.

Also rename serialization.md to types.md to match the title.

Change-Id: I8e602df1958cf5354c6fd3a5c16cbe859a0549b9
Reviewed-on: https://cl.snix.dev/c/snix/+/30275
Autosubmit: Florian Klink <flokli@flokli.de>
Tested-by: besadii
Reviewed-by: Brian Olsen <brian@maven-group.org>
2025-03-28 22:56:26 +00:00
Raito Bezarius
beae2cd27f feat(nix-compat/derivation/parser): init streaming variant
While processing `AddToStore` operation, it is possible to receive a
framed derivation as a response instead of a NAR.

Due to how the wire protocol works, it's not easy to know if we are done
with pulling more bytes (i.e. incomplete derivation) or not (i.e.
incorrect derivation).

To solve this, a streaming parser would propagate the incompleteness of
the parse as a valid response and the reader would be requested more
bytes until it returns EOF.

Change-Id: Icd2b311f03ad68010a9b48e883f6dbee2fbd2c3e
Signed-off-by: Raito Bezarius <raito@lix.systems>
Reviewed-on: https://cl.snix.dev/c/snix/+/30278
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
Autosubmit: Ryan Lahfa <masterancpp@gmail.com>
2025-03-27 17:45:06 +00:00
Vova Kryachko
74492e9d6e feat(snix/glue): Transitively propagate drv inputs.
Previously drv's were fed into the build as opposed to their
dependencies.

Additionally this change refactors input propagation in a way that
ensures both:

* We only construct inputs *once* and use for both build inputs and
  refscan needles
* Inputs and refscan needles have consistent ordering and fixes #89

Change-Id: Id53701cea48598a0f73c6abd01293a02b71fb2d8
Reviewed-on: https://cl.snix.dev/c/snix/+/30240
Tested-by: besadii
Reviewed-by: Florian Klink <flokli@flokli.de>
2025-03-26 15:55:31 +00:00
edef
683458d604 fix(ops/modules/forgejo): disable native sign-in
We only use the OAuth flow (with Keycloak), and the native login
mechanism is an unnecessary source of user confusion.

Change-Id: I819e0b6ac507013c903c55a28f0db52e8706d8dc
Reviewed-on: https://cl.snix.dev/c/snix/+/30282
Tested-by: besadii
Reviewed-by: Ryan Lahfa <masterancpp@gmail.com>
Reviewed-by: Florian Klink <flokli@flokli.de>
Autosubmit: edef . <edef@edef.eu>
2025-03-25 14:56:20 +00:00
edef
479e6ad5c6 fix(snix/castore/import): don't allocate parent repeatedly
We use hashbrown directly (instead of through std::collections::HashMap)
so that we can use HashMap::entry_ref, which only allocates if the entry
is not yet occupied.

This implicitly switches our hash to a less long-term DoS-resistant one
(foldhash rather than SipHash), but we don't usually face HashDoS risks
when ingesting archives.

Change-Id: I3e7fc2cd08d96380cd9fd62bfcfe6cd24698bc9a
Reviewed-on: https://cl.snix.dev/c/snix/+/30277
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-03-24 22:57:42 +00:00
edef
86456a3334 refactor(snix/castore/import): destructure more directly
Destructuring by value gives us ownership of the data we need,
without needing unnecessary clones. We previously avoided this
because we wanted to call IngestionEntry::path, but inlining
that into our match is cleaner.

Change-Id: Id58075a98929306e99706746b6e4a9f961a24faf
Reviewed-on: https://cl.snix.dev/c/snix/+/30239
Tested-by: besadii
Reviewed-by: Florian Klink <flokli@flokli.de>
2025-03-24 21:40:56 +00:00
edef
1f70de459d refactor(snix/nix-compat/derivation): minor cleanup
Change-Id: I9c975b238e78dcee80412f01681108977f29082a
Reviewed-on: https://cl.snix.dev/c/snix/+/30276
Tested-by: besadii
Reviewed-by: Florian Klink <flokli@flokli.de>
2025-03-24 20:52:55 +00:00
Florian Klink
8101e7a45f docs(reference/nix-daemon-protocol): migrate
This moves the daemon protocol reference to the "Reference" section in
our new docs.

It also updates them a bit, we now use `{{< relref "path/to/file.md" >}}`
to refer to other files, and fixes the (previously broken) references
in handshake.md.

Change-Id: I114e40622dc504e7a5f75946895900e797a1e722
Reviewed-on: https://cl.snix.dev/c/snix/+/30273
Autosubmit: Florian Klink <flokli@flokli.de>
Tested-by: besadii
Reviewed-by: Brian Olsen <brian@maven-group.org>
2025-03-24 17:33:58 +00:00
Florian Klink
76250b354f docs(reference/*): drop
These only contain placeholder text for now.

Change-Id: I377dc4f2bdec8911ece74c3914608289f3e51fdc
Reviewed-on: https://cl.snix.dev/c/snix/+/30272
Autosubmit: Florian Klink <flokli@flokli.de>
Tested-by: besadii
Reviewed-by: Brian Olsen <brian@maven-group.org>
2025-03-24 17:33:58 +00:00
Florian Klink
e639af1775 docs(snix): drop getting-started.md
This has already been migrated to //web.

Change-Id: I1a6e1cbe2866be9519928f77acfabc96988ccf25
Reviewed-on: https://cl.snix.dev/c/snix/+/30271
Tested-by: besadii
Reviewed-by: Ryan Lahfa <masterancpp@gmail.com>
Autosubmit: Florian Klink <flokli@flokli.de>
2025-03-24 12:08:15 +00:00
Florian Klink
96a02c100f docs(snix/docs): drop introduction.md
This has already been migrated to //web.

Change-Id: Ica2ac77bdaad6ac2906ab3c93ac6d541c7abd6fc
Reviewed-on: https://cl.snix.dev/c/snix/+/30270
Reviewed-by: Ryan Lahfa <masterancpp@gmail.com>
Tested-by: besadii
Autosubmit: Florian Klink <flokli@flokli.de>
2025-03-24 12:07:44 +00:00
Florian Klink
ab082b048a docs(snix/docs): drop build/index.md
This has already been migrated to //web.

Change-Id: If816a24104ece30ae0826529a9d4df4c4ec3c442
Reviewed-on: https://cl.snix.dev/c/snix/+/30269
Autosubmit: Florian Klink <flokli@flokli.de>
Reviewed-by: Ryan Lahfa <masterancpp@gmail.com>
Tested-by: besadii
2025-03-24 12:07:44 +00:00
Florian Klink
8e71882141 docs(snix): drop contributing/*.md
This has already been migrated to //web.

Change-Id: I09f4b405795d94f3c2d6542610d6e38c53b13531
Reviewed-on: https://cl.snix.dev/c/snix/+/30268
Tested-by: besadii
Autosubmit: Florian Klink <flokli@flokli.de>
Reviewed-by: Ryan Lahfa <masterancpp@gmail.com>
2025-03-24 12:07:44 +00:00
Florian Klink
b054d6d90f docs(architecture): drop Figures and dangling footnote
Change-Id: Ibe4992b54fc42b8965bef4727d00373f1114c90f
Reviewed-on: https://cl.snix.dev/c/snix/+/30267
Autosubmit: Florian Klink <flokli@flokli.de>
Tested-by: besadii
Reviewed-by: Ryan Lahfa <masterancpp@gmail.com>
2025-03-24 12:07:13 +00:00