diff --git a/nix/readTree/default.nix b/nix/readTree/default.nix index 0f2d4260c..829e699b9 100644 --- a/nix/readTree/default.nix +++ b/nix/readTree/default.nix @@ -81,7 +81,7 @@ let importFile = args: scopedArgs: path: parts: filter: let importedFile = - if scopedArgs != { } && builtins ? scopedImport # For tvix + if scopedArgs != { } && builtins ? scopedImport # For snix then builtins.scopedImport scopedArgs path else import path; pathType = builtins.typeOf importedFile; diff --git a/tvix/.gitignore b/snix/.gitignore similarity index 100% rename from tvix/.gitignore rename to snix/.gitignore diff --git a/tvix/.vscode/extensions.json b/snix/.vscode/extensions.json similarity index 100% rename from tvix/.vscode/extensions.json rename to snix/.vscode/extensions.json diff --git a/tvix/Cargo.lock b/snix/Cargo.lock similarity index 99% rename from tvix/Cargo.lock rename to snix/Cargo.lock index 931047382..5fc698cb3 100644 --- a/tvix/Cargo.lock +++ b/snix/Cargo.lock @@ -2501,6 +2501,9 @@ dependencies = [ "rstest", "serde", "sha2", + "snix-castore", + "snix-store", + "snix-tracing", "thiserror 2.0.9", "tokio", "tokio-listener", @@ -2513,9 +2516,6 @@ dependencies = [ "tracing", "tracing-subscriber", "tracing-test", - "tvix-castore", - "tvix-store", - "tvix-tracing", "url", ] @@ -2649,12 +2649,12 @@ dependencies = [ "futures", "mimalloc", "nix-compat", + "snix-castore", + "snix-store", + "snix-tracing", "tokio", "tokio-listener", "tracing", - "tvix-castore", - "tvix-store", - "tvix-tracing", ] [[package]] @@ -4134,6 +4134,317 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "snix-build" +version = "0.1.0" +dependencies = [ + "anyhow", + "blake3", + "bstr", + "bytes", + "clap", + "data-encoding", + "futures", + "itertools 0.12.1", + "mimalloc", + "oci-spec", + "prost", + "prost-build", + "rstest", + "serde_json", + "snix-castore", + "snix-tracing", + "tempfile", + "thiserror 2.0.9", + "tokio", + "tokio-listener", + "tonic", + "tonic-build", + "tonic-reflection", + "tracing", + "url", + "uuid", +] + +[[package]] +name = "snix-castore" +version = "0.1.0" +dependencies = [ + "async-compression", + "async-process", + "async-stream", + "async-tempfile", + "auto_impl", + "bigtable_rs", + "blake3", + "bstr", + "bytes", + "clap", + "data-encoding", + "digest", + "erased-serde", + "fastcdc", + "fuse-backend-rs", + "futures", + "hex-literal", + "hyper-util", + "libc", + "object_store", + "parking_lot", + "petgraph", + "pin-project", + "pin-project-lite", + "prost", + "prost-build", + "redb", + "rstest", + "rstest_reuse", + "serde", + "serde_json", + "serde_qs", + "serde_tagged", + "serde_with", + "snix-tracing", + "tempfile", + "thiserror 2.0.9", + "threadpool", + "tokio", + "tokio-retry", + "tokio-stream", + "tokio-tar", + "tokio-test", + "tokio-util", + "toml 0.8.19", + "tonic", + "tonic-build", + "tonic-reflection", + "tower 0.4.13", + "tracing", + "tracing-indicatif", + "url", + "vhost", + "vhost-user-backend", + "virtio-bindings 0.2.4", + "virtio-queue", + "vm-memory", + "vmm-sys-util", + "walkdir", + "wu-manber", + "xattr", + "zstd", +] + +[[package]] +name = "snix-cli" +version = "0.1.0" +dependencies = [ + "bytes", + "clap", + "dirs", + "expect-test", + "mimalloc", + "rnix", + "rowan", + "rustc-hash 2.1.0", + "rustyline", + "smol_str", + "snix-build", + "snix-eval", + "snix-glue", + "snix-store", + "snix-tracing", + "thiserror 2.0.9", + "tokio", + "tracing", + "tracing-indicatif", + "wu-manber", +] + +[[package]] +name = "snix-eval" +version = "0.1.0" +dependencies = [ + "bstr", + "bytes", + "codemap", + "codemap-diagnostic", + "criterion", + "data-encoding", + "dirs", + "genawaiter", + "itertools 0.12.1", + "lexical-core", + "md-5", + "mimalloc", + "nohash-hasher", + "os_str_bytes", + "path-clean", + "pretty_assertions", + "proptest", + "regex", + "rnix", + "rowan", + "rstest", + "rustc-hash 2.1.0", + "serde", + "serde_json", + "sha1", + "sha2", + "smol_str", + "snix-eval-builtin-macros", + "tabwriter", + "tempfile", + "test-strategy", + "thiserror 2.0.9", + "toml 0.6.0", + "vu128", +] + +[[package]] +name = "snix-eval-builtin-macros" +version = "0.0.1" +dependencies = [ + "proc-macro2", + "quote", + "snix-eval", + "syn 1.0.109", +] + +[[package]] +name = "snix-glue" +version = "0.1.0" +dependencies = [ + "async-compression", + "bstr", + "bytes", + "clap", + "criterion", + "data-encoding", + "futures", + "hex-literal", + "magic", + "md-5", + "mimalloc", + "nix 0.27.1", + "nix-compat", + "pin-project", + "pretty_assertions", + "reqwest", + "rstest", + "serde", + "serde_json", + "sha1", + "sha2", + "snix-build", + "snix-castore", + "snix-eval", + "snix-store", + "snix-tracing", + "tempfile", + "thiserror 2.0.9", + "tokio", + "tokio-tar", + "tokio-util", + "tracing", + "tracing-indicatif", + "url", + "walkdir", +] + +[[package]] +name = "snix-serde" +version = "0.1.0" +dependencies = [ + "bstr", + "serde", + "snix-eval", +] + +[[package]] +name = "snix-store" +version = "0.1.0" +dependencies = [ + "anyhow", + "async-compression", + "async-process", + "async-stream", + "auto_impl", + "bigtable_rs", + "blake3", + "bstr", + "bytes", + "clap", + "count-write", + "data-encoding", + "ed25519", + "ed25519-dalek", + "futures", + "hex-literal", + "hyper-util", + "lru", + "md-5", + "mimalloc", + "nix-compat", + "parking_lot", + "pin-project-lite", + "prost", + "prost-build", + "redb", + "reqwest", + "reqwest-middleware", + "rstest", + "rstest_reuse", + "serde", + "serde_json", + "serde_qs", + "serde_with", + "sha1", + "sha2", + "snix-castore", + "snix-tracing", + "tempfile", + "thiserror 2.0.9", + "tokio", + "tokio-listener", + "tokio-retry", + "tokio-stream", + "tokio-util", + "toml 0.8.19", + "tonic", + "tonic-build", + "tonic-health", + "tonic-reflection", + "tower 0.4.13", + "tower-http", + "tracing", + "tracing-indicatif", + "url", + "walkdir", +] + +[[package]] +name = "snix-tracing" +version = "0.1.0" +dependencies = [ + "axum", + "http 1.2.0", + "indicatif", + "opentelemetry", + "opentelemetry-http", + "opentelemetry-otlp", + "opentelemetry-semantic-conventions", + "opentelemetry_sdk", + "reqwest-tracing", + "thiserror 2.0.9", + "tokio", + "tonic", + "tracing", + "tracing-indicatif", + "tracing-opentelemetry", + "tracing-subscriber", + "tracing-tracy", +] + [[package]] name = "socket2" version = "0.5.8" @@ -4987,317 +5298,6 @@ dependencies = [ "toml 0.8.19", ] -[[package]] -name = "tvix-build" -version = "0.1.0" -dependencies = [ - "anyhow", - "blake3", - "bstr", - "bytes", - "clap", - "data-encoding", - "futures", - "itertools 0.12.1", - "mimalloc", - "oci-spec", - "prost", - "prost-build", - "rstest", - "serde_json", - "tempfile", - "thiserror 2.0.9", - "tokio", - "tokio-listener", - "tonic", - "tonic-build", - "tonic-reflection", - "tracing", - "tvix-castore", - "tvix-tracing", - "url", - "uuid", -] - -[[package]] -name = "tvix-castore" -version = "0.1.0" -dependencies = [ - "async-compression", - "async-process", - "async-stream", - "async-tempfile", - "auto_impl", - "bigtable_rs", - "blake3", - "bstr", - "bytes", - "clap", - "data-encoding", - "digest", - "erased-serde", - "fastcdc", - "fuse-backend-rs", - "futures", - "hex-literal", - "hyper-util", - "libc", - "object_store", - "parking_lot", - "petgraph", - "pin-project", - "pin-project-lite", - "prost", - "prost-build", - "redb", - "rstest", - "rstest_reuse", - "serde", - "serde_json", - "serde_qs", - "serde_tagged", - "serde_with", - "tempfile", - "thiserror 2.0.9", - "threadpool", - "tokio", - "tokio-retry", - "tokio-stream", - "tokio-tar", - "tokio-test", - "tokio-util", - "toml 0.8.19", - "tonic", - "tonic-build", - "tonic-reflection", - "tower 0.4.13", - "tracing", - "tracing-indicatif", - "tvix-tracing", - "url", - "vhost", - "vhost-user-backend", - "virtio-bindings 0.2.4", - "virtio-queue", - "vm-memory", - "vmm-sys-util", - "walkdir", - "wu-manber", - "xattr", - "zstd", -] - -[[package]] -name = "tvix-cli" -version = "0.1.0" -dependencies = [ - "bytes", - "clap", - "dirs", - "expect-test", - "mimalloc", - "rnix", - "rowan", - "rustc-hash 2.1.0", - "rustyline", - "smol_str", - "thiserror 2.0.9", - "tokio", - "tracing", - "tracing-indicatif", - "tvix-build", - "tvix-eval", - "tvix-glue", - "tvix-store", - "tvix-tracing", - "wu-manber", -] - -[[package]] -name = "tvix-eval" -version = "0.1.0" -dependencies = [ - "bstr", - "bytes", - "codemap", - "codemap-diagnostic", - "criterion", - "data-encoding", - "dirs", - "genawaiter", - "itertools 0.12.1", - "lexical-core", - "md-5", - "mimalloc", - "nohash-hasher", - "os_str_bytes", - "path-clean", - "pretty_assertions", - "proptest", - "regex", - "rnix", - "rowan", - "rstest", - "rustc-hash 2.1.0", - "serde", - "serde_json", - "sha1", - "sha2", - "smol_str", - "tabwriter", - "tempfile", - "test-strategy", - "thiserror 2.0.9", - "toml 0.6.0", - "tvix-eval-builtin-macros", - "vu128", -] - -[[package]] -name = "tvix-eval-builtin-macros" -version = "0.0.1" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "tvix-eval", -] - -[[package]] -name = "tvix-glue" -version = "0.1.0" -dependencies = [ - "async-compression", - "bstr", - "bytes", - "clap", - "criterion", - "data-encoding", - "futures", - "hex-literal", - "magic", - "md-5", - "mimalloc", - "nix 0.27.1", - "nix-compat", - "pin-project", - "pretty_assertions", - "reqwest", - "rstest", - "serde", - "serde_json", - "sha1", - "sha2", - "tempfile", - "thiserror 2.0.9", - "tokio", - "tokio-tar", - "tokio-util", - "tracing", - "tracing-indicatif", - "tvix-build", - "tvix-castore", - "tvix-eval", - "tvix-store", - "tvix-tracing", - "url", - "walkdir", -] - -[[package]] -name = "tvix-serde" -version = "0.1.0" -dependencies = [ - "bstr", - "serde", - "tvix-eval", -] - -[[package]] -name = "tvix-store" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-compression", - "async-process", - "async-stream", - "auto_impl", - "bigtable_rs", - "blake3", - "bstr", - "bytes", - "clap", - "count-write", - "data-encoding", - "ed25519", - "ed25519-dalek", - "futures", - "hex-literal", - "hyper-util", - "lru", - "md-5", - "mimalloc", - "nix-compat", - "parking_lot", - "pin-project-lite", - "prost", - "prost-build", - "redb", - "reqwest", - "reqwest-middleware", - "rstest", - "rstest_reuse", - "serde", - "serde_json", - "serde_qs", - "serde_with", - "sha1", - "sha2", - "tempfile", - "thiserror 2.0.9", - "tokio", - "tokio-listener", - "tokio-retry", - "tokio-stream", - "tokio-util", - "toml 0.8.19", - "tonic", - "tonic-build", - "tonic-health", - "tonic-reflection", - "tower 0.4.13", - "tower-http", - "tracing", - "tracing-indicatif", - "tvix-castore", - "tvix-tracing", - "url", - "walkdir", -] - -[[package]] -name = "tvix-tracing" -version = "0.1.0" -dependencies = [ - "axum", - "http 1.2.0", - "indicatif", - "opentelemetry", - "opentelemetry-http", - "opentelemetry-otlp", - "opentelemetry-semantic-conventions", - "opentelemetry_sdk", - "reqwest-tracing", - "thiserror 2.0.9", - "tokio", - "tonic", - "tracing", - "tracing-indicatif", - "tracing-opentelemetry", - "tracing-subscriber", - "tracing-tracy", -] - [[package]] name = "typeid" version = "1.0.2" diff --git a/tvix/Cargo.nix b/snix/Cargo.nix similarity index 99% rename from tvix/Cargo.nix rename to snix/Cargo.nix index 1e152e762..b881fc30e 100644 --- a/tvix/Cargo.nix +++ b/snix/Cargo.nix @@ -85,90 +85,90 @@ rec { # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; - "tvix-build" = rec { - packageId = "tvix-build"; + "snix-build" = rec { + packageId = "snix-build"; build = internal.buildRustCrateWithFeatures { - packageId = "tvix-build"; + packageId = "snix-build"; }; # Debug support which might change between releases. # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; - "tvix-castore" = rec { - packageId = "tvix-castore"; + "snix-castore" = rec { + packageId = "snix-castore"; build = internal.buildRustCrateWithFeatures { - packageId = "tvix-castore"; + packageId = "snix-castore"; }; # Debug support which might change between releases. # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; - "tvix-cli" = rec { - packageId = "tvix-cli"; + "snix-cli" = rec { + packageId = "snix-cli"; build = internal.buildRustCrateWithFeatures { - packageId = "tvix-cli"; + packageId = "snix-cli"; }; # Debug support which might change between releases. # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; - "tvix-eval" = rec { - packageId = "tvix-eval"; + "snix-eval" = rec { + packageId = "snix-eval"; build = internal.buildRustCrateWithFeatures { - packageId = "tvix-eval"; + packageId = "snix-eval"; }; # Debug support which might change between releases. # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; - "tvix-eval-builtin-macros" = rec { - packageId = "tvix-eval-builtin-macros"; + "snix-eval-builtin-macros" = rec { + packageId = "snix-eval-builtin-macros"; build = internal.buildRustCrateWithFeatures { - packageId = "tvix-eval-builtin-macros"; + packageId = "snix-eval-builtin-macros"; }; # Debug support which might change between releases. # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; - "tvix-glue" = rec { - packageId = "tvix-glue"; + "snix-glue" = rec { + packageId = "snix-glue"; build = internal.buildRustCrateWithFeatures { - packageId = "tvix-glue"; + packageId = "snix-glue"; }; # Debug support which might change between releases. # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; - "tvix-serde" = rec { - packageId = "tvix-serde"; + "snix-serde" = rec { + packageId = "snix-serde"; build = internal.buildRustCrateWithFeatures { - packageId = "tvix-serde"; + packageId = "snix-serde"; }; # Debug support which might change between releases. # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; - "tvix-store" = rec { - packageId = "tvix-store"; + "snix-store" = rec { + packageId = "snix-store"; build = internal.buildRustCrateWithFeatures { - packageId = "tvix-store"; + packageId = "snix-store"; }; # Debug support which might change between releases. # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; - "tvix-tracing" = rec { - packageId = "tvix-tracing"; + "snix-tracing" = rec { + packageId = "snix-tracing"; build = internal.buildRustCrateWithFeatures { - packageId = "tvix-tracing"; + packageId = "snix-tracing"; }; # Debug support which might change between releases. @@ -7856,6 +7856,19 @@ rec { packageId = "serde"; features = [ "derive" ]; } + { + name = "snix-castore"; + packageId = "snix-castore"; + } + { + name = "snix-store"; + packageId = "snix-store"; + } + { + name = "snix-tracing"; + packageId = "snix-tracing"; + features = [ "tonic" "axum" ]; + } { name = "thiserror"; packageId = "thiserror 2.0.9"; @@ -7906,19 +7919,6 @@ rec { name = "tracing-test"; packageId = "tracing-test"; } - { - name = "tvix-castore"; - packageId = "tvix-castore"; - } - { - name = "tvix-store"; - packageId = "tvix-store"; - } - { - name = "tvix-tracing"; - packageId = "tvix-tracing"; - features = [ "tonic" "axum" ]; - } { name = "url"; packageId = "url"; @@ -7954,9 +7954,9 @@ rec { ]; features = { "default" = [ "otlp" ]; - "otlp" = [ "tvix-tracing/otlp" "tower-otel-http-metrics" ]; + "otlp" = [ "snix-tracing/otlp" "tower-otel-http-metrics" ]; "tower-otel-http-metrics" = [ "dep:tower-otel-http-metrics" ]; - "xp-store-composition-cli" = [ "tvix-store/xp-composition-cli" ]; + "xp-store-composition-cli" = [ "snix-store/xp-composition-cli" ]; }; resolvedDefaultFeatures = [ "default" "otlp" "tower-otel-http-metrics" "xp-store-composition-cli" ]; }; @@ -8463,6 +8463,18 @@ rec { name = "nix-compat"; packageId = "nix-compat"; } + { + name = "snix-castore"; + packageId = "snix-castore"; + } + { + name = "snix-store"; + packageId = "snix-store"; + } + { + name = "snix-tracing"; + packageId = "snix-tracing"; + } { name = "tokio"; packageId = "tokio"; @@ -8476,22 +8488,10 @@ rec { name = "tracing"; packageId = "tracing"; } - { - name = "tvix-castore"; - packageId = "tvix-castore"; - } - { - name = "tvix-store"; - packageId = "tvix-store"; - } - { - name = "tvix-tracing"; - packageId = "tvix-tracing"; - } ]; features = { "default" = [ "otlp" ]; - "otlp" = [ "tvix-tracing/otlp" ]; + "otlp" = [ "snix-tracing/otlp" ]; }; resolvedDefaultFeatures = [ "default" "otlp" ]; }; @@ -13429,6 +13429,1308 @@ rec { features = { }; resolvedDefaultFeatures = [ "rust_1_39" "rust_1_46" ]; }; + "snix-build" = rec { + crateName = "snix-build"; + version = "0.1.0"; + edition = "2021"; + crateBin = [ + { + name = "snix-build"; + path = "src/bin/snix-build.rs"; + requiredFeatures = [ ]; + } + ]; + src = lib.cleanSourceWith { filter = sourceFilter; src = ./build; }; + libName = "snix_build"; + dependencies = [ + { + name = "anyhow"; + packageId = "anyhow"; + } + { + name = "blake3"; + packageId = "blake3"; + } + { + name = "bstr"; + packageId = "bstr"; + } + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "clap"; + packageId = "clap"; + features = [ "derive" "env" ]; + } + { + name = "data-encoding"; + packageId = "data-encoding"; + } + { + name = "futures"; + packageId = "futures"; + } + { + name = "itertools"; + packageId = "itertools 0.12.1"; + } + { + name = "mimalloc"; + packageId = "mimalloc"; + } + { + name = "oci-spec"; + packageId = "oci-spec"; + } + { + name = "prost"; + packageId = "prost"; + } + { + name = "serde_json"; + packageId = "serde_json"; + } + { + name = "snix-castore"; + packageId = "snix-castore"; + features = [ "fuse" ]; + } + { + name = "snix-tracing"; + packageId = "snix-tracing"; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.9"; + } + { + name = "tokio"; + packageId = "tokio"; + features = [ "process" ]; + } + { + name = "tokio-listener"; + packageId = "tokio-listener"; + features = [ "tonic012" ]; + } + { + name = "tonic"; + packageId = "tonic"; + features = [ "tls" "tls-roots" ]; + } + { + name = "tonic-reflection"; + packageId = "tonic-reflection"; + optional = true; + } + { + name = "tracing"; + packageId = "tracing"; + } + { + name = "url"; + packageId = "url"; + } + { + name = "uuid"; + packageId = "uuid"; + features = [ "v4" ]; + } + ]; + buildDependencies = [ + { + name = "prost-build"; + packageId = "prost-build"; + } + { + name = "tonic-build"; + packageId = "tonic-build"; + } + ]; + devDependencies = [ + { + name = "rstest"; + packageId = "rstest"; + } + { + name = "tempfile"; + packageId = "tempfile"; + } + ]; + features = { + "tonic-reflection" = [ "dep:tonic-reflection" "snix-castore/tonic-reflection" ]; + }; + resolvedDefaultFeatures = [ "default" "tonic-reflection" ]; + }; + "snix-castore" = rec { + crateName = "snix-castore"; + version = "0.1.0"; + edition = "2021"; + src = lib.cleanSourceWith { filter = sourceFilter; src = ./castore; }; + libName = "snix_castore"; + dependencies = [ + { + name = "async-compression"; + packageId = "async-compression"; + features = [ "tokio" "zstd" ]; + } + { + name = "async-stream"; + packageId = "async-stream"; + } + { + name = "async-tempfile"; + packageId = "async-tempfile"; + } + { + name = "auto_impl"; + packageId = "auto_impl"; + } + { + name = "bigtable_rs"; + packageId = "bigtable_rs"; + optional = true; + } + { + name = "blake3"; + packageId = "blake3"; + features = [ "rayon" "std" "traits-preview" ]; + } + { + name = "bstr"; + packageId = "bstr"; + } + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "clap"; + packageId = "clap"; + features = [ "derive" "env" ]; + } + { + name = "data-encoding"; + packageId = "data-encoding"; + } + { + name = "digest"; + packageId = "digest"; + } + { + name = "erased-serde"; + packageId = "erased-serde"; + } + { + name = "fastcdc"; + packageId = "fastcdc"; + features = [ "tokio" ]; + } + { + name = "fuse-backend-rs"; + packageId = "fuse-backend-rs"; + optional = true; + } + { + name = "futures"; + packageId = "futures"; + } + { + name = "hyper-util"; + packageId = "hyper-util"; + } + { + name = "libc"; + packageId = "libc"; + optional = true; + } + { + name = "object_store"; + packageId = "object_store"; + features = [ "http" ]; + } + { + name = "parking_lot"; + packageId = "parking_lot"; + } + { + name = "petgraph"; + packageId = "petgraph"; + } + { + name = "pin-project"; + packageId = "pin-project"; + } + { + name = "pin-project-lite"; + packageId = "pin-project-lite"; + } + { + name = "prost"; + packageId = "prost"; + } + { + name = "redb"; + packageId = "redb"; + features = [ "logging" ]; + } + { + name = "serde"; + packageId = "serde"; + features = [ "derive" ]; + } + { + name = "serde_qs"; + packageId = "serde_qs"; + } + { + name = "serde_tagged"; + packageId = "serde_tagged"; + } + { + name = "serde_with"; + packageId = "serde_with"; + } + { + name = "snix-tracing"; + packageId = "snix-tracing"; + features = [ "tonic" ]; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.9"; + } + { + name = "threadpool"; + packageId = "threadpool"; + optional = true; + } + { + name = "tokio"; + packageId = "tokio"; + features = [ "fs" "macros" "net" "rt" "rt-multi-thread" "signal" ]; + } + { + name = "tokio-stream"; + packageId = "tokio-stream"; + features = [ "fs" "net" ]; + } + { + name = "tokio-tar"; + packageId = "tokio-tar"; + } + { + name = "tokio-util"; + packageId = "tokio-util"; + features = [ "io" "io-util" "codec" ]; + } + { + name = "toml"; + packageId = "toml 0.8.19"; + optional = true; + } + { + name = "tonic"; + packageId = "tonic"; + } + { + name = "tonic-reflection"; + packageId = "tonic-reflection"; + optional = true; + } + { + name = "tower"; + packageId = "tower 0.4.13"; + } + { + name = "tracing"; + packageId = "tracing"; + } + { + name = "tracing-indicatif"; + packageId = "tracing-indicatif"; + } + { + name = "url"; + packageId = "url"; + } + { + name = "vhost"; + packageId = "vhost"; + optional = true; + } + { + name = "vhost-user-backend"; + packageId = "vhost-user-backend"; + optional = true; + } + { + name = "virtio-bindings"; + packageId = "virtio-bindings 0.2.4"; + optional = true; + } + { + name = "virtio-queue"; + packageId = "virtio-queue"; + optional = true; + } + { + name = "vm-memory"; + packageId = "vm-memory"; + optional = true; + } + { + name = "vmm-sys-util"; + packageId = "vmm-sys-util"; + optional = true; + } + { + name = "walkdir"; + packageId = "walkdir"; + } + { + name = "wu-manber"; + packageId = "wu-manber"; + } + { + name = "zstd"; + packageId = "zstd"; + } + ]; + buildDependencies = [ + { + name = "prost-build"; + packageId = "prost-build"; + } + { + name = "tonic-build"; + packageId = "tonic-build"; + } + ]; + devDependencies = [ + { + name = "async-process"; + packageId = "async-process"; + } + { + name = "hex-literal"; + packageId = "hex-literal"; + } + { + name = "rstest"; + packageId = "rstest"; + } + { + name = "rstest_reuse"; + packageId = "rstest_reuse"; + } + { + name = "serde_json"; + packageId = "serde_json"; + } + { + name = "tempfile"; + packageId = "tempfile"; + } + { + name = "tokio-retry"; + packageId = "tokio-retry"; + } + { + name = "tokio-test"; + packageId = "tokio-test"; + } + { + name = "xattr"; + packageId = "xattr"; + } + ]; + features = { + "cloud" = [ "dep:bigtable_rs" "object_store/aws" "object_store/azure" "object_store/gcp" ]; + "default" = [ "cloud" ]; + "fs" = [ "dep:fuse-backend-rs" "dep:threadpool" "dep:libc" ]; + "fuse" = [ "fs" ]; + "toml" = [ "dep:toml" ]; + "tonic-reflection" = [ "dep:tonic-reflection" ]; + "virtiofs" = [ "fs" "dep:vhost" "dep:vhost-user-backend" "dep:virtio-queue" "dep:vm-memory" "dep:vmm-sys-util" "dep:virtio-bindings" "fuse-backend-rs?/vhost-user-fs" "fuse-backend-rs?/virtiofs" ]; + "xp-composition-cli" = [ "toml" "xp-composition-url-refs" ]; + }; + resolvedDefaultFeatures = [ "cloud" "default" "fs" "fuse" "integration" "toml" "tonic-reflection" "virtiofs" "xp-composition-cli" "xp-composition-url-refs" ]; + }; + "snix-cli" = rec { + crateName = "snix-cli"; + version = "0.1.0"; + edition = "2021"; + crateBin = [ + { + name = "snix"; + path = "src/main.rs"; + requiredFeatures = [ ]; + } + ]; + src = lib.cleanSourceWith { filter = sourceFilter; src = ./cli; }; + libName = "snix_cli"; + dependencies = [ + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "clap"; + packageId = "clap"; + features = [ "derive" "env" ]; + } + { + name = "dirs"; + packageId = "dirs"; + } + { + name = "mimalloc"; + packageId = "mimalloc"; + } + { + name = "rnix"; + packageId = "rnix"; + } + { + name = "rowan"; + packageId = "rowan"; + } + { + name = "rustc-hash"; + packageId = "rustc-hash 2.1.0"; + } + { + name = "rustyline"; + packageId = "rustyline"; + } + { + name = "smol_str"; + packageId = "smol_str"; + } + { + name = "snix-build"; + packageId = "snix-build"; + } + { + name = "snix-eval"; + packageId = "snix-eval"; + } + { + name = "snix-glue"; + packageId = "snix-glue"; + } + { + name = "snix-store"; + packageId = "snix-store"; + usesDefaultFeatures = false; + } + { + name = "snix-tracing"; + packageId = "snix-tracing"; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.9"; + } + { + name = "tokio"; + packageId = "tokio"; + } + { + name = "tracing"; + packageId = "tracing"; + } + { + name = "tracing-indicatif"; + packageId = "tracing-indicatif"; + } + { + name = "wu-manber"; + packageId = "wu-manber"; + } + ]; + devDependencies = [ + { + name = "expect-test"; + packageId = "expect-test"; + } + ]; + features = { + "tracy" = [ "snix-tracing/tracy" ]; + "xp-store-composition-cli" = [ "snix-store/xp-composition-cli" ]; + }; + resolvedDefaultFeatures = [ "default" "tracy" "xp-store-composition-cli" ]; + }; + "snix-eval" = rec { + crateName = "snix-eval"; + version = "0.1.0"; + edition = "2021"; + src = lib.cleanSourceWith { filter = sourceFilter; src = ./eval; }; + libName = "snix_eval"; + dependencies = [ + { + name = "bstr"; + packageId = "bstr"; + features = [ "serde" ]; + } + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "codemap"; + packageId = "codemap"; + } + { + name = "codemap-diagnostic"; + packageId = "codemap-diagnostic"; + } + { + name = "data-encoding"; + packageId = "data-encoding"; + } + { + name = "dirs"; + packageId = "dirs"; + } + { + name = "genawaiter"; + packageId = "genawaiter"; + usesDefaultFeatures = false; + } + { + name = "itertools"; + packageId = "itertools 0.12.1"; + } + { + name = "lexical-core"; + packageId = "lexical-core"; + features = [ "format" "parse-floats" ]; + } + { + name = "md-5"; + packageId = "md-5"; + } + { + name = "nohash-hasher"; + packageId = "nohash-hasher"; + } + { + name = "os_str_bytes"; + packageId = "os_str_bytes"; + features = [ "conversions" ]; + } + { + name = "path-clean"; + packageId = "path-clean"; + } + { + name = "proptest"; + packageId = "proptest"; + optional = true; + usesDefaultFeatures = false; + features = [ "std" "alloc" "tempfile" ]; + } + { + name = "regex"; + packageId = "regex"; + } + { + name = "rnix"; + packageId = "rnix"; + } + { + name = "rowan"; + packageId = "rowan"; + } + { + name = "rustc-hash"; + packageId = "rustc-hash 2.1.0"; + } + { + name = "serde"; + packageId = "serde"; + features = [ "rc" "derive" ]; + } + { + name = "serde_json"; + packageId = "serde_json"; + } + { + name = "sha1"; + packageId = "sha1"; + } + { + name = "sha2"; + packageId = "sha2"; + } + { + name = "smol_str"; + packageId = "smol_str"; + } + { + name = "snix-eval-builtin-macros"; + packageId = "snix-eval-builtin-macros"; + rename = "builtin-macros"; + } + { + name = "tabwriter"; + packageId = "tabwriter"; + } + { + name = "test-strategy"; + packageId = "test-strategy"; + optional = true; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.9"; + } + { + name = "toml"; + packageId = "toml 0.6.0"; + } + { + name = "vu128"; + packageId = "vu128"; + } + ]; + devDependencies = [ + { + name = "criterion"; + packageId = "criterion"; + } + { + name = "itertools"; + packageId = "itertools 0.12.1"; + } + { + name = "mimalloc"; + packageId = "mimalloc"; + } + { + name = "pretty_assertions"; + packageId = "pretty_assertions"; + } + { + name = "rstest"; + packageId = "rstest"; + } + { + name = "tempfile"; + packageId = "tempfile"; + } + ]; + features = { + "arbitrary" = [ "proptest" "test-strategy" ]; + "default" = [ "impure" "arbitrary" "nix_tests" ]; + "proptest" = [ "dep:proptest" ]; + "test-strategy" = [ "dep:test-strategy" ]; + }; + resolvedDefaultFeatures = [ "arbitrary" "default" "impure" "nix_tests" "no_leak" "proptest" "test-strategy" ]; + }; + "snix-eval-builtin-macros" = rec { + crateName = "snix-eval-builtin-macros"; + version = "0.0.1"; + edition = "2021"; + src = lib.cleanSourceWith { filter = sourceFilter; src = ./eval/builtin-macros; }; + procMacro = true; + libName = "snix_eval_builtin_macros"; + authors = [ + "Griffin Smith " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 1.0.109"; + features = [ "full" "parsing" "printing" "visit" "visit-mut" "extra-traits" ]; + } + ]; + devDependencies = [ + { + name = "snix-eval"; + packageId = "snix-eval"; + } + ]; + + }; + "snix-glue" = rec { + crateName = "snix-glue"; + version = "0.1.0"; + edition = "2021"; + src = lib.cleanSourceWith { filter = sourceFilter; src = ./glue; }; + libName = "snix_glue"; + dependencies = [ + { + name = "async-compression"; + packageId = "async-compression"; + features = [ "tokio" "gzip" "bzip2" "xz" ]; + } + { + name = "bstr"; + packageId = "bstr"; + } + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "clap"; + packageId = "clap"; + } + { + name = "data-encoding"; + packageId = "data-encoding"; + } + { + name = "futures"; + packageId = "futures"; + } + { + name = "magic"; + packageId = "magic"; + } + { + name = "md-5"; + packageId = "md-5"; + } + { + name = "nix-compat"; + packageId = "nix-compat"; + } + { + name = "pin-project"; + packageId = "pin-project"; + } + { + name = "reqwest"; + packageId = "reqwest"; + usesDefaultFeatures = false; + features = [ "rustls-tls-native-roots" ]; + } + { + name = "serde"; + packageId = "serde"; + } + { + name = "serde_json"; + packageId = "serde_json"; + } + { + name = "sha1"; + packageId = "sha1"; + } + { + name = "sha2"; + packageId = "sha2"; + } + { + name = "snix-build"; + packageId = "snix-build"; + usesDefaultFeatures = false; + } + { + name = "snix-castore"; + packageId = "snix-castore"; + } + { + name = "snix-eval"; + packageId = "snix-eval"; + } + { + name = "snix-store"; + packageId = "snix-store"; + usesDefaultFeatures = false; + } + { + name = "snix-tracing"; + packageId = "snix-tracing"; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.9"; + } + { + name = "tokio"; + packageId = "tokio"; + } + { + name = "tokio-tar"; + packageId = "tokio-tar"; + } + { + name = "tokio-util"; + packageId = "tokio-util"; + features = [ "io" "io-util" "compat" ]; + } + { + name = "tracing"; + packageId = "tracing"; + } + { + name = "tracing-indicatif"; + packageId = "tracing-indicatif"; + } + { + name = "url"; + packageId = "url"; + } + { + name = "walkdir"; + packageId = "walkdir"; + } + ]; + devDependencies = [ + { + name = "criterion"; + packageId = "criterion"; + features = [ "html_reports" ]; + } + { + name = "hex-literal"; + packageId = "hex-literal"; + } + { + name = "mimalloc"; + packageId = "mimalloc"; + } + { + name = "nix"; + packageId = "nix 0.27.1"; + features = [ "fs" ]; + } + { + name = "pretty_assertions"; + packageId = "pretty_assertions"; + } + { + name = "rstest"; + packageId = "rstest"; + } + { + name = "tempfile"; + packageId = "tempfile"; + } + ]; + features = { + "default" = [ "nix_tests" ]; + }; + resolvedDefaultFeatures = [ "default" "nix_tests" ]; + }; + "snix-serde" = rec { + crateName = "snix-serde"; + version = "0.1.0"; + edition = "2021"; + src = lib.cleanSourceWith { filter = sourceFilter; src = ./serde; }; + libName = "snix_serde"; + dependencies = [ + { + name = "bstr"; + packageId = "bstr"; + features = [ "serde" ]; + } + { + name = "serde"; + packageId = "serde"; + features = [ "derive" ]; + } + { + name = "snix-eval"; + packageId = "snix-eval"; + } + ]; + + }; + "snix-store" = rec { + crateName = "snix-store"; + version = "0.1.0"; + edition = "2021"; + crateBin = [ + { + name = "snix-store"; + path = "src/bin/snix-store.rs"; + requiredFeatures = [ ]; + } + ]; + src = lib.cleanSourceWith { filter = sourceFilter; src = ./store; }; + libName = "snix_store"; + dependencies = [ + { + name = "anyhow"; + packageId = "anyhow"; + } + { + name = "async-compression"; + packageId = "async-compression"; + features = [ "tokio" "bzip2" "gzip" "xz" "zstd" ]; + } + { + name = "async-stream"; + packageId = "async-stream"; + } + { + name = "auto_impl"; + packageId = "auto_impl"; + } + { + name = "bigtable_rs"; + packageId = "bigtable_rs"; + optional = true; + } + { + name = "blake3"; + packageId = "blake3"; + features = [ "rayon" "std" ]; + } + { + name = "bstr"; + packageId = "bstr"; + } + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "clap"; + packageId = "clap"; + features = [ "derive" "env" ]; + } + { + name = "count-write"; + packageId = "count-write"; + } + { + name = "data-encoding"; + packageId = "data-encoding"; + } + { + name = "ed25519"; + packageId = "ed25519"; + } + { + name = "ed25519-dalek"; + packageId = "ed25519-dalek"; + } + { + name = "futures"; + packageId = "futures"; + } + { + name = "hyper-util"; + packageId = "hyper-util"; + } + { + name = "lru"; + packageId = "lru"; + } + { + name = "md-5"; + packageId = "md-5"; + } + { + name = "mimalloc"; + packageId = "mimalloc"; + } + { + name = "nix-compat"; + packageId = "nix-compat"; + features = [ "async" ]; + } + { + name = "parking_lot"; + packageId = "parking_lot"; + } + { + name = "pin-project-lite"; + packageId = "pin-project-lite"; + } + { + name = "prost"; + packageId = "prost"; + } + { + name = "redb"; + packageId = "redb"; + features = [ "logging" ]; + } + { + name = "reqwest"; + packageId = "reqwest"; + usesDefaultFeatures = false; + features = [ "rustls-tls-native-roots" "stream" ]; + } + { + name = "reqwest-middleware"; + packageId = "reqwest-middleware"; + usesDefaultFeatures = false; + } + { + name = "serde"; + packageId = "serde"; + features = [ "derive" ]; + } + { + name = "serde_json"; + packageId = "serde_json"; + } + { + name = "serde_qs"; + packageId = "serde_qs"; + } + { + name = "serde_with"; + packageId = "serde_with"; + } + { + name = "sha1"; + packageId = "sha1"; + } + { + name = "sha2"; + packageId = "sha2"; + } + { + name = "snix-castore"; + packageId = "snix-castore"; + } + { + name = "snix-tracing"; + packageId = "snix-tracing"; + features = [ "tonic" "reqwest" ]; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.9"; + } + { + name = "tokio"; + packageId = "tokio"; + features = [ "fs" "macros" "net" "rt" "rt-multi-thread" "signal" ]; + } + { + name = "tokio-listener"; + packageId = "tokio-listener"; + features = [ "clap" "multi-listener" "sd_listen" "tonic012" ]; + } + { + name = "tokio-stream"; + packageId = "tokio-stream"; + features = [ "fs" ]; + } + { + name = "tokio-util"; + packageId = "tokio-util"; + features = [ "io" "io-util" "compat" ]; + } + { + name = "toml"; + packageId = "toml 0.8.19"; + optional = true; + } + { + name = "tonic"; + packageId = "tonic"; + features = [ "tls" "tls-roots" ]; + } + { + name = "tonic-health"; + packageId = "tonic-health"; + usesDefaultFeatures = false; + } + { + name = "tonic-reflection"; + packageId = "tonic-reflection"; + optional = true; + } + { + name = "tower"; + packageId = "tower 0.4.13"; + } + { + name = "tower-http"; + packageId = "tower-http"; + features = [ "trace" ]; + } + { + name = "tracing"; + packageId = "tracing"; + } + { + name = "tracing-indicatif"; + packageId = "tracing-indicatif"; + } + { + name = "url"; + packageId = "url"; + } + { + name = "walkdir"; + packageId = "walkdir"; + } + ]; + buildDependencies = [ + { + name = "prost-build"; + packageId = "prost-build"; + } + { + name = "tonic-build"; + packageId = "tonic-build"; + } + ]; + devDependencies = [ + { + name = "async-process"; + packageId = "async-process"; + } + { + name = "hex-literal"; + packageId = "hex-literal"; + } + { + name = "rstest"; + packageId = "rstest"; + } + { + name = "rstest_reuse"; + packageId = "rstest_reuse"; + } + { + name = "tempfile"; + packageId = "tempfile"; + } + { + name = "tokio-retry"; + packageId = "tokio-retry"; + } + ]; + features = { + "cloud" = [ "dep:bigtable_rs" "snix-castore/cloud" ]; + "default" = [ "cloud" "fuse" "otlp" "tonic-reflection" ]; + "fuse" = [ "snix-castore/fuse" ]; + "otlp" = [ "snix-tracing/otlp" ]; + "toml" = [ "dep:toml" ]; + "tonic-reflection" = [ "dep:tonic-reflection" "snix-castore/tonic-reflection" ]; + "tracy" = [ "snix-tracing/tracy" ]; + "virtiofs" = [ "snix-castore/virtiofs" ]; + "xp-composition-cli" = [ "toml" "snix-castore/xp-composition-url-refs" ]; + }; + resolvedDefaultFeatures = [ "cloud" "default" "fuse" "integration" "otlp" "toml" "tonic-reflection" "tracy" "virtiofs" "xp-composition-cli" ]; + }; + "snix-tracing" = rec { + crateName = "snix-tracing"; + version = "0.1.0"; + edition = "2021"; + src = lib.cleanSourceWith { filter = sourceFilter; src = ./tracing; }; + libName = "snix_tracing"; + dependencies = [ + { + name = "axum"; + packageId = "axum"; + optional = true; + } + { + name = "http"; + packageId = "http 1.2.0"; + optional = true; + } + { + name = "indicatif"; + packageId = "indicatif"; + } + { + name = "opentelemetry"; + packageId = "opentelemetry"; + optional = true; + } + { + name = "opentelemetry-http"; + packageId = "opentelemetry-http"; + optional = true; + } + { + name = "opentelemetry-otlp"; + packageId = "opentelemetry-otlp"; + optional = true; + features = [ "grpc-tonic" ]; + } + { + name = "opentelemetry-semantic-conventions"; + packageId = "opentelemetry-semantic-conventions"; + optional = true; + } + { + name = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk"; + optional = true; + features = [ "rt-tokio" ]; + } + { + name = "reqwest-tracing"; + packageId = "reqwest-tracing"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.9"; + } + { + name = "tokio"; + packageId = "tokio"; + features = [ "sync" "rt" ]; + } + { + name = "tonic"; + packageId = "tonic"; + optional = true; + } + { + name = "tracing"; + packageId = "tracing"; + features = [ "max_level_trace" "release_max_level_debug" ]; + } + { + name = "tracing-indicatif"; + packageId = "tracing-indicatif"; + } + { + name = "tracing-opentelemetry"; + packageId = "tracing-opentelemetry"; + optional = true; + } + { + name = "tracing-subscriber"; + packageId = "tracing-subscriber"; + features = [ "env-filter" ]; + } + { + name = "tracing-tracy"; + packageId = "tracing-tracy"; + optional = true; + features = [ "flush-on-exit" ]; + } + ]; + features = { + "axum" = [ "dep:axum" ]; + "otlp" = [ "dep:tracing-opentelemetry" "dep:opentelemetry" "dep:opentelemetry-otlp" "dep:opentelemetry_sdk" "dep:opentelemetry-http" "dep:opentelemetry-semantic-conventions" "reqwest-tracing?/opentelemetry_0_28" ]; + "reqwest" = [ "dep:reqwest-tracing" ]; + "tonic" = [ "dep:tonic" "dep:http" ]; + "tracy" = [ "dep:tracing-tracy" ]; + }; + resolvedDefaultFeatures = [ "axum" "default" "otlp" "reqwest" "tonic" "tracy" ]; + }; "socket2" = rec { crateName = "socket2"; version = "0.5.8"; @@ -16419,1308 +17721,6 @@ rec { "dissimilar" = [ "dep:dissimilar" ]; }; }; - "tvix-build" = rec { - crateName = "tvix-build"; - version = "0.1.0"; - edition = "2021"; - crateBin = [ - { - name = "tvix-build"; - path = "src/bin/tvix-build.rs"; - requiredFeatures = [ ]; - } - ]; - src = lib.cleanSourceWith { filter = sourceFilter; src = ./build; }; - libName = "tvix_build"; - dependencies = [ - { - name = "anyhow"; - packageId = "anyhow"; - } - { - name = "blake3"; - packageId = "blake3"; - } - { - name = "bstr"; - packageId = "bstr"; - } - { - name = "bytes"; - packageId = "bytes"; - } - { - name = "clap"; - packageId = "clap"; - features = [ "derive" "env" ]; - } - { - name = "data-encoding"; - packageId = "data-encoding"; - } - { - name = "futures"; - packageId = "futures"; - } - { - name = "itertools"; - packageId = "itertools 0.12.1"; - } - { - name = "mimalloc"; - packageId = "mimalloc"; - } - { - name = "oci-spec"; - packageId = "oci-spec"; - } - { - name = "prost"; - packageId = "prost"; - } - { - name = "serde_json"; - packageId = "serde_json"; - } - { - name = "thiserror"; - packageId = "thiserror 2.0.9"; - } - { - name = "tokio"; - packageId = "tokio"; - features = [ "process" ]; - } - { - name = "tokio-listener"; - packageId = "tokio-listener"; - features = [ "tonic012" ]; - } - { - name = "tonic"; - packageId = "tonic"; - features = [ "tls" "tls-roots" ]; - } - { - name = "tonic-reflection"; - packageId = "tonic-reflection"; - optional = true; - } - { - name = "tracing"; - packageId = "tracing"; - } - { - name = "tvix-castore"; - packageId = "tvix-castore"; - features = [ "fuse" ]; - } - { - name = "tvix-tracing"; - packageId = "tvix-tracing"; - } - { - name = "url"; - packageId = "url"; - } - { - name = "uuid"; - packageId = "uuid"; - features = [ "v4" ]; - } - ]; - buildDependencies = [ - { - name = "prost-build"; - packageId = "prost-build"; - } - { - name = "tonic-build"; - packageId = "tonic-build"; - } - ]; - devDependencies = [ - { - name = "rstest"; - packageId = "rstest"; - } - { - name = "tempfile"; - packageId = "tempfile"; - } - ]; - features = { - "tonic-reflection" = [ "dep:tonic-reflection" "tvix-castore/tonic-reflection" ]; - }; - resolvedDefaultFeatures = [ "default" "tonic-reflection" ]; - }; - "tvix-castore" = rec { - crateName = "tvix-castore"; - version = "0.1.0"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ./castore; }; - libName = "tvix_castore"; - dependencies = [ - { - name = "async-compression"; - packageId = "async-compression"; - features = [ "tokio" "zstd" ]; - } - { - name = "async-stream"; - packageId = "async-stream"; - } - { - name = "async-tempfile"; - packageId = "async-tempfile"; - } - { - name = "auto_impl"; - packageId = "auto_impl"; - } - { - name = "bigtable_rs"; - packageId = "bigtable_rs"; - optional = true; - } - { - name = "blake3"; - packageId = "blake3"; - features = [ "rayon" "std" "traits-preview" ]; - } - { - name = "bstr"; - packageId = "bstr"; - } - { - name = "bytes"; - packageId = "bytes"; - } - { - name = "clap"; - packageId = "clap"; - features = [ "derive" "env" ]; - } - { - name = "data-encoding"; - packageId = "data-encoding"; - } - { - name = "digest"; - packageId = "digest"; - } - { - name = "erased-serde"; - packageId = "erased-serde"; - } - { - name = "fastcdc"; - packageId = "fastcdc"; - features = [ "tokio" ]; - } - { - name = "fuse-backend-rs"; - packageId = "fuse-backend-rs"; - optional = true; - } - { - name = "futures"; - packageId = "futures"; - } - { - name = "hyper-util"; - packageId = "hyper-util"; - } - { - name = "libc"; - packageId = "libc"; - optional = true; - } - { - name = "object_store"; - packageId = "object_store"; - features = [ "http" ]; - } - { - name = "parking_lot"; - packageId = "parking_lot"; - } - { - name = "petgraph"; - packageId = "petgraph"; - } - { - name = "pin-project"; - packageId = "pin-project"; - } - { - name = "pin-project-lite"; - packageId = "pin-project-lite"; - } - { - name = "prost"; - packageId = "prost"; - } - { - name = "redb"; - packageId = "redb"; - features = [ "logging" ]; - } - { - name = "serde"; - packageId = "serde"; - features = [ "derive" ]; - } - { - name = "serde_qs"; - packageId = "serde_qs"; - } - { - name = "serde_tagged"; - packageId = "serde_tagged"; - } - { - name = "serde_with"; - packageId = "serde_with"; - } - { - name = "thiserror"; - packageId = "thiserror 2.0.9"; - } - { - name = "threadpool"; - packageId = "threadpool"; - optional = true; - } - { - name = "tokio"; - packageId = "tokio"; - features = [ "fs" "macros" "net" "rt" "rt-multi-thread" "signal" ]; - } - { - name = "tokio-stream"; - packageId = "tokio-stream"; - features = [ "fs" "net" ]; - } - { - name = "tokio-tar"; - packageId = "tokio-tar"; - } - { - name = "tokio-util"; - packageId = "tokio-util"; - features = [ "io" "io-util" "codec" ]; - } - { - name = "toml"; - packageId = "toml 0.8.19"; - optional = true; - } - { - name = "tonic"; - packageId = "tonic"; - } - { - name = "tonic-reflection"; - packageId = "tonic-reflection"; - optional = true; - } - { - name = "tower"; - packageId = "tower 0.4.13"; - } - { - name = "tracing"; - packageId = "tracing"; - } - { - name = "tracing-indicatif"; - packageId = "tracing-indicatif"; - } - { - name = "tvix-tracing"; - packageId = "tvix-tracing"; - features = [ "tonic" ]; - } - { - name = "url"; - packageId = "url"; - } - { - name = "vhost"; - packageId = "vhost"; - optional = true; - } - { - name = "vhost-user-backend"; - packageId = "vhost-user-backend"; - optional = true; - } - { - name = "virtio-bindings"; - packageId = "virtio-bindings 0.2.4"; - optional = true; - } - { - name = "virtio-queue"; - packageId = "virtio-queue"; - optional = true; - } - { - name = "vm-memory"; - packageId = "vm-memory"; - optional = true; - } - { - name = "vmm-sys-util"; - packageId = "vmm-sys-util"; - optional = true; - } - { - name = "walkdir"; - packageId = "walkdir"; - } - { - name = "wu-manber"; - packageId = "wu-manber"; - } - { - name = "zstd"; - packageId = "zstd"; - } - ]; - buildDependencies = [ - { - name = "prost-build"; - packageId = "prost-build"; - } - { - name = "tonic-build"; - packageId = "tonic-build"; - } - ]; - devDependencies = [ - { - name = "async-process"; - packageId = "async-process"; - } - { - name = "hex-literal"; - packageId = "hex-literal"; - } - { - name = "rstest"; - packageId = "rstest"; - } - { - name = "rstest_reuse"; - packageId = "rstest_reuse"; - } - { - name = "serde_json"; - packageId = "serde_json"; - } - { - name = "tempfile"; - packageId = "tempfile"; - } - { - name = "tokio-retry"; - packageId = "tokio-retry"; - } - { - name = "tokio-test"; - packageId = "tokio-test"; - } - { - name = "xattr"; - packageId = "xattr"; - } - ]; - features = { - "cloud" = [ "dep:bigtable_rs" "object_store/aws" "object_store/azure" "object_store/gcp" ]; - "default" = [ "cloud" ]; - "fs" = [ "dep:fuse-backend-rs" "dep:threadpool" "dep:libc" ]; - "fuse" = [ "fs" ]; - "toml" = [ "dep:toml" ]; - "tonic-reflection" = [ "dep:tonic-reflection" ]; - "virtiofs" = [ "fs" "dep:vhost" "dep:vhost-user-backend" "dep:virtio-queue" "dep:vm-memory" "dep:vmm-sys-util" "dep:virtio-bindings" "fuse-backend-rs?/vhost-user-fs" "fuse-backend-rs?/virtiofs" ]; - "xp-composition-cli" = [ "toml" "xp-composition-url-refs" ]; - }; - resolvedDefaultFeatures = [ "cloud" "default" "fs" "fuse" "integration" "toml" "tonic-reflection" "virtiofs" "xp-composition-cli" "xp-composition-url-refs" ]; - }; - "tvix-cli" = rec { - crateName = "tvix-cli"; - version = "0.1.0"; - edition = "2021"; - crateBin = [ - { - name = "tvix"; - path = "src/main.rs"; - requiredFeatures = [ ]; - } - ]; - src = lib.cleanSourceWith { filter = sourceFilter; src = ./cli; }; - libName = "tvix_cli"; - dependencies = [ - { - name = "bytes"; - packageId = "bytes"; - } - { - name = "clap"; - packageId = "clap"; - features = [ "derive" "env" ]; - } - { - name = "dirs"; - packageId = "dirs"; - } - { - name = "mimalloc"; - packageId = "mimalloc"; - } - { - name = "rnix"; - packageId = "rnix"; - } - { - name = "rowan"; - packageId = "rowan"; - } - { - name = "rustc-hash"; - packageId = "rustc-hash 2.1.0"; - } - { - name = "rustyline"; - packageId = "rustyline"; - } - { - name = "smol_str"; - packageId = "smol_str"; - } - { - name = "thiserror"; - packageId = "thiserror 2.0.9"; - } - { - name = "tokio"; - packageId = "tokio"; - } - { - name = "tracing"; - packageId = "tracing"; - } - { - name = "tracing-indicatif"; - packageId = "tracing-indicatif"; - } - { - name = "tvix-build"; - packageId = "tvix-build"; - } - { - name = "tvix-eval"; - packageId = "tvix-eval"; - } - { - name = "tvix-glue"; - packageId = "tvix-glue"; - } - { - name = "tvix-store"; - packageId = "tvix-store"; - usesDefaultFeatures = false; - } - { - name = "tvix-tracing"; - packageId = "tvix-tracing"; - } - { - name = "wu-manber"; - packageId = "wu-manber"; - } - ]; - devDependencies = [ - { - name = "expect-test"; - packageId = "expect-test"; - } - ]; - features = { - "tracy" = [ "tvix-tracing/tracy" ]; - "xp-store-composition-cli" = [ "tvix-store/xp-composition-cli" ]; - }; - resolvedDefaultFeatures = [ "default" "tracy" "xp-store-composition-cli" ]; - }; - "tvix-eval" = rec { - crateName = "tvix-eval"; - version = "0.1.0"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ./eval; }; - libName = "tvix_eval"; - dependencies = [ - { - name = "bstr"; - packageId = "bstr"; - features = [ "serde" ]; - } - { - name = "bytes"; - packageId = "bytes"; - } - { - name = "codemap"; - packageId = "codemap"; - } - { - name = "codemap-diagnostic"; - packageId = "codemap-diagnostic"; - } - { - name = "data-encoding"; - packageId = "data-encoding"; - } - { - name = "dirs"; - packageId = "dirs"; - } - { - name = "genawaiter"; - packageId = "genawaiter"; - usesDefaultFeatures = false; - } - { - name = "itertools"; - packageId = "itertools 0.12.1"; - } - { - name = "lexical-core"; - packageId = "lexical-core"; - features = [ "format" "parse-floats" ]; - } - { - name = "md-5"; - packageId = "md-5"; - } - { - name = "nohash-hasher"; - packageId = "nohash-hasher"; - } - { - name = "os_str_bytes"; - packageId = "os_str_bytes"; - features = [ "conversions" ]; - } - { - name = "path-clean"; - packageId = "path-clean"; - } - { - name = "proptest"; - packageId = "proptest"; - optional = true; - usesDefaultFeatures = false; - features = [ "std" "alloc" "tempfile" ]; - } - { - name = "regex"; - packageId = "regex"; - } - { - name = "rnix"; - packageId = "rnix"; - } - { - name = "rowan"; - packageId = "rowan"; - } - { - name = "rustc-hash"; - packageId = "rustc-hash 2.1.0"; - } - { - name = "serde"; - packageId = "serde"; - features = [ "rc" "derive" ]; - } - { - name = "serde_json"; - packageId = "serde_json"; - } - { - name = "sha1"; - packageId = "sha1"; - } - { - name = "sha2"; - packageId = "sha2"; - } - { - name = "smol_str"; - packageId = "smol_str"; - } - { - name = "tabwriter"; - packageId = "tabwriter"; - } - { - name = "test-strategy"; - packageId = "test-strategy"; - optional = true; - } - { - name = "thiserror"; - packageId = "thiserror 2.0.9"; - } - { - name = "toml"; - packageId = "toml 0.6.0"; - } - { - name = "tvix-eval-builtin-macros"; - packageId = "tvix-eval-builtin-macros"; - rename = "builtin-macros"; - } - { - name = "vu128"; - packageId = "vu128"; - } - ]; - devDependencies = [ - { - name = "criterion"; - packageId = "criterion"; - } - { - name = "itertools"; - packageId = "itertools 0.12.1"; - } - { - name = "mimalloc"; - packageId = "mimalloc"; - } - { - name = "pretty_assertions"; - packageId = "pretty_assertions"; - } - { - name = "rstest"; - packageId = "rstest"; - } - { - name = "tempfile"; - packageId = "tempfile"; - } - ]; - features = { - "arbitrary" = [ "proptest" "test-strategy" ]; - "default" = [ "impure" "arbitrary" "nix_tests" ]; - "proptest" = [ "dep:proptest" ]; - "test-strategy" = [ "dep:test-strategy" ]; - }; - resolvedDefaultFeatures = [ "arbitrary" "default" "impure" "nix_tests" "no_leak" "proptest" "test-strategy" ]; - }; - "tvix-eval-builtin-macros" = rec { - crateName = "tvix-eval-builtin-macros"; - version = "0.0.1"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ./eval/builtin-macros; }; - procMacro = true; - libName = "tvix_eval_builtin_macros"; - authors = [ - "Griffin Smith " - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn 1.0.109"; - features = [ "full" "parsing" "printing" "visit" "visit-mut" "extra-traits" ]; - } - ]; - devDependencies = [ - { - name = "tvix-eval"; - packageId = "tvix-eval"; - } - ]; - - }; - "tvix-glue" = rec { - crateName = "tvix-glue"; - version = "0.1.0"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ./glue; }; - libName = "tvix_glue"; - dependencies = [ - { - name = "async-compression"; - packageId = "async-compression"; - features = [ "tokio" "gzip" "bzip2" "xz" ]; - } - { - name = "bstr"; - packageId = "bstr"; - } - { - name = "bytes"; - packageId = "bytes"; - } - { - name = "clap"; - packageId = "clap"; - } - { - name = "data-encoding"; - packageId = "data-encoding"; - } - { - name = "futures"; - packageId = "futures"; - } - { - name = "magic"; - packageId = "magic"; - } - { - name = "md-5"; - packageId = "md-5"; - } - { - name = "nix-compat"; - packageId = "nix-compat"; - } - { - name = "pin-project"; - packageId = "pin-project"; - } - { - name = "reqwest"; - packageId = "reqwest"; - usesDefaultFeatures = false; - features = [ "rustls-tls-native-roots" ]; - } - { - name = "serde"; - packageId = "serde"; - } - { - name = "serde_json"; - packageId = "serde_json"; - } - { - name = "sha1"; - packageId = "sha1"; - } - { - name = "sha2"; - packageId = "sha2"; - } - { - name = "thiserror"; - packageId = "thiserror 2.0.9"; - } - { - name = "tokio"; - packageId = "tokio"; - } - { - name = "tokio-tar"; - packageId = "tokio-tar"; - } - { - name = "tokio-util"; - packageId = "tokio-util"; - features = [ "io" "io-util" "compat" ]; - } - { - name = "tracing"; - packageId = "tracing"; - } - { - name = "tracing-indicatif"; - packageId = "tracing-indicatif"; - } - { - name = "tvix-build"; - packageId = "tvix-build"; - usesDefaultFeatures = false; - } - { - name = "tvix-castore"; - packageId = "tvix-castore"; - } - { - name = "tvix-eval"; - packageId = "tvix-eval"; - } - { - name = "tvix-store"; - packageId = "tvix-store"; - usesDefaultFeatures = false; - } - { - name = "tvix-tracing"; - packageId = "tvix-tracing"; - } - { - name = "url"; - packageId = "url"; - } - { - name = "walkdir"; - packageId = "walkdir"; - } - ]; - devDependencies = [ - { - name = "criterion"; - packageId = "criterion"; - features = [ "html_reports" ]; - } - { - name = "hex-literal"; - packageId = "hex-literal"; - } - { - name = "mimalloc"; - packageId = "mimalloc"; - } - { - name = "nix"; - packageId = "nix 0.27.1"; - features = [ "fs" ]; - } - { - name = "pretty_assertions"; - packageId = "pretty_assertions"; - } - { - name = "rstest"; - packageId = "rstest"; - } - { - name = "tempfile"; - packageId = "tempfile"; - } - ]; - features = { - "default" = [ "nix_tests" ]; - }; - resolvedDefaultFeatures = [ "default" "nix_tests" ]; - }; - "tvix-serde" = rec { - crateName = "tvix-serde"; - version = "0.1.0"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ./serde; }; - libName = "tvix_serde"; - dependencies = [ - { - name = "bstr"; - packageId = "bstr"; - features = [ "serde" ]; - } - { - name = "serde"; - packageId = "serde"; - features = [ "derive" ]; - } - { - name = "tvix-eval"; - packageId = "tvix-eval"; - } - ]; - - }; - "tvix-store" = rec { - crateName = "tvix-store"; - version = "0.1.0"; - edition = "2021"; - crateBin = [ - { - name = "tvix-store"; - path = "src/bin/tvix-store.rs"; - requiredFeatures = [ ]; - } - ]; - src = lib.cleanSourceWith { filter = sourceFilter; src = ./store; }; - libName = "tvix_store"; - dependencies = [ - { - name = "anyhow"; - packageId = "anyhow"; - } - { - name = "async-compression"; - packageId = "async-compression"; - features = [ "tokio" "bzip2" "gzip" "xz" "zstd" ]; - } - { - name = "async-stream"; - packageId = "async-stream"; - } - { - name = "auto_impl"; - packageId = "auto_impl"; - } - { - name = "bigtable_rs"; - packageId = "bigtable_rs"; - optional = true; - } - { - name = "blake3"; - packageId = "blake3"; - features = [ "rayon" "std" ]; - } - { - name = "bstr"; - packageId = "bstr"; - } - { - name = "bytes"; - packageId = "bytes"; - } - { - name = "clap"; - packageId = "clap"; - features = [ "derive" "env" ]; - } - { - name = "count-write"; - packageId = "count-write"; - } - { - name = "data-encoding"; - packageId = "data-encoding"; - } - { - name = "ed25519"; - packageId = "ed25519"; - } - { - name = "ed25519-dalek"; - packageId = "ed25519-dalek"; - } - { - name = "futures"; - packageId = "futures"; - } - { - name = "hyper-util"; - packageId = "hyper-util"; - } - { - name = "lru"; - packageId = "lru"; - } - { - name = "md-5"; - packageId = "md-5"; - } - { - name = "mimalloc"; - packageId = "mimalloc"; - } - { - name = "nix-compat"; - packageId = "nix-compat"; - features = [ "async" ]; - } - { - name = "parking_lot"; - packageId = "parking_lot"; - } - { - name = "pin-project-lite"; - packageId = "pin-project-lite"; - } - { - name = "prost"; - packageId = "prost"; - } - { - name = "redb"; - packageId = "redb"; - features = [ "logging" ]; - } - { - name = "reqwest"; - packageId = "reqwest"; - usesDefaultFeatures = false; - features = [ "rustls-tls-native-roots" "stream" ]; - } - { - name = "reqwest-middleware"; - packageId = "reqwest-middleware"; - usesDefaultFeatures = false; - } - { - name = "serde"; - packageId = "serde"; - features = [ "derive" ]; - } - { - name = "serde_json"; - packageId = "serde_json"; - } - { - name = "serde_qs"; - packageId = "serde_qs"; - } - { - name = "serde_with"; - packageId = "serde_with"; - } - { - name = "sha1"; - packageId = "sha1"; - } - { - name = "sha2"; - packageId = "sha2"; - } - { - name = "thiserror"; - packageId = "thiserror 2.0.9"; - } - { - name = "tokio"; - packageId = "tokio"; - features = [ "fs" "macros" "net" "rt" "rt-multi-thread" "signal" ]; - } - { - name = "tokio-listener"; - packageId = "tokio-listener"; - features = [ "clap" "multi-listener" "sd_listen" "tonic012" ]; - } - { - name = "tokio-stream"; - packageId = "tokio-stream"; - features = [ "fs" ]; - } - { - name = "tokio-util"; - packageId = "tokio-util"; - features = [ "io" "io-util" "compat" ]; - } - { - name = "toml"; - packageId = "toml 0.8.19"; - optional = true; - } - { - name = "tonic"; - packageId = "tonic"; - features = [ "tls" "tls-roots" ]; - } - { - name = "tonic-health"; - packageId = "tonic-health"; - usesDefaultFeatures = false; - } - { - name = "tonic-reflection"; - packageId = "tonic-reflection"; - optional = true; - } - { - name = "tower"; - packageId = "tower 0.4.13"; - } - { - name = "tower-http"; - packageId = "tower-http"; - features = [ "trace" ]; - } - { - name = "tracing"; - packageId = "tracing"; - } - { - name = "tracing-indicatif"; - packageId = "tracing-indicatif"; - } - { - name = "tvix-castore"; - packageId = "tvix-castore"; - } - { - name = "tvix-tracing"; - packageId = "tvix-tracing"; - features = [ "tonic" "reqwest" ]; - } - { - name = "url"; - packageId = "url"; - } - { - name = "walkdir"; - packageId = "walkdir"; - } - ]; - buildDependencies = [ - { - name = "prost-build"; - packageId = "prost-build"; - } - { - name = "tonic-build"; - packageId = "tonic-build"; - } - ]; - devDependencies = [ - { - name = "async-process"; - packageId = "async-process"; - } - { - name = "hex-literal"; - packageId = "hex-literal"; - } - { - name = "rstest"; - packageId = "rstest"; - } - { - name = "rstest_reuse"; - packageId = "rstest_reuse"; - } - { - name = "tempfile"; - packageId = "tempfile"; - } - { - name = "tokio-retry"; - packageId = "tokio-retry"; - } - ]; - features = { - "cloud" = [ "dep:bigtable_rs" "tvix-castore/cloud" ]; - "default" = [ "cloud" "fuse" "otlp" "tonic-reflection" ]; - "fuse" = [ "tvix-castore/fuse" ]; - "otlp" = [ "tvix-tracing/otlp" ]; - "toml" = [ "dep:toml" ]; - "tonic-reflection" = [ "dep:tonic-reflection" "tvix-castore/tonic-reflection" ]; - "tracy" = [ "tvix-tracing/tracy" ]; - "virtiofs" = [ "tvix-castore/virtiofs" ]; - "xp-composition-cli" = [ "toml" "tvix-castore/xp-composition-url-refs" ]; - }; - resolvedDefaultFeatures = [ "cloud" "default" "fuse" "integration" "otlp" "toml" "tonic-reflection" "tracy" "virtiofs" "xp-composition-cli" ]; - }; - "tvix-tracing" = rec { - crateName = "tvix-tracing"; - version = "0.1.0"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ./tracing; }; - libName = "tvix_tracing"; - dependencies = [ - { - name = "axum"; - packageId = "axum"; - optional = true; - } - { - name = "http"; - packageId = "http 1.2.0"; - optional = true; - } - { - name = "indicatif"; - packageId = "indicatif"; - } - { - name = "opentelemetry"; - packageId = "opentelemetry"; - optional = true; - } - { - name = "opentelemetry-http"; - packageId = "opentelemetry-http"; - optional = true; - } - { - name = "opentelemetry-otlp"; - packageId = "opentelemetry-otlp"; - optional = true; - features = [ "grpc-tonic" ]; - } - { - name = "opentelemetry-semantic-conventions"; - packageId = "opentelemetry-semantic-conventions"; - optional = true; - } - { - name = "opentelemetry_sdk"; - packageId = "opentelemetry_sdk"; - optional = true; - features = [ "rt-tokio" ]; - } - { - name = "reqwest-tracing"; - packageId = "reqwest-tracing"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "thiserror"; - packageId = "thiserror 2.0.9"; - } - { - name = "tokio"; - packageId = "tokio"; - features = [ "sync" "rt" ]; - } - { - name = "tonic"; - packageId = "tonic"; - optional = true; - } - { - name = "tracing"; - packageId = "tracing"; - features = [ "max_level_trace" "release_max_level_debug" ]; - } - { - name = "tracing-indicatif"; - packageId = "tracing-indicatif"; - } - { - name = "tracing-opentelemetry"; - packageId = "tracing-opentelemetry"; - optional = true; - } - { - name = "tracing-subscriber"; - packageId = "tracing-subscriber"; - features = [ "env-filter" ]; - } - { - name = "tracing-tracy"; - packageId = "tracing-tracy"; - optional = true; - features = [ "flush-on-exit" ]; - } - ]; - features = { - "axum" = [ "dep:axum" ]; - "otlp" = [ "dep:tracing-opentelemetry" "dep:opentelemetry" "dep:opentelemetry-otlp" "dep:opentelemetry_sdk" "dep:opentelemetry-http" "dep:opentelemetry-semantic-conventions" "reqwest-tracing?/opentelemetry_0_28" ]; - "reqwest" = [ "dep:reqwest-tracing" ]; - "tonic" = [ "dep:tonic" "dep:http" ]; - "tracy" = [ "dep:tracing-tracy" ]; - }; - resolvedDefaultFeatures = [ "axum" "default" "otlp" "reqwest" "tonic" "tracy" ]; - }; "typeid" = rec { crateName = "typeid"; version = "1.0.2"; diff --git a/tvix/Cargo.toml b/snix/Cargo.toml similarity index 95% rename from tvix/Cargo.toml rename to snix/Cargo.toml index 5739f0609..9d6d0913e 100644 --- a/tvix/Cargo.toml +++ b/snix/Cargo.toml @@ -1,18 +1,18 @@ # This Cargo file is a workspace configuration as per # https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html # -# We add this file to get a coherent set of dependencies across Tvix +# We add this file to get a coherent set of dependencies across Snix # crates by sharing a Cargo.lock. This is necessary because of the # currently limited support for Rust builds in Nix. # -# Note that this explicitly does *not* mean that //tvix should be +# Note that this explicitly does *not* mean that //snix should be # considered "one project": This is simply a workaround for a # technical limitation and it should be our aim to remove this # workspace file and make the subprojects independent. # # Note also that CI targets for actual projects should *not* be tied -# to //tvix, but to its subprojects. A potential file at -# //tvix/default.nix should likely *not* expose anything other than +# to //snix, but to its subprojects. A potential file at +# //snix/default.nix should likely *not* expose anything other than # extra steps or other auxiliary targets. [workspace] diff --git a/tvix/LICENSE b/snix/LICENSE similarity index 100% rename from tvix/LICENSE rename to snix/LICENSE diff --git a/tvix/OWNERS b/snix/OWNERS similarity index 100% rename from tvix/OWNERS rename to snix/OWNERS diff --git a/tvix/boot/README.md b/snix/boot/README.md similarity index 79% rename from tvix/boot/README.md rename to snix/boot/README.md index 037a15852..8317d6e09 100644 --- a/tvix/boot/README.md +++ b/snix/boot/README.md @@ -1,12 +1,12 @@ -# tvix/boot +# snix/boot This directory provides tooling to boot VMs with /nix/store provided by virtiofs. In the `tests/` subdirectory, there's some integration tests. -## //tvix/boot:runVM -A script spinning up a `tvix-store virtiofs` daemon, then starting a cloud- +## //snix/boot:runVM +A script spinning up a `snix-store virtiofs` daemon, then starting a cloud- hypervisor VM. The cloud-hypervisor VM is using a (semi-)minimal kernel image with virtiofs @@ -21,42 +21,42 @@ It supports the following env vars: boot) ### Usage -First, ensure you have `tvix-store` in `$PATH`, as that's what `run-tvix-vm` +First, ensure you have `snix-store` in `$PATH`, as that's what `run-snix-vm` expects: Assuming you ran `cargo build --profile=release-with-debug` before, and are in -the `tvix` directory: +the `snix` directory: ``` export PATH=$PATH:$PWD/target/release-with-debug ``` -Now, spin up tvix-daemon, connecting to some (local) backends: +Now, spin up snix-daemon, connecting to some (local) backends: ``` -tvix-store --otlp=false daemon \ +snix-store --otlp=false daemon \ --blob-service-addr=objectstore+file://$PWD/blobs \ --directory-service-addr=redb://$PWD/directories.redb \ --path-info-service-addr=redb://$PWD/pathinfo.redb & ``` -Copy some data into tvix-store (we use `nar-bridge` for this for now): +Copy some data into snix-store (we use `nar-bridge` for this for now): ``` -mg run //tvix:nar-bridge -- --otlp=false & +mg run //snix:nar-bridge -- --otlp=false & rm -Rf ~/.cache/nix; nix copy --to http://localhost:9000\?compression\=none $(mg build //third_party/nixpkgs:hello) pkill nar-bridge ``` -By default, the `tvix-store virtiofs` command used in the `runVM` script -connects to a running `tvix-store daemon` via gRPC - in which case you want to -keep `tvix-store daemon` running. +By default, the `snix-store virtiofs` command used in the `runVM` script +connects to a running `snix-store daemon` via gRPC - in which case you want to +keep `snix-store daemon` running. -In case you want to have `tvix-store virtiofs` open the stores directly, kill -`tvix-store daemon` too, and export the addresses from above: +In case you want to have `snix-store virtiofs` open the stores directly, kill +`snix-store daemon` too, and export the addresses from above: ``` -pkill tvix-store +pkill snix-store export BLOB_SERVICE_ADDR=objectstore+file://$PWD/blobs export DIRECTORY_SERVICE_ADDR=redb://$PWD/directories.redb export PATH_INFO_SERVICE_ADDR=redb://$PWD/pathinfo.redb @@ -66,7 +66,7 @@ export PATH_INFO_SERVICE_ADDR=redb://$PWD/pathinfo.redb Run the VM like this: ``` -CH_CMDLINE=tvix.shell mg run //tvix/boot:runVM -- +CH_CMDLINE=snix.shell mg run //snix/boot:runVM -- ``` You'll get dropped into an interactive shell, from which you can do things with @@ -95,10 +95,10 @@ Run the VM like this: ``` hello_cmd=$(mg build //third_party/nixpkgs:hello)/bin/hello -CH_CMDLINE=tvix.run=$hello_cmd mg run //tvix/boot:runVM -- +CH_CMDLINE=snix.run=$hello_cmd mg run //snix/boot:runVM -- ``` -Observe it executing the file (and closure) from the tvix-store: +Observe it executing the file (and closure) from the snix-store: ``` [ 0.277486] Run /init as init process @@ -115,15 +115,15 @@ Hello, world! ``` #### Boot a NixOS system closure -It's also possible to boot a system closure. To do this, tvix-init honors the +It's also possible to boot a system closure. To do this, snix-init honors the init= cmdline option, and will `switch_root` to it. -Make sure to first copy that system closure into tvix-store, +Make sure to first copy that system closure into snix-store, using a similar `nix copy` comamnd as above. ``` -CH_CMDLINE=init=/nix/store/…-nixos-system-…/init mg run //tvix/boot:runVM -- +CH_CMDLINE=init=/nix/store/…-nixos-system-…/init mg run //snix/boot:runVM -- ``` ``` diff --git a/tvix/boot/default.nix b/snix/boot/default.nix similarity index 83% rename from tvix/boot/default.nix rename to snix/boot/default.nix index 60eb2f1b7..493d41c9c 100644 --- a/tvix/boot/default.nix +++ b/snix/boot/default.nix @@ -3,11 +3,11 @@ rec { # A binary that sets up /nix/store from virtiofs, lists all store paths, and # powers off the machine. - tvix-init = pkgs.buildGoModule rec { - name = "tvix-init"; + snix-init = pkgs.buildGoModule rec { + name = "snix-init"; src = lib.fileset.toSource { root = ./.; - fileset = ./tvix-init.go; + fileset = ./snix-init.go; }; vendorHash = null; postPatch = "go mod init ${name}"; @@ -48,7 +48,7 @@ rec { doCheck = false; # Some tests invoke /bin/bash }; - # Use u-root to build a initrd with our tvix-init inside. + # Use u-root to build a initrd with our snix-init inside. initrd = pkgs.stdenv.mkDerivation { name = "initrd.cpio"; nativeBuildInputs = [ pkgs.go ]; @@ -58,22 +58,22 @@ rec { cp -R ${uroot.src} /tmp/go/src/github.com/u-root/u-root cd /tmp/go/src/github.com/u-root/u-root chmod +w . - cp ${tvix-init}/bin/tvix-init tvix-init + cp ${snix-init}/bin/snix-init snix-init export HOME=$(mktemp -d) export GOROOT="$(go env GOROOT)" - GO111MODULE=off GOPATH=/tmp/go GOPROXY=off ${uroot}/bin/u-root -files ./tvix-init -initcmd "/tvix-init" -o $out + GO111MODULE=off GOPATH=/tmp/go GOPROXY=off ${uroot}/bin/u-root -files ./snix-init -initcmd "/snix-init" -o $out ''; }; - # Start a `tvix-store` virtiofs daemon from $PATH, then a cloud-hypervisor + # Start a `snix-store` virtiofs daemon from $PATH, then a cloud-hypervisor # pointed to it. # Supports the following env vars (and defaults) # CH_NUM_CPUS=2 # CH_MEM_SIZE=512M # CH_CMDLINE="" - runVM = pkgs.writers.writeBashBin "run-tvix-vm" '' + runVM = pkgs.writers.writeBashBin "run-snix-vm" '' tempdir=$(mktemp -d) cleanup() { @@ -86,11 +86,11 @@ rec { trap cleanup EXIT # Spin up the virtiofs daemon - tvix-store --otlp=false virtiofs -l $tempdir/tvix.sock & + snix-store --otlp=false virtiofs -l $tempdir/snix.sock & virtiofsd_pid=$! # Wait for the socket to exist. - until [ -e $tempdir/tvix.sock ]; do sleep 0.1; done + until [ -e $tempdir/snix.sock ]; do sleep 0.1; done CH_NUM_CPUS="''${CH_NUM_CPUS:-2}" CH_MEM_SIZE="''${CH_MEM_SIZE:-512M}" @@ -105,7 +105,7 @@ rec { --kernel ${kernel}/${pkgs.stdenv.hostPlatform.linux-kernel.target} \ --initramfs ${initrd} \ --cmdline "console=ttyS0 $CH_CMDLINE" \ - --fs tag=tvix,socket=$tempdir/tvix.sock,num_queues=''${CH_NUM_CPU},queue_size=512 + --fs tag=snix,socket=$tempdir/snix.sock,num_queues=''${CH_NUM_CPU},queue_size=512 ''; meta.ci.targets = [ diff --git a/tvix/boot/tvix-init.go b/snix/boot/snix-init.go similarity index 76% rename from tvix/boot/tvix-init.go rename to snix/boot/snix-init.go index 97a24bab3..5f1964d78 100644 --- a/tvix/boot/tvix-init.go +++ b/snix/boot/snix-init.go @@ -38,13 +38,13 @@ func parseCmdline(cmdline string) map[string]string { return out } -// mounts the nix store from the virtiofs tag to the given destination, +// mounts the snix store from the virtiofs tag to the given destination, // creating the destination if it doesn't exist already. -func mountTvixStore(dest string) error { +func mountSnixStore(dest string) error { if err := os.MkdirAll(dest, os.ModePerm); err != nil { return fmt.Errorf("unable to mkdir dest: %w", err) } - if err := run("mount", "-t", "virtiofs", "tvix", dest, "-o", "ro"); err != nil { + if err := run("mount", "-t", "virtiofs", "snix", dest, "-o", "ro"); err != nil { return fmt.Errorf("unable to run mount: %w", err) } @@ -80,30 +80,30 @@ func main() { } cmdlineFields := parseCmdline(string(cmdline)) - if _, ok := cmdlineFields["tvix.find"]; ok { - // If tvix.find is set, invoke find /nix/store - if err := mountTvixStore("/nix/store"); err != nil { - log.Printf("Failed to mount tvix store: %v\n", err) + if _, ok := cmdlineFields["snix.find"]; ok { + // If snix.find is set, invoke find /nix/store + if err := mountSnixStore("/nix/store"); err != nil { + log.Printf("Failed to mount snix store: %v\n", err) } if err := run("find", "/nix/store"); err != nil { log.Printf("Failed to run find command: %s\n", err) } - } else if _, ok := cmdlineFields["tvix.shell"]; ok { - // If tvix.shell is set, mount the nix store to /nix/store directly, + } else if _, ok := cmdlineFields["snix.shell"]; ok { + // If snix.shell is set, mount the nix store to /nix/store directly, // then invoke the elvish shell - if err := mountTvixStore("/nix/store"); err != nil { - log.Printf("Failed to mount tvix store: %v\n", err) + if err := mountSnixStore("/nix/store"); err != nil { + log.Printf("Failed to mount snix store: %v\n", err) } if err := run("elvish"); err != nil { log.Printf("Failed to run shell: %s\n", err) } - } else if v, ok := cmdlineFields["tvix.run"]; ok { - // If tvix.run is set, mount the nix store to /nix/store directly, + } else if v, ok := cmdlineFields["snix.run"]; ok { + // If snix.run is set, mount the nix store to /nix/store directly, // then invoke the command. - if err := mountTvixStore("/nix/store"); err != nil { - log.Printf("Failed to mount tvix store: %v\n", err) + if err := mountSnixStore("/nix/store"); err != nil { + log.Printf("Failed to mount snix store: %v\n", err) } if err := run(v); err != nil { @@ -118,8 +118,8 @@ func main() { } // Mount /fs/nix/store - if err := mountTvixStore("/fs/nix/store"); err != nil { - log.Fatalf("Failed to mount tvix store: %v\n", err) + if err := mountSnixStore("/fs/nix/store"); err != nil { + log.Fatalf("Failed to mount snix store: %v\n", err) } // Invoke switch_root, which will take care of moving /proc, /sys and /dev. diff --git a/tvix/boot/tests/default.nix b/snix/boot/tests/default.nix similarity index 88% rename from tvix/boot/tests/default.nix rename to snix/boot/tests/default.nix index 593fd698b..f366a726b 100644 --- a/tvix/boot/tests/default.nix +++ b/snix/boot/tests/default.nix @@ -1,8 +1,8 @@ { depot, pkgs, lib, ... }: let - # Seed a tvix-store with the specified path, then start a VM with the - # tvix-boot initrd. + # Seed a snix-store with the specified path, then start a VM with the + # snix-boot initrd. # Allows customizing the cmdline, which can be used to list files, # or specify what init should be booted. mkBootTest = @@ -17,20 +17,20 @@ let # Whether the path should be imported as a closure. # If false, importPathName must be specified. , isClosure ? false - # Whether to use nar-bridge to upload, rather than tvix-store copy. + # Whether to use nar-bridge to upload, rather than snix-store copy. # using nar-bridge currently is "slower", as the `pkgs.mkBinaryCache` build # takes quite some time. , useNarBridge ? false , importPathName ? null - # Commands to run before starting the tvix-daemon. Useful to provide + # Commands to run before starting the snix-daemon. Useful to provide # auxillary mock services. , preStart ? "" # The cmdline to pass to the VM. - # Defaults to tvix.find, which lists all files in the store. - , vmCmdline ? "tvix.find" + # Defaults to snix.find, which lists all files in the store. + , vmCmdline ? "snix.find" # The string we expect to find in the VM output. # Defaults the value of `path` (the store path we upload). , assertVMOutput ? path @@ -43,10 +43,10 @@ let name = "run-vm"; nativeBuildInputs = [ - depot.tvix.store - depot.tvix.boot.runVM + depot.snix.store + depot.snix.boot.runVM ] ++ lib.optionals (isClosure && useNarBridge) [ - depot.tvix.nar-bridge + depot.snix.nar-bridge pkgs.curl pkgs.rush-parallel pkgs.zstd.bin @@ -60,32 +60,32 @@ let ${preStart} - # Start the tvix daemon, listening on a unix socket. + # Start the snix daemon, listening on a unix socket. BLOB_SERVICE_ADDR=${lib.escapeShellArg blobServiceAddr} \ DIRECTORY_SERVICE_ADDR=${lib.escapeShellArg directoryServiceAddr} \ PATH_INFO_SERVICE_ADDR=${lib.escapeShellArg pathInfoServiceAddr} \ - tvix-store \ + snix-store \ --otlp=false \ - daemon -l $PWD/tvix-store.sock & + daemon -l $PWD/snix-store.sock & # Wait for the service to report healthy. - timeout 22 sh -c "until ${pkgs.ip2unix}/bin/ip2unix -r out,path=$PWD/tvix-store.sock ${pkgs.grpc-health-check}/bin/grpc-health-check --address 127.0.0.1 --port 8080; do sleep 1; done" + timeout 22 sh -c "until ${pkgs.ip2unix}/bin/ip2unix -r out,path=$PWD/snix-store.sock ${pkgs.grpc-health-check}/bin/grpc-health-check --address 127.0.0.1 --port 8080; do sleep 1; done" - # Export env vars so that subsequent tvix-store commands will talk to - # our tvix-store daemon over the unix socket. - export BLOB_SERVICE_ADDR=grpc+unix://$PWD/tvix-store.sock - export DIRECTORY_SERVICE_ADDR=grpc+unix://$PWD/tvix-store.sock - export PATH_INFO_SERVICE_ADDR=grpc+unix://$PWD/tvix-store.sock + # Export env vars so that subsequent snix-store commands will talk to + # our snix-store daemon over the unix socket. + export BLOB_SERVICE_ADDR=grpc+unix://$PWD/snix-store.sock + export DIRECTORY_SERVICE_ADDR=grpc+unix://$PWD/snix-store.sock + export PATH_INFO_SERVICE_ADDR=grpc+unix://$PWD/snix-store.sock '' + lib.optionalString (!isClosure) '' - echo "Importing ${path} into tvix-store with name ${importPathName}…" + echo "Importing ${path} into snix-store with name ${importPathName}…" cp -R ${path} ${importPathName} - outpath=$(tvix-store import ${importPathName}) + outpath=$(snix-store import ${importPathName}) echo "imported to $outpath" '' + lib.optionalString (isClosure && !useNarBridge) '' echo "Copying closure ${path}…" # This picks up the `closure` key in `$NIX_ATTRS_JSON_FILE` automatically. - tvix-store --otlp=false copy + snix-store --otlp=false copy '' + lib.optionalString (isClosure && useNarBridge) '' echo "Starting nar-bridge…" nar-bridge \ @@ -123,10 +123,10 @@ let # and disable checking here, to keep the logic simple. ls -d $to_upload/*.narinfo | rush 'curl -s -T - --unix-socket $PWD/nar-bridge.sock http://localhost:9000/$(basename {}) < {}' '' + '' - # Invoke a VM using tvix as the backing store, ensure the outpath appears in its listing. + # Invoke a VM using snix as the backing store, ensure the outpath appears in its listing. echo "Starting VM…" - CH_CMDLINE="${vmCmdline}" run-tvix-vm 2>&1 | tee output.txt + CH_CMDLINE="${vmCmdline}" run-snix-vm 2>&1 | tee output.txt grep "${assertVMOutput}" output.txt ''; requiredSystemFeatures = [ "kvm" ]; @@ -182,9 +182,9 @@ depot.nix.readTree.drvTargets { importPathName = "docs"; }); - closure-tvix = (mkBootTest { + closure-snix = (mkBootTest { blobServiceAddr = "objectstore+file:///build/blobs"; - path = depot.tvix.store; + path = depot.snix.store; isClosure = true; }); diff --git a/tvix/build-go/LICENSE b/snix/build-go/LICENSE similarity index 97% rename from tvix/build-go/LICENSE rename to snix/build-go/LICENSE index 2034ada6f..948502a0a 100644 --- a/tvix/build-go/LICENSE +++ b/snix/build-go/LICENSE @@ -1,4 +1,5 @@ Copyright © The Tvix Authors +Copyright © The Snix Project Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/tvix/build-go/README.md b/snix/build-go/README.md similarity index 80% rename from tvix/build-go/README.md rename to snix/build-go/README.md index 19edfced0..41d84733d 100644 --- a/tvix/build-go/README.md +++ b/snix/build-go/README.md @@ -1,9 +1,9 @@ # build-go -This directory contains generated golang bindings, both for the `tvix-build` +This directory contains generated golang bindings, both for the `snix-build` data models, as well as the gRPC bindings. -They are generated with `mg run //tvix/build-go:regenerate`. +They are generated with `mg run //snix/build-go:regenerate`. These files end with `.pb.go`, and are ensured to be up to date by a CI check. Additionally, code useful when interacting with these data structures diff --git a/tvix/build-go/build.pb.go b/snix/build-go/build.pb.go similarity index 83% rename from tvix/build-go/build.pb.go rename to snix/build-go/build.pb.go index 46bc268d2..6494c4360 100644 --- a/tvix/build-go/build.pb.go +++ b/snix/build-go/build.pb.go @@ -1,19 +1,20 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.5 // protoc (unknown) -// source: tvix/build/protos/build.proto +// source: snix/build/protos/build.proto package buildv1 import ( - castore_go "code.tvl.fyi/tvix/castore-go" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" + proto "snix.dev/castore/proto" sync "sync" unsafe "unsafe" ) @@ -47,7 +48,7 @@ const ( // to either the input's deriver (and needs to build it) or else a trusted // source for the built input. // to upload input-addressed paths, requiring the trusted users concept. -// - tvix-build records a list of tvix.castore.v1.Node as inputs. +// - snix-build records a list of snix.castore.v1.Node as inputs. // These map from the store path base name to their contents, relieving the // builder from having to "trust" any input-addressed paths, contrary to Nix. // @@ -67,7 +68,7 @@ type BuildRequest struct { // As all references are content-addressed, no additional signatures are // needed to substitute / make these available in the build environment. // Inputs MUST be sorted by their names. - Inputs []*castore_go.Node `protobuf:"bytes,1,rep,name=inputs,proto3" json:"inputs,omitempty"` + Inputs []*proto.Node `protobuf:"bytes,1,rep,name=inputs,proto3" json:"inputs,omitempty"` // The command (and its args) executed as the build script. // In the case of a Nix derivation, this is usually // ["/path/to/some-bash/bin/bash", "-e", "/path/to/some/builder.sh"]. @@ -124,7 +125,7 @@ type BuildRequest struct { func (x *BuildRequest) Reset() { *x = BuildRequest{} - mi := &file_tvix_build_protos_build_proto_msgTypes[0] + mi := &file_snix_build_protos_build_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -136,7 +137,7 @@ func (x *BuildRequest) String() string { func (*BuildRequest) ProtoMessage() {} func (x *BuildRequest) ProtoReflect() protoreflect.Message { - mi := &file_tvix_build_protos_build_proto_msgTypes[0] + mi := &file_snix_build_protos_build_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -149,10 +150,10 @@ func (x *BuildRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BuildRequest.ProtoReflect.Descriptor instead. func (*BuildRequest) Descriptor() ([]byte, []int) { - return file_tvix_build_protos_build_proto_rawDescGZIP(), []int{0} + return file_snix_build_protos_build_proto_rawDescGZIP(), []int{0} } -func (x *BuildRequest) GetInputs() []*castore_go.Node { +func (x *BuildRequest) GetInputs() []*proto.Node { if x != nil { return x.Inputs } @@ -229,7 +230,7 @@ type Build struct { BuildRequest *BuildRequest `protobuf:"bytes,1,opt,name=build_request,json=buildRequest,proto3" json:"build_request,omitempty"` // <- TODO: define hashing scheme for BuildRequest, refer to it by hash? // The outputs that were produced after successfully building. // They are sorted by their names. - Outputs []*castore_go.Node `protobuf:"bytes,2,rep,name=outputs,proto3" json:"outputs,omitempty"` + Outputs []*proto.Node `protobuf:"bytes,2,rep,name=outputs,proto3" json:"outputs,omitempty"` // Contains the same number of elements as the `outputs` field. OutputsNeedles []*Build_OutputNeedles `protobuf:"bytes,3,rep,name=outputs_needles,json=outputsNeedles,proto3" json:"outputs_needles,omitempty"` unknownFields protoimpl.UnknownFields @@ -238,7 +239,7 @@ type Build struct { func (x *Build) Reset() { *x = Build{} - mi := &file_tvix_build_protos_build_proto_msgTypes[1] + mi := &file_snix_build_protos_build_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -250,7 +251,7 @@ func (x *Build) String() string { func (*Build) ProtoMessage() {} func (x *Build) ProtoReflect() protoreflect.Message { - mi := &file_tvix_build_protos_build_proto_msgTypes[1] + mi := &file_snix_build_protos_build_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -263,7 +264,7 @@ func (x *Build) ProtoReflect() protoreflect.Message { // Deprecated: Use Build.ProtoReflect.Descriptor instead. func (*Build) Descriptor() ([]byte, []int) { - return file_tvix_build_protos_build_proto_rawDescGZIP(), []int{1} + return file_snix_build_protos_build_proto_rawDescGZIP(), []int{1} } func (x *Build) GetBuildRequest() *BuildRequest { @@ -273,7 +274,7 @@ func (x *Build) GetBuildRequest() *BuildRequest { return nil } -func (x *Build) GetOutputs() []*castore_go.Node { +func (x *Build) GetOutputs() []*proto.Node { if x != nil { return x.Outputs } @@ -298,7 +299,7 @@ type BuildRequest_EnvVar struct { func (x *BuildRequest_EnvVar) Reset() { *x = BuildRequest_EnvVar{} - mi := &file_tvix_build_protos_build_proto_msgTypes[2] + mi := &file_snix_build_protos_build_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -310,7 +311,7 @@ func (x *BuildRequest_EnvVar) String() string { func (*BuildRequest_EnvVar) ProtoMessage() {} func (x *BuildRequest_EnvVar) ProtoReflect() protoreflect.Message { - mi := &file_tvix_build_protos_build_proto_msgTypes[2] + mi := &file_snix_build_protos_build_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -323,7 +324,7 @@ func (x *BuildRequest_EnvVar) ProtoReflect() protoreflect.Message { // Deprecated: Use BuildRequest_EnvVar.ProtoReflect.Descriptor instead. func (*BuildRequest_EnvVar) Descriptor() ([]byte, []int) { - return file_tvix_build_protos_build_proto_rawDescGZIP(), []int{0, 0} + return file_snix_build_protos_build_proto_rawDescGZIP(), []int{0, 0} } func (x *BuildRequest_EnvVar) GetKey() string { @@ -369,7 +370,7 @@ type BuildRequest_BuildConstraints struct { func (x *BuildRequest_BuildConstraints) Reset() { *x = BuildRequest_BuildConstraints{} - mi := &file_tvix_build_protos_build_proto_msgTypes[3] + mi := &file_snix_build_protos_build_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -381,7 +382,7 @@ func (x *BuildRequest_BuildConstraints) String() string { func (*BuildRequest_BuildConstraints) ProtoMessage() {} func (x *BuildRequest_BuildConstraints) ProtoReflect() protoreflect.Message { - mi := &file_tvix_build_protos_build_proto_msgTypes[3] + mi := &file_snix_build_protos_build_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -394,7 +395,7 @@ func (x *BuildRequest_BuildConstraints) ProtoReflect() protoreflect.Message { // Deprecated: Use BuildRequest_BuildConstraints.ProtoReflect.Descriptor instead. func (*BuildRequest_BuildConstraints) Descriptor() ([]byte, []int) { - return file_tvix_build_protos_build_proto_rawDescGZIP(), []int{0, 1} + return file_snix_build_protos_build_proto_rawDescGZIP(), []int{0, 1} } func (x *BuildRequest_BuildConstraints) GetSystem() string { @@ -442,7 +443,7 @@ type BuildRequest_AdditionalFile struct { func (x *BuildRequest_AdditionalFile) Reset() { *x = BuildRequest_AdditionalFile{} - mi := &file_tvix_build_protos_build_proto_msgTypes[4] + mi := &file_snix_build_protos_build_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -454,7 +455,7 @@ func (x *BuildRequest_AdditionalFile) String() string { func (*BuildRequest_AdditionalFile) ProtoMessage() {} func (x *BuildRequest_AdditionalFile) ProtoReflect() protoreflect.Message { - mi := &file_tvix_build_protos_build_proto_msgTypes[4] + mi := &file_snix_build_protos_build_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -467,7 +468,7 @@ func (x *BuildRequest_AdditionalFile) ProtoReflect() protoreflect.Message { // Deprecated: Use BuildRequest_AdditionalFile.ProtoReflect.Descriptor instead. func (*BuildRequest_AdditionalFile) Descriptor() ([]byte, []int) { - return file_tvix_build_protos_build_proto_rawDescGZIP(), []int{0, 2} + return file_snix_build_protos_build_proto_rawDescGZIP(), []int{0, 2} } func (x *BuildRequest_AdditionalFile) GetPath() string { @@ -494,7 +495,7 @@ type Build_OutputNeedles struct { func (x *Build_OutputNeedles) Reset() { *x = Build_OutputNeedles{} - mi := &file_tvix_build_protos_build_proto_msgTypes[5] + mi := &file_snix_build_protos_build_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -506,7 +507,7 @@ func (x *Build_OutputNeedles) String() string { func (*Build_OutputNeedles) ProtoMessage() {} func (x *Build_OutputNeedles) ProtoReflect() protoreflect.Message { - mi := &file_tvix_build_protos_build_proto_msgTypes[5] + mi := &file_snix_build_protos_build_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -519,7 +520,7 @@ func (x *Build_OutputNeedles) ProtoReflect() protoreflect.Message { // Deprecated: Use Build_OutputNeedles.ProtoReflect.Descriptor instead. func (*Build_OutputNeedles) Descriptor() ([]byte, []int) { - return file_tvix_build_protos_build_proto_rawDescGZIP(), []int{1, 0} + return file_snix_build_protos_build_proto_rawDescGZIP(), []int{1, 0} } func (x *Build_OutputNeedles) GetNeedles() []uint64 { @@ -529,17 +530,17 @@ func (x *Build_OutputNeedles) GetNeedles() []uint64 { return nil } -var File_tvix_build_protos_build_proto protoreflect.FileDescriptor +var File_snix_build_protos_build_proto protoreflect.FileDescriptor -var file_tvix_build_protos_build_proto_rawDesc = string([]byte{ - 0x0a, 0x1d, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, +var file_snix_build_protos_build_proto_rawDesc = string([]byte{ + 0x0a, 0x1d, 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x0d, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x21, - 0x74, 0x76, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x0d, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x21, + 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x06, 0x0a, 0x0c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, @@ -553,17 +554,17 @@ var file_tvix_build_protos_build_proto_rawDesc = string([]byte{ 0x70, 0x75, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x10, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x74, 0x76, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, + 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x52, 0x0f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, - 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x62, + 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, - 0x76, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, + 0x6e, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x66, @@ -591,54 +592,54 @@ var file_tvix_build_protos_build_proto_rawDesc = string([]byte{ 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xf2, 0x01, 0x0a, 0x05, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x40, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x07, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x76, 0x69, + 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x4b, 0x0a, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x73, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x73, 0x1a, 0x29, 0x0a, 0x0d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x6e, 0x65, 0x65, 0x64, 0x6c, - 0x65, 0x73, 0x42, 0x24, 0x5a, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x76, 0x6c, 0x2e, 0x66, - 0x79, 0x69, 0x2f, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2d, 0x67, 0x6f, - 0x3b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x42, 0x1e, 0x5a, 0x1c, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( - file_tvix_build_protos_build_proto_rawDescOnce sync.Once - file_tvix_build_protos_build_proto_rawDescData []byte + file_snix_build_protos_build_proto_rawDescOnce sync.Once + file_snix_build_protos_build_proto_rawDescData []byte ) -func file_tvix_build_protos_build_proto_rawDescGZIP() []byte { - file_tvix_build_protos_build_proto_rawDescOnce.Do(func() { - file_tvix_build_protos_build_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_tvix_build_protos_build_proto_rawDesc), len(file_tvix_build_protos_build_proto_rawDesc))) +func file_snix_build_protos_build_proto_rawDescGZIP() []byte { + file_snix_build_protos_build_proto_rawDescOnce.Do(func() { + file_snix_build_protos_build_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_snix_build_protos_build_proto_rawDesc), len(file_snix_build_protos_build_proto_rawDesc))) }) - return file_tvix_build_protos_build_proto_rawDescData + return file_snix_build_protos_build_proto_rawDescData } -var file_tvix_build_protos_build_proto_msgTypes = make([]protoimpl.MessageInfo, 6) -var file_tvix_build_protos_build_proto_goTypes = []any{ - (*BuildRequest)(nil), // 0: tvix.build.v1.BuildRequest - (*Build)(nil), // 1: tvix.build.v1.Build - (*BuildRequest_EnvVar)(nil), // 2: tvix.build.v1.BuildRequest.EnvVar - (*BuildRequest_BuildConstraints)(nil), // 3: tvix.build.v1.BuildRequest.BuildConstraints - (*BuildRequest_AdditionalFile)(nil), // 4: tvix.build.v1.BuildRequest.AdditionalFile - (*Build_OutputNeedles)(nil), // 5: tvix.build.v1.Build.OutputNeedles - (*castore_go.Node)(nil), // 6: tvix.castore.v1.Node +var file_snix_build_protos_build_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_snix_build_protos_build_proto_goTypes = []any{ + (*BuildRequest)(nil), // 0: snix.build.v1.BuildRequest + (*Build)(nil), // 1: snix.build.v1.Build + (*BuildRequest_EnvVar)(nil), // 2: snix.build.v1.BuildRequest.EnvVar + (*BuildRequest_BuildConstraints)(nil), // 3: snix.build.v1.BuildRequest.BuildConstraints + (*BuildRequest_AdditionalFile)(nil), // 4: snix.build.v1.BuildRequest.AdditionalFile + (*Build_OutputNeedles)(nil), // 5: snix.build.v1.Build.OutputNeedles + (*proto.Node)(nil), // 6: snix.castore.v1.Node } -var file_tvix_build_protos_build_proto_depIdxs = []int32{ - 6, // 0: tvix.build.v1.BuildRequest.inputs:type_name -> tvix.castore.v1.Node - 2, // 1: tvix.build.v1.BuildRequest.environment_vars:type_name -> tvix.build.v1.BuildRequest.EnvVar - 3, // 2: tvix.build.v1.BuildRequest.constraints:type_name -> tvix.build.v1.BuildRequest.BuildConstraints - 4, // 3: tvix.build.v1.BuildRequest.additional_files:type_name -> tvix.build.v1.BuildRequest.AdditionalFile - 0, // 4: tvix.build.v1.Build.build_request:type_name -> tvix.build.v1.BuildRequest - 6, // 5: tvix.build.v1.Build.outputs:type_name -> tvix.castore.v1.Node - 5, // 6: tvix.build.v1.Build.outputs_needles:type_name -> tvix.build.v1.Build.OutputNeedles +var file_snix_build_protos_build_proto_depIdxs = []int32{ + 6, // 0: snix.build.v1.BuildRequest.inputs:type_name -> snix.castore.v1.Node + 2, // 1: snix.build.v1.BuildRequest.environment_vars:type_name -> snix.build.v1.BuildRequest.EnvVar + 3, // 2: snix.build.v1.BuildRequest.constraints:type_name -> snix.build.v1.BuildRequest.BuildConstraints + 4, // 3: snix.build.v1.BuildRequest.additional_files:type_name -> snix.build.v1.BuildRequest.AdditionalFile + 0, // 4: snix.build.v1.Build.build_request:type_name -> snix.build.v1.BuildRequest + 6, // 5: snix.build.v1.Build.outputs:type_name -> snix.castore.v1.Node + 5, // 6: snix.build.v1.Build.outputs_needles:type_name -> snix.build.v1.Build.OutputNeedles 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name @@ -646,26 +647,26 @@ var file_tvix_build_protos_build_proto_depIdxs = []int32{ 0, // [0:7] is the sub-list for field type_name } -func init() { file_tvix_build_protos_build_proto_init() } -func file_tvix_build_protos_build_proto_init() { - if File_tvix_build_protos_build_proto != nil { +func init() { file_snix_build_protos_build_proto_init() } +func file_snix_build_protos_build_proto_init() { + if File_snix_build_protos_build_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_tvix_build_protos_build_proto_rawDesc), len(file_tvix_build_protos_build_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_snix_build_protos_build_proto_rawDesc), len(file_snix_build_protos_build_proto_rawDesc)), NumEnums: 0, NumMessages: 6, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_tvix_build_protos_build_proto_goTypes, - DependencyIndexes: file_tvix_build_protos_build_proto_depIdxs, - MessageInfos: file_tvix_build_protos_build_proto_msgTypes, + GoTypes: file_snix_build_protos_build_proto_goTypes, + DependencyIndexes: file_snix_build_protos_build_proto_depIdxs, + MessageInfos: file_snix_build_protos_build_proto_msgTypes, }.Build() - File_tvix_build_protos_build_proto = out.File - file_tvix_build_protos_build_proto_goTypes = nil - file_tvix_build_protos_build_proto_depIdxs = nil + File_snix_build_protos_build_proto = out.File + file_snix_build_protos_build_proto_goTypes = nil + file_snix_build_protos_build_proto_depIdxs = nil } diff --git a/tvix/build-go/default.nix b/snix/build-go/default.nix similarity index 76% rename from tvix/build-go/default.nix rename to snix/build-go/default.nix index b0640b3a6..2125f6570 100644 --- a/tvix/build-go/default.nix +++ b/snix/build-go/default.nix @@ -2,7 +2,7 @@ let regenerate = pkgs.writeShellScript "regenerate" '' - (cd $(git rev-parse --show-toplevel)/tvix/build-go && rm *.pb.go && cp ${depot.tvix.build.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) + (cd $(git rev-parse --show-toplevel)/snix/build-go && rm *.pb.go && cp ${depot.snix.build.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) ''; in (pkgs.buildGoModule { @@ -18,7 +18,7 @@ in ${regenerate} if [[ -n "$(git status --porcelain -unormal)" ]]; then echo "-----------------------------" - echo ".pb.go files need to be updated, mg run //tvix/build-go/regenerate" + echo ".pb.go files need to be updated, mg run //snix/build-go/regenerate" echo "-----------------------------" git status -unormal exit 1 @@ -27,5 +27,7 @@ in alwaysRun = true; }; }; + # https://git.snix.dev/snix/snix/issues/60 + meta.ci.skip = true; passthru.regenerate = regenerate; }) diff --git a/tvix/build-go/go.mod b/snix/build-go/go.mod similarity index 100% rename from tvix/build-go/go.mod rename to snix/build-go/go.mod diff --git a/tvix/build-go/go.sum b/snix/build-go/go.sum similarity index 100% rename from tvix/build-go/go.sum rename to snix/build-go/go.sum diff --git a/tvix/build-go/rpc_build.pb.go b/snix/build-go/rpc_build.pb.go similarity index 51% rename from tvix/build-go/rpc_build.pb.go rename to snix/build-go/rpc_build.pb.go index 7a7b10b48..b0231e7ad 100644 --- a/tvix/build-go/rpc_build.pb.go +++ b/snix/build-go/rpc_build.pb.go @@ -1,11 +1,12 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.5 // protoc (unknown) -// source: tvix/build/protos/rpc_build.proto +// source: snix/build/protos/rpc_build.proto package buildv1 @@ -23,31 +24,31 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -var File_tvix_build_protos_rpc_build_proto protoreflect.FileDescriptor +var File_snix_build_protos_rpc_build_proto protoreflect.FileDescriptor -var file_tvix_build_protos_rpc_build_proto_rawDesc = string([]byte{ - 0x0a, 0x21, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, +var file_snix_build_protos_rpc_build_proto_rawDesc = string([]byte{ + 0x0a, 0x21, 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, - 0x76, 0x31, 0x1a, 0x1d, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, + 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, + 0x76, 0x31, 0x1a, 0x1d, 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x4c, 0x0a, 0x0c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x44, 0x6f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1b, 0x2e, 0x74, - 0x76, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, - 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x74, 0x76, 0x69, 0x78, + 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x44, 0x6f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1b, 0x2e, 0x73, + 0x6e, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x42, - 0x24, 0x5a, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x76, 0x6c, 0x2e, 0x66, 0x79, 0x69, 0x2f, - 0x74, 0x76, 0x69, 0x78, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2d, 0x67, 0x6f, 0x3b, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x1e, 0x5a, 0x1c, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x76, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) -var file_tvix_build_protos_rpc_build_proto_goTypes = []any{ - (*BuildRequest)(nil), // 0: tvix.build.v1.BuildRequest - (*Build)(nil), // 1: tvix.build.v1.Build +var file_snix_build_protos_rpc_build_proto_goTypes = []any{ + (*BuildRequest)(nil), // 0: snix.build.v1.BuildRequest + (*Build)(nil), // 1: snix.build.v1.Build } -var file_tvix_build_protos_rpc_build_proto_depIdxs = []int32{ - 0, // 0: tvix.build.v1.BuildService.DoBuild:input_type -> tvix.build.v1.BuildRequest - 1, // 1: tvix.build.v1.BuildService.DoBuild:output_type -> tvix.build.v1.Build +var file_snix_build_protos_rpc_build_proto_depIdxs = []int32{ + 0, // 0: snix.build.v1.BuildService.DoBuild:input_type -> snix.build.v1.BuildRequest + 1, // 1: snix.build.v1.BuildService.DoBuild:output_type -> snix.build.v1.Build 1, // [1:2] is the sub-list for method output_type 0, // [0:1] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name @@ -55,26 +56,26 @@ var file_tvix_build_protos_rpc_build_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for field type_name } -func init() { file_tvix_build_protos_rpc_build_proto_init() } -func file_tvix_build_protos_rpc_build_proto_init() { - if File_tvix_build_protos_rpc_build_proto != nil { +func init() { file_snix_build_protos_rpc_build_proto_init() } +func file_snix_build_protos_rpc_build_proto_init() { + if File_snix_build_protos_rpc_build_proto != nil { return } - file_tvix_build_protos_build_proto_init() + file_snix_build_protos_build_proto_init() type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_tvix_build_protos_rpc_build_proto_rawDesc), len(file_tvix_build_protos_rpc_build_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_snix_build_protos_rpc_build_proto_rawDesc), len(file_snix_build_protos_rpc_build_proto_rawDesc)), NumEnums: 0, NumMessages: 0, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_tvix_build_protos_rpc_build_proto_goTypes, - DependencyIndexes: file_tvix_build_protos_rpc_build_proto_depIdxs, + GoTypes: file_snix_build_protos_rpc_build_proto_goTypes, + DependencyIndexes: file_snix_build_protos_rpc_build_proto_depIdxs, }.Build() - File_tvix_build_protos_rpc_build_proto = out.File - file_tvix_build_protos_rpc_build_proto_goTypes = nil - file_tvix_build_protos_rpc_build_proto_depIdxs = nil + File_snix_build_protos_rpc_build_proto = out.File + file_snix_build_protos_rpc_build_proto_goTypes = nil + file_snix_build_protos_rpc_build_proto_depIdxs = nil } diff --git a/tvix/build-go/rpc_build_grpc.pb.go b/snix/build-go/rpc_build_grpc.pb.go similarity index 94% rename from tvix/build-go/rpc_build_grpc.pb.go rename to snix/build-go/rpc_build_grpc.pb.go index 9e0677dca..e5cc72fad 100644 --- a/tvix/build-go/rpc_build_grpc.pb.go +++ b/snix/build-go/rpc_build_grpc.pb.go @@ -1,11 +1,12 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) -// source: tvix/build/protos/rpc_build.proto +// source: snix/build/protos/rpc_build.proto package buildv1 @@ -22,7 +23,7 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - BuildService_DoBuild_FullMethodName = "/tvix.build.v1.BuildService/DoBuild" + BuildService_DoBuild_FullMethodName = "/snix.build.v1.BuildService/DoBuild" ) // BuildServiceClient is the client API for BuildService service. @@ -111,7 +112,7 @@ func _BuildService_DoBuild_Handler(srv interface{}, ctx context.Context, dec fun // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var BuildService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "tvix.build.v1.BuildService", + ServiceName: "snix.build.v1.BuildService", HandlerType: (*BuildServiceServer)(nil), Methods: []grpc.MethodDesc{ { @@ -120,5 +121,5 @@ var BuildService_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "tvix/build/protos/rpc_build.proto", + Metadata: "snix/build/protos/rpc_build.proto", } diff --git a/tvix/build/Cargo.toml b/snix/build/Cargo.toml similarity index 84% rename from tvix/build/Cargo.toml rename to snix/build/Cargo.toml index 529c878b6..3e208f298 100644 --- a/tvix/build/Cargo.toml +++ b/snix/build/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tvix-build" +name = "snix-build" version = "0.1.0" edition = "2021" @@ -13,7 +13,7 @@ tokio = { workspace = true, features = ["process"] } tokio-listener = { workspace = true, features = ["tonic012"] } tonic = { workspace = true, features = ["tls", "tls-roots"] } # TODO: put the fuse dep behind a feature flag? -tvix-castore = { path = "../castore", features = ["fuse"]} +snix-castore = { path = "../castore", features = ["fuse"]} tracing.workspace = true url.workspace = true mimalloc.workspace = true @@ -26,7 +26,7 @@ data-encoding = "2.5.0" futures = "0.3.30" oci-spec = "0.7.0" serde_json = "1.0.111" -tvix-tracing = { path = "../tracing" } +snix-tracing = { path = "../tracing" } uuid = { version = "1.7.0", features = ["v4"] } [build-dependencies] @@ -35,7 +35,7 @@ tonic-build.workspace = true [features] default = [] -tonic-reflection = ["dep:tonic-reflection", "tvix-castore/tonic-reflection"] +tonic-reflection = ["dep:tonic-reflection", "snix-castore/tonic-reflection"] [dev-dependencies] rstest.workspace = true diff --git a/tvix/build/build.rs b/snix/build/build.rs similarity index 80% rename from tvix/build/build.rs rename to snix/build/build.rs index 2fb8d86ee..dcb00fa0b 100644 --- a/tvix/build/build.rs +++ b/snix/build/build.rs @@ -7,7 +7,7 @@ fn main() -> Result<()> { #[cfg(feature = "tonic-reflection")] { let out_dir = std::path::PathBuf::from(std::env::var("OUT_DIR").unwrap()); - let descriptor_path = out_dir.join("tvix.build.v1.bin"); + let descriptor_path = out_dir.join("snix.build.v1.bin"); builder = builder.file_descriptor_set_path(descriptor_path); }; @@ -17,11 +17,11 @@ fn main() -> Result<()> { .build_client(true) .emit_rerun_if_changed(false) .bytes(["."]) - .extern_path(".tvix.castore.v1", "::tvix_castore::proto") + .extern_path(".snix.castore.v1", "::snix_castore::proto") .compile_protos( &[ - "tvix/build/protos/build.proto", - "tvix/build/protos/rpc_build.proto", + "snix/build/protos/build.proto", + "snix/build/protos/rpc_build.proto", ], // If we are in running `cargo build` manually, using `../..` works fine, // but in case we run inside a nix build, we need to instead point PROTO_ROOT diff --git a/tvix/build/default.nix b/snix/build/default.nix similarity index 67% rename from tvix/build/default.nix rename to snix/build/default.nix index 17b52354b..73ba1bddb 100644 --- a/tvix/build/default.nix +++ b/snix/build/default.nix @@ -1,10 +1,10 @@ { depot, lib, ... }: -(depot.tvix.crates.workspaceMembers.tvix-build.build.override { +(depot.snix.crates.workspaceMembers.snix-build.build.override { runTests = true; }).overrideAttrs (old: rec { meta.ci.targets = lib.filter (x: lib.hasPrefix "with-features" x || x == "no-features") (lib.attrNames passthru); - passthru = old.passthru // (depot.tvix.utils.mkFeaturePowerset { + passthru = old.passthru // (depot.snix.utils.mkFeaturePowerset { inherit (old) crateName; features = [ "tonic-reflection" ]; }); diff --git a/tvix/build/protos/LICENSE b/snix/build/protos/LICENSE similarity index 97% rename from tvix/build/protos/LICENSE rename to snix/build/protos/LICENSE index 2034ada6f..948502a0a 100644 --- a/tvix/build/protos/LICENSE +++ b/snix/build/protos/LICENSE @@ -1,4 +1,5 @@ Copyright © The Tvix Authors +Copyright © The Snix Project Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/tvix/build/protos/build.proto b/snix/build/protos/build.proto similarity index 95% rename from tvix/build/protos/build.proto rename to snix/build/protos/build.proto index 1d6f8690c..5d42bded1 100644 --- a/tvix/build/protos/build.proto +++ b/snix/build/protos/build.proto @@ -1,13 +1,14 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project syntax = "proto3"; -package tvix.build.v1; +package snix.build.v1; -import "tvix/castore/protos/castore.proto"; +import "snix/castore/protos/castore.proto"; -option go_package = "code.tvl.fyi/tvix/build-go;buildv1"; +option go_package = "snix.dev/build/proto;buildv1"; // A BuildRequest describes the request of something to be run on the builder. // It is distinct from an actual [Build] that has already happened, or might be @@ -31,7 +32,7 @@ option go_package = "code.tvl.fyi/tvix/build-go;buildv1"; // to either the input's deriver (and needs to build it) or else a trusted // source for the built input. // to upload input-addressed paths, requiring the trusted users concept. -// - tvix-build records a list of tvix.castore.v1.Node as inputs. +// - snix-build records a list of snix.castore.v1.Node as inputs. // These map from the store path base name to their contents, relieving the // builder from having to "trust" any input-addressed paths, contrary to Nix. // @@ -50,7 +51,7 @@ message BuildRequest { // As all references are content-addressed, no additional signatures are // needed to substitute / make these available in the build environment. // Inputs MUST be sorted by their names. - repeated tvix.castore.v1.Node inputs = 1; + repeated snix.castore.v1.Node inputs = 1; // The command (and its args) executed as the build script. // In the case of a Nix derivation, this is usually @@ -160,7 +161,7 @@ message Build { // The outputs that were produced after successfully building. // They are sorted by their names. - repeated tvix.castore.v1.Node outputs = 2; + repeated snix.castore.v1.Node outputs = 2; message OutputNeedles { // The numbers are indexing into `refscan_needles` originally specified in the BuildRequest. diff --git a/tvix/build/protos/default.nix b/snix/build/protos/default.nix similarity index 86% rename from tvix/build/protos/default.nix rename to snix/build/protos/default.nix index 287b51313..7c6064ef0 100644 --- a/tvix/build/protos/default.nix +++ b/snix/build/protos/default.nix @@ -4,8 +4,8 @@ let "buf.yaml" "buf.gen.yaml" # We need to include castore.proto (only), as it's referred. - "^tvix(/castore(/protos(/castore\.proto)?)?)?$" - "^tvix(/build(/protos(/.*\.proto)?)?)?$" + "^snix(/castore(/protos(/castore\.proto)?)?)?$" + "^snix(/build(/protos(/.*\.proto)?)?)?$" ]; in depot.nix.readTree.drvTargets { @@ -45,7 +45,7 @@ depot.nix.readTree.drvTargets { buf generate mkdir -p $out - cp tvix/build/protos/*.pb.go $out/ + cp snix/build/protos/*.pb.go $out/ ''; }; } diff --git a/tvix/build/protos/rpc_build.proto b/snix/build/protos/rpc_build.proto similarity index 51% rename from tvix/build/protos/rpc_build.proto rename to snix/build/protos/rpc_build.proto index 73eebf78f..b51defbd1 100644 --- a/tvix/build/protos/rpc_build.proto +++ b/snix/build/protos/rpc_build.proto @@ -1,12 +1,13 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project syntax = "proto3"; -package tvix.build.v1; +package snix.build.v1; -import "tvix/build/protos/build.proto"; +import "snix/build/protos/build.proto"; -option go_package = "code.tvl.fyi/tvix/build-go;buildv1"; +option go_package = "snix.dev/build/proto;buildv1"; service BuildService { rpc DoBuild(BuildRequest) returns (Build); diff --git a/tvix/build/src/bin/tvix-build.rs b/snix/build/src/bin/snix-build.rs similarity index 92% rename from tvix/build/src/bin/tvix-build.rs rename to snix/build/src/bin/snix-build.rs index ffdbc3ca4..c4e4e2dfb 100644 --- a/tvix/build/src/bin/tvix-build.rs +++ b/snix/build/src/bin/snix-build.rs @@ -1,21 +1,21 @@ use clap::Parser; use clap::Subcommand; +use snix_build::{ + buildservice, + proto::{build_service_server::BuildServiceServer, GRPCBuildServiceWrapper}, +}; +use snix_castore::blobservice; +use snix_castore::directoryservice; use tokio_listener::Listener; use tokio_listener::SystemOptions; use tokio_listener::UserOptions; use tonic::{self, transport::Server}; use tracing::info; -use tvix_build::{ - buildservice, - proto::{build_service_server::BuildServiceServer, GRPCBuildServiceWrapper}, -}; -use tvix_castore::blobservice; -use tvix_castore::directoryservice; #[cfg(feature = "tonic-reflection")] -use tvix_build::proto::FILE_DESCRIPTOR_SET; +use snix_build::proto::FILE_DESCRIPTOR_SET; #[cfg(feature = "tonic-reflection")] -use tvix_castore::proto::FILE_DESCRIPTOR_SET as CASTORE_FILE_DESCRIPTOR_SET; +use snix_castore::proto::FILE_DESCRIPTOR_SET as CASTORE_FILE_DESCRIPTOR_SET; use mimalloc::MiMalloc; @@ -30,7 +30,7 @@ struct Cli { } #[derive(Subcommand)] enum Commands { - /// Runs the tvix-build daemon. + /// Runs the snix-build daemon. Daemon { #[arg(long, short = 'l')] listen_address: Option, @@ -50,7 +50,7 @@ enum Commands { async fn main() -> Result<(), Box> { let cli = Cli::parse(); - tvix_tracing::TracingBuilder::default() + snix_tracing::TracingBuilder::default() .enable_progressbar() .build()?; diff --git a/tvix/build/src/buildservice/build_request.rs b/snix/build/src/buildservice/build_request.rs similarity index 98% rename from tvix/build/src/buildservice/build_request.rs rename to snix/build/src/buildservice/build_request.rs index 4d53ee550..e829dcca5 100644 --- a/tvix/build/src/buildservice/build_request.rs +++ b/snix/build/src/buildservice/build_request.rs @@ -2,7 +2,7 @@ use std::collections::{BTreeMap, HashSet}; use std::path::PathBuf; use bytes::Bytes; -use tvix_castore::{Node, PathComponent}; +use snix_castore::{Node, PathComponent}; /// A BuildRequest describes the request of something to be run on the builder. /// It is distinct from an actual \[Build\] that has already happened, or might be /// currently ongoing. @@ -26,7 +26,7 @@ use tvix_castore::{Node, PathComponent}; /// to either the input's deriver (and needs to build it) or else a trusted /// source for the built input. /// to upload input-addressed paths, requiring the trusted users concept. -/// * tvix-build records a list of tvix.castore.v1.Node as inputs. +/// * snix-build records a list of snix.castore.v1.Node as inputs. /// These map from the store path base name to their contents, relieving the /// builder from having to "trust" any input-addressed paths, contrary to Nix. /// diff --git a/tvix/build/src/buildservice/dummy.rs b/snix/build/src/buildservice/dummy.rs similarity index 100% rename from tvix/build/src/buildservice/dummy.rs rename to snix/build/src/buildservice/dummy.rs diff --git a/tvix/build/src/buildservice/from_addr.rs b/snix/build/src/buildservice/from_addr.rs similarity index 96% rename from tvix/build/src/buildservice/from_addr.rs rename to snix/build/src/buildservice/from_addr.rs index c88eef2bb..ee8574db2 100644 --- a/tvix/build/src/buildservice/from_addr.rs +++ b/snix/build/src/buildservice/from_addr.rs @@ -1,5 +1,5 @@ use super::{grpc::GRPCBuildService, BuildService, DummyBuildService}; -use tvix_castore::{blobservice::BlobService, directoryservice::DirectoryService}; +use snix_castore::{blobservice::BlobService, directoryservice::DirectoryService}; use url::Url; #[cfg(target_os = "linux")] @@ -48,7 +48,7 @@ where scheme => { if scheme.starts_with("grpc+") { let client = crate::proto::build_service_client::BuildServiceClient::new( - tvix_castore::tonic::channel_from_url(&url) + snix_castore::tonic::channel_from_url(&url) .await .map_err(std::io::Error::other)?, ); @@ -69,15 +69,15 @@ where mod tests { use super::from_addr; use rstest::rstest; + use snix_castore::{ + blobservice::{BlobService, MemoryBlobService}, + directoryservice::{DirectoryService, MemoryDirectoryService}, + }; use std::sync::Arc; #[cfg(target_os = "linux")] use std::sync::LazyLock; #[cfg(target_os = "linux")] use tempfile::TempDir; - use tvix_castore::{ - blobservice::{BlobService, MemoryBlobService}, - directoryservice::{DirectoryService, MemoryDirectoryService}, - }; #[cfg(target_os = "linux")] static TMPDIR_OCI_1: LazyLock = LazyLock::new(|| TempDir::new().unwrap()); diff --git a/tvix/build/src/buildservice/grpc.rs b/snix/build/src/buildservice/grpc.rs similarity index 100% rename from tvix/build/src/buildservice/grpc.rs rename to snix/build/src/buildservice/grpc.rs diff --git a/tvix/build/src/buildservice/mod.rs b/snix/build/src/buildservice/mod.rs similarity index 100% rename from tvix/build/src/buildservice/mod.rs rename to snix/build/src/buildservice/mod.rs diff --git a/tvix/build/src/buildservice/oci.rs b/snix/build/src/buildservice/oci.rs similarity index 97% rename from tvix/build/src/buildservice/oci.rs rename to snix/build/src/buildservice/oci.rs index 52efede65..82a24e19d 100644 --- a/tvix/build/src/buildservice/oci.rs +++ b/snix/build/src/buildservice/oci.rs @@ -1,16 +1,16 @@ use anyhow::Context; use bstr::BStr; use oci_spec::runtime::{LinuxIdMapping, LinuxIdMappingBuilder}; -use tokio::process::{Child, Command}; -use tonic::async_trait; -use tracing::{debug, instrument, warn, Span}; -use tvix_castore::{ +use snix_castore::{ blobservice::BlobService, directoryservice::DirectoryService, fs::fuse::FuseDaemon, import::fs::ingest_path, refscan::{ReferencePattern, ReferenceScanner}, }; +use tokio::process::{Child, Command}; +use tonic::async_trait; +use tracing::{debug, instrument, warn, Span}; use uuid::Uuid; use crate::buildservice::BuildRequest; @@ -22,7 +22,7 @@ use std::{ffi::OsStr, path::PathBuf, process::Stdio}; use super::BuildService; -const SANDBOX_SHELL: &str = env!("TVIX_BUILD_SANDBOX_SHELL"); +const SANDBOX_SHELL: &str = env!("SNIX_BUILD_SANDBOX_SHELL"); const MAX_CONCURRENT_BUILDS: usize = 2; // TODO: make configurable pub struct OCIBuildService { @@ -127,7 +127,7 @@ where .context("failed to calculate host output paths") .map_err(std::io::Error::other)?; - // assemble a BTreeMap of Nodes to pass into TvixStoreFs. + // assemble a BTreeMap of Nodes to pass into SnixStoreFs. let patterns = ReferencePattern::new(request.refscan_needles.clone()); // NOTE: impl Drop for FuseDaemon unmounts, so if the call is cancelled, umount. let _fuse_daemon = tokio::task::spawn_blocking({ @@ -138,7 +138,7 @@ where let root_nodes = Box::new(request.inputs.clone()); move || { - let fs = tvix_castore::fs::TvixStoreFs::new( + let fs = snix_castore::fs::SnixStoreFs::new( blob_service, directory_service, root_nodes, @@ -216,7 +216,7 @@ where }; Ok::<_, std::io::Error>(( - tvix_castore::proto::Node::from_name_and_node( + snix_castore::proto::Node::from_name_and_node( output_path .file_name() .and_then(|s| s.to_str()) diff --git a/tvix/build/src/lib.rs b/snix/build/src/lib.rs similarity index 100% rename from tvix/build/src/lib.rs rename to snix/build/src/lib.rs diff --git a/tvix/build/src/oci/bundle.rs b/snix/build/src/oci/bundle.rs similarity index 100% rename from tvix/build/src/oci/bundle.rs rename to snix/build/src/oci/bundle.rs diff --git a/tvix/build/src/oci/mod.rs b/snix/build/src/oci/mod.rs similarity index 100% rename from tvix/build/src/oci/mod.rs rename to snix/build/src/oci/mod.rs diff --git a/tvix/build/src/oci/spec.rs b/snix/build/src/oci/spec.rs similarity index 99% rename from tvix/build/src/oci/spec.rs rename to snix/build/src/oci/spec.rs index e3b6172de..b03f88ea4 100644 --- a/tvix/build/src/oci/spec.rs +++ b/snix/build/src/oci/spec.rs @@ -225,7 +225,7 @@ fn configure_mounts<'a>( rootless: bool, allow_network: bool, scratch_paths: impl IntoIterator, - inputs: impl Iterator, + inputs: impl Iterator, inputs_dir: &Path, ro_host_mounts: impl IntoIterator, diff --git a/tvix/build/src/proto/grpc_buildservice_wrapper.rs b/snix/build/src/proto/grpc_buildservice_wrapper.rs similarity index 100% rename from tvix/build/src/proto/grpc_buildservice_wrapper.rs rename to snix/build/src/proto/grpc_buildservice_wrapper.rs diff --git a/tvix/build/src/proto/mod.rs b/snix/build/src/proto/mod.rs similarity index 97% rename from tvix/build/src/proto/mod.rs rename to snix/build/src/proto/mod.rs index be757bb56..c30968fa4 100644 --- a/tvix/build/src/proto/mod.rs +++ b/snix/build/src/proto/mod.rs @@ -2,19 +2,19 @@ use std::collections::{BTreeMap, HashSet}; use std::path::{Path, PathBuf}; use itertools::Itertools; -use tvix_castore::{DirectoryError, Node, PathComponent}; +use snix_castore::{DirectoryError, Node, PathComponent}; mod grpc_buildservice_wrapper; pub use grpc_buildservice_wrapper::GRPCBuildServiceWrapper; -tonic::include_proto!("tvix.build.v1"); +tonic::include_proto!("snix.build.v1"); #[cfg(feature = "tonic-reflection")] /// Compiled file descriptors for implementing [gRPC /// reflection](https://github.com/grpc/grpc/blob/master/doc/server-reflection.md) with e.g. /// [`tonic_reflection`](https://docs.rs/tonic-reflection). -pub const FILE_DESCRIPTOR_SET: &[u8] = tonic::include_file_descriptor_set!("tvix.build.v1"); +pub const FILE_DESCRIPTOR_SET: &[u8] = tonic::include_file_descriptor_set!("snix.build.v1"); /// Errors that occur during the validation of [BuildRequest] messages. #[derive(Debug, thiserror::Error)] @@ -120,7 +120,7 @@ where fn path_to_string(path: &Path) -> String { path.to_str() - .expect("Tvix Bug: unable to convert Path to String") + .expect("Snix Bug: unable to convert Path to String") .to_string() } @@ -149,7 +149,7 @@ impl From for BuildRequest { .inputs .into_iter() .map(|(name, node)| { - tvix_castore::proto::Node::from_name_and_node(name.into(), node) + snix_castore::proto::Node::from_name_and_node(name.into(), node) }) .collect(), command_args: value.command_args, @@ -311,7 +311,7 @@ impl From for build_request::AdditionalFile path: value .path .to_str() - .expect("Tvix bug: expected a valid path") + .expect("Snix bug: expected a valid path") .to_string(), contents: value.contents, } diff --git a/tvix/castore-go/LICENSE b/snix/castore-go/LICENSE similarity index 97% rename from tvix/castore-go/LICENSE rename to snix/castore-go/LICENSE index 2034ada6f..948502a0a 100644 --- a/tvix/castore-go/LICENSE +++ b/snix/castore-go/LICENSE @@ -1,4 +1,5 @@ Copyright © The Tvix Authors +Copyright © The Snix Project Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/tvix/castore-go/README.md b/snix/castore-go/README.md similarity index 79% rename from tvix/castore-go/README.md rename to snix/castore-go/README.md index c7a2205ae..88022c908 100644 --- a/tvix/castore-go/README.md +++ b/snix/castore-go/README.md @@ -1,9 +1,9 @@ # castore-go -This directory contains generated golang bindings, both for the `tvix-castore` +This directory contains generated golang bindings, both for the `snix-castore` data models, as well as the gRPC bindings. -They are generated with `mg run //tvix:castore-go:regenerate`. +They are generated with `mg run //snix/castore-go:regenerate`. These files end with `.pb.go`, and are ensured to be up to date by a CI check. Additionally, code useful when interacting with these data structures diff --git a/tvix/castore-go/castore.go b/snix/castore-go/castore.go similarity index 100% rename from tvix/castore-go/castore.go rename to snix/castore-go/castore.go diff --git a/tvix/castore-go/castore.pb.go b/snix/castore-go/castore.pb.go similarity index 78% rename from tvix/castore-go/castore.pb.go rename to snix/castore-go/castore.pb.go index 2bef1b3b0..2eb9e6567 100644 --- a/tvix/castore-go/castore.pb.go +++ b/snix/castore-go/castore.pb.go @@ -1,11 +1,12 @@ // SPDX-FileCopyrightText: edef // SPDX-License-Identifier: OSL-3.0 OR MIT OR Apache-2.0 +// Copyright © 2025 The Snix Project // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.5 // protoc (unknown) -// source: tvix/castore/protos/castore.proto +// source: snix/castore/protos/castore.proto package castorev1 @@ -45,7 +46,7 @@ type Directory struct { func (x *Directory) Reset() { *x = Directory{} - mi := &file_tvix_castore_protos_castore_proto_msgTypes[0] + mi := &file_snix_castore_protos_castore_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57,7 +58,7 @@ func (x *Directory) String() string { func (*Directory) ProtoMessage() {} func (x *Directory) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_castore_proto_msgTypes[0] + mi := &file_snix_castore_protos_castore_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70,7 +71,7 @@ func (x *Directory) ProtoReflect() protoreflect.Message { // Deprecated: Use Directory.ProtoReflect.Descriptor instead. func (*Directory) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_castore_proto_rawDescGZIP(), []int{0} + return file_snix_castore_protos_castore_proto_rawDescGZIP(), []int{0} } func (x *Directory) GetDirectories() []*DirectoryNode { @@ -118,7 +119,7 @@ type DirectoryNode struct { func (x *DirectoryNode) Reset() { *x = DirectoryNode{} - mi := &file_tvix_castore_protos_castore_proto_msgTypes[1] + mi := &file_snix_castore_protos_castore_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -130,7 +131,7 @@ func (x *DirectoryNode) String() string { func (*DirectoryNode) ProtoMessage() {} func (x *DirectoryNode) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_castore_proto_msgTypes[1] + mi := &file_snix_castore_protos_castore_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -143,7 +144,7 @@ func (x *DirectoryNode) ProtoReflect() protoreflect.Message { // Deprecated: Use DirectoryNode.ProtoReflect.Descriptor instead. func (*DirectoryNode) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_castore_proto_rawDescGZIP(), []int{1} + return file_snix_castore_protos_castore_proto_rawDescGZIP(), []int{1} } func (x *DirectoryNode) GetName() []byte { @@ -184,7 +185,7 @@ type FileNode struct { func (x *FileNode) Reset() { *x = FileNode{} - mi := &file_tvix_castore_protos_castore_proto_msgTypes[2] + mi := &file_snix_castore_protos_castore_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -196,7 +197,7 @@ func (x *FileNode) String() string { func (*FileNode) ProtoMessage() {} func (x *FileNode) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_castore_proto_msgTypes[2] + mi := &file_snix_castore_protos_castore_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -209,7 +210,7 @@ func (x *FileNode) ProtoReflect() protoreflect.Message { // Deprecated: Use FileNode.ProtoReflect.Descriptor instead. func (*FileNode) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_castore_proto_rawDescGZIP(), []int{2} + return file_snix_castore_protos_castore_proto_rawDescGZIP(), []int{2} } func (x *FileNode) GetName() []byte { @@ -253,7 +254,7 @@ type SymlinkNode struct { func (x *SymlinkNode) Reset() { *x = SymlinkNode{} - mi := &file_tvix_castore_protos_castore_proto_msgTypes[3] + mi := &file_snix_castore_protos_castore_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -265,7 +266,7 @@ func (x *SymlinkNode) String() string { func (*SymlinkNode) ProtoMessage() {} func (x *SymlinkNode) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_castore_proto_msgTypes[3] + mi := &file_snix_castore_protos_castore_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -278,7 +279,7 @@ func (x *SymlinkNode) ProtoReflect() protoreflect.Message { // Deprecated: Use SymlinkNode.ProtoReflect.Descriptor instead. func (*SymlinkNode) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_castore_proto_rawDescGZIP(), []int{3} + return file_snix_castore_protos_castore_proto_rawDescGZIP(), []int{3} } func (x *SymlinkNode) GetName() []byte { @@ -310,7 +311,7 @@ type Node struct { func (x *Node) Reset() { *x = Node{} - mi := &file_tvix_castore_protos_castore_proto_msgTypes[4] + mi := &file_snix_castore_protos_castore_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -322,7 +323,7 @@ func (x *Node) String() string { func (*Node) ProtoMessage() {} func (x *Node) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_castore_proto_msgTypes[4] + mi := &file_snix_castore_protos_castore_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -335,7 +336,7 @@ func (x *Node) ProtoReflect() protoreflect.Message { // Deprecated: Use Node.ProtoReflect.Descriptor instead. func (*Node) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_castore_proto_rawDescGZIP(), []int{4} + return file_snix_castore_protos_castore_proto_rawDescGZIP(), []int{4} } func (x *Node) GetNode() isNode_Node { @@ -394,22 +395,22 @@ func (*Node_File) isNode_Node() {} func (*Node_Symlink) isNode_Node() {} -var File_tvix_castore_protos_castore_proto protoreflect.FileDescriptor +var File_snix_castore_protos_castore_proto protoreflect.FileDescriptor -var file_tvix_castore_protos_castore_proto_rawDesc = string([]byte{ - 0x0a, 0x21, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, +var file_snix_castore_protos_castore_proto_rawDesc = string([]byte{ + 0x0a, 0x21, 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x22, 0xb8, 0x01, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, + 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0x4f, 0x0a, 0x0d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, @@ -429,49 +430,48 @@ var file_tvix_castore_protos_castore_proto_rawDesc = string([]byte{ 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xb9, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x07, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x06, 0x0a, 0x04, 0x6e, - 0x6f, 0x64, 0x65, 0x42, 0x28, 0x5a, 0x26, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x76, 0x6c, 0x2e, - 0x66, 0x79, 0x69, 0x2f, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2d, 0x67, 0x6f, 0x3b, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x64, 0x65, 0x42, 0x22, 0x5a, 0x20, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x64, 0x65, 0x76, 0x2f, + 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b, 0x63, 0x61, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( - file_tvix_castore_protos_castore_proto_rawDescOnce sync.Once - file_tvix_castore_protos_castore_proto_rawDescData []byte + file_snix_castore_protos_castore_proto_rawDescOnce sync.Once + file_snix_castore_protos_castore_proto_rawDescData []byte ) -func file_tvix_castore_protos_castore_proto_rawDescGZIP() []byte { - file_tvix_castore_protos_castore_proto_rawDescOnce.Do(func() { - file_tvix_castore_protos_castore_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_tvix_castore_protos_castore_proto_rawDesc), len(file_tvix_castore_protos_castore_proto_rawDesc))) +func file_snix_castore_protos_castore_proto_rawDescGZIP() []byte { + file_snix_castore_protos_castore_proto_rawDescOnce.Do(func() { + file_snix_castore_protos_castore_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_snix_castore_protos_castore_proto_rawDesc), len(file_snix_castore_protos_castore_proto_rawDesc))) }) - return file_tvix_castore_protos_castore_proto_rawDescData + return file_snix_castore_protos_castore_proto_rawDescData } -var file_tvix_castore_protos_castore_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_tvix_castore_protos_castore_proto_goTypes = []any{ - (*Directory)(nil), // 0: tvix.castore.v1.Directory - (*DirectoryNode)(nil), // 1: tvix.castore.v1.DirectoryNode - (*FileNode)(nil), // 2: tvix.castore.v1.FileNode - (*SymlinkNode)(nil), // 3: tvix.castore.v1.SymlinkNode - (*Node)(nil), // 4: tvix.castore.v1.Node +var file_snix_castore_protos_castore_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_snix_castore_protos_castore_proto_goTypes = []any{ + (*Directory)(nil), // 0: snix.castore.v1.Directory + (*DirectoryNode)(nil), // 1: snix.castore.v1.DirectoryNode + (*FileNode)(nil), // 2: snix.castore.v1.FileNode + (*SymlinkNode)(nil), // 3: snix.castore.v1.SymlinkNode + (*Node)(nil), // 4: snix.castore.v1.Node } -var file_tvix_castore_protos_castore_proto_depIdxs = []int32{ - 1, // 0: tvix.castore.v1.Directory.directories:type_name -> tvix.castore.v1.DirectoryNode - 2, // 1: tvix.castore.v1.Directory.files:type_name -> tvix.castore.v1.FileNode - 3, // 2: tvix.castore.v1.Directory.symlinks:type_name -> tvix.castore.v1.SymlinkNode - 1, // 3: tvix.castore.v1.Node.directory:type_name -> tvix.castore.v1.DirectoryNode - 2, // 4: tvix.castore.v1.Node.file:type_name -> tvix.castore.v1.FileNode - 3, // 5: tvix.castore.v1.Node.symlink:type_name -> tvix.castore.v1.SymlinkNode +var file_snix_castore_protos_castore_proto_depIdxs = []int32{ + 1, // 0: snix.castore.v1.Directory.directories:type_name -> snix.castore.v1.DirectoryNode + 2, // 1: snix.castore.v1.Directory.files:type_name -> snix.castore.v1.FileNode + 3, // 2: snix.castore.v1.Directory.symlinks:type_name -> snix.castore.v1.SymlinkNode + 1, // 3: snix.castore.v1.Node.directory:type_name -> snix.castore.v1.DirectoryNode + 2, // 4: snix.castore.v1.Node.file:type_name -> snix.castore.v1.FileNode + 3, // 5: snix.castore.v1.Node.symlink:type_name -> snix.castore.v1.SymlinkNode 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name @@ -479,12 +479,12 @@ var file_tvix_castore_protos_castore_proto_depIdxs = []int32{ 0, // [0:6] is the sub-list for field type_name } -func init() { file_tvix_castore_protos_castore_proto_init() } -func file_tvix_castore_protos_castore_proto_init() { - if File_tvix_castore_protos_castore_proto != nil { +func init() { file_snix_castore_protos_castore_proto_init() } +func file_snix_castore_protos_castore_proto_init() { + if File_snix_castore_protos_castore_proto != nil { return } - file_tvix_castore_protos_castore_proto_msgTypes[4].OneofWrappers = []any{ + file_snix_castore_protos_castore_proto_msgTypes[4].OneofWrappers = []any{ (*Node_Directory)(nil), (*Node_File)(nil), (*Node_Symlink)(nil), @@ -493,17 +493,17 @@ func file_tvix_castore_protos_castore_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_tvix_castore_protos_castore_proto_rawDesc), len(file_tvix_castore_protos_castore_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_snix_castore_protos_castore_proto_rawDesc), len(file_snix_castore_protos_castore_proto_rawDesc)), NumEnums: 0, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_tvix_castore_protos_castore_proto_goTypes, - DependencyIndexes: file_tvix_castore_protos_castore_proto_depIdxs, - MessageInfos: file_tvix_castore_protos_castore_proto_msgTypes, + GoTypes: file_snix_castore_protos_castore_proto_goTypes, + DependencyIndexes: file_snix_castore_protos_castore_proto_depIdxs, + MessageInfos: file_snix_castore_protos_castore_proto_msgTypes, }.Build() - File_tvix_castore_protos_castore_proto = out.File - file_tvix_castore_protos_castore_proto_goTypes = nil - file_tvix_castore_protos_castore_proto_depIdxs = nil + File_snix_castore_protos_castore_proto = out.File + file_snix_castore_protos_castore_proto_goTypes = nil + file_snix_castore_protos_castore_proto_depIdxs = nil } diff --git a/tvix/castore-go/castore_test.go b/snix/castore-go/castore_test.go similarity index 99% rename from tvix/castore-go/castore_test.go rename to snix/castore-go/castore_test.go index c237442f4..1b9ad2ca0 100644 --- a/tvix/castore-go/castore_test.go +++ b/snix/castore-go/castore_test.go @@ -3,8 +3,8 @@ package castorev1_test import ( "testing" - castorev1pb "code.tvl.fyi/tvix/castore-go" "github.com/stretchr/testify/assert" + castorev1pb "snix.dev/castore/proto" ) var ( diff --git a/tvix/castore-go/default.nix b/snix/castore-go/default.nix similarity index 81% rename from tvix/castore-go/default.nix rename to snix/castore-go/default.nix index 5b0a2eeb9..778bfbe81 100644 --- a/tvix/castore-go/default.nix +++ b/snix/castore-go/default.nix @@ -2,7 +2,7 @@ let regenerate = pkgs.writeShellScript "regenerate" '' - (cd $(git rev-parse --show-toplevel)/tvix/castore-go && rm *.pb.go && cp ${depot.tvix.castore.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) + (cd $(git rev-parse --show-toplevel)/snix/castore-go && rm *.pb.go && cp ${depot.snix.castore.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) ''; in (pkgs.buildGoModule { @@ -18,7 +18,7 @@ in ${regenerate} if [[ -n "$(git status --porcelain -unormal)" ]]; then echo "-----------------------------" - echo ".pb.go files need to be updated, mg run //tvix/castore-go/regenerate" + echo ".pb.go files need to be updated, mg run //snix/castore-go/regenerate" echo "-----------------------------" git status -unormal exit 1 diff --git a/tvix/castore-go/go.mod b/snix/castore-go/go.mod similarity index 94% rename from tvix/castore-go/go.mod rename to snix/castore-go/go.mod index c3b883adb..62a069494 100644 --- a/tvix/castore-go/go.mod +++ b/snix/castore-go/go.mod @@ -1,4 +1,4 @@ -module code.tvl.fyi/tvix/castore-go +module snix.dev/castore/proto go 1.22 diff --git a/tvix/castore-go/go.sum b/snix/castore-go/go.sum similarity index 100% rename from tvix/castore-go/go.sum rename to snix/castore-go/go.sum diff --git a/tvix/castore-go/rename_node.go b/snix/castore-go/rename_node.go similarity index 100% rename from tvix/castore-go/rename_node.go rename to snix/castore-go/rename_node.go diff --git a/tvix/castore-go/rpc_blobstore.pb.go b/snix/castore-go/rpc_blobstore.pb.go similarity index 74% rename from tvix/castore-go/rpc_blobstore.pb.go rename to snix/castore-go/rpc_blobstore.pb.go index 560f78658..2ce3d1194 100644 --- a/tvix/castore-go/rpc_blobstore.pb.go +++ b/snix/castore-go/rpc_blobstore.pb.go @@ -1,11 +1,12 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.5 // protoc (unknown) -// source: tvix/castore/protos/rpc_blobstore.proto +// source: snix/castore/protos/rpc_blobstore.proto package castorev1 @@ -38,7 +39,7 @@ type StatBlobRequest struct { func (x *StatBlobRequest) Reset() { *x = StatBlobRequest{} - mi := &file_tvix_castore_protos_rpc_blobstore_proto_msgTypes[0] + mi := &file_snix_castore_protos_rpc_blobstore_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50,7 +51,7 @@ func (x *StatBlobRequest) String() string { func (*StatBlobRequest) ProtoMessage() {} func (x *StatBlobRequest) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_rpc_blobstore_proto_msgTypes[0] + mi := &file_snix_castore_protos_rpc_blobstore_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63,7 +64,7 @@ func (x *StatBlobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StatBlobRequest.ProtoReflect.Descriptor instead. func (*StatBlobRequest) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_rpc_blobstore_proto_rawDescGZIP(), []int{0} + return file_snix_castore_protos_rpc_blobstore_proto_rawDescGZIP(), []int{0} } func (x *StatBlobRequest) GetDigest() []byte { @@ -102,7 +103,7 @@ type StatBlobResponse struct { func (x *StatBlobResponse) Reset() { *x = StatBlobResponse{} - mi := &file_tvix_castore_protos_rpc_blobstore_proto_msgTypes[1] + mi := &file_snix_castore_protos_rpc_blobstore_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -114,7 +115,7 @@ func (x *StatBlobResponse) String() string { func (*StatBlobResponse) ProtoMessage() {} func (x *StatBlobResponse) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_rpc_blobstore_proto_msgTypes[1] + mi := &file_snix_castore_protos_rpc_blobstore_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -127,7 +128,7 @@ func (x *StatBlobResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StatBlobResponse.ProtoReflect.Descriptor instead. func (*StatBlobResponse) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_rpc_blobstore_proto_rawDescGZIP(), []int{1} + return file_snix_castore_protos_rpc_blobstore_proto_rawDescGZIP(), []int{1} } func (x *StatBlobResponse) GetChunks() []*StatBlobResponse_ChunkMeta { @@ -154,7 +155,7 @@ type ReadBlobRequest struct { func (x *ReadBlobRequest) Reset() { *x = ReadBlobRequest{} - mi := &file_tvix_castore_protos_rpc_blobstore_proto_msgTypes[2] + mi := &file_snix_castore_protos_rpc_blobstore_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -166,7 +167,7 @@ func (x *ReadBlobRequest) String() string { func (*ReadBlobRequest) ProtoMessage() {} func (x *ReadBlobRequest) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_rpc_blobstore_proto_msgTypes[2] + mi := &file_snix_castore_protos_rpc_blobstore_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -179,7 +180,7 @@ func (x *ReadBlobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReadBlobRequest.ProtoReflect.Descriptor instead. func (*ReadBlobRequest) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_rpc_blobstore_proto_rawDescGZIP(), []int{2} + return file_snix_castore_protos_rpc_blobstore_proto_rawDescGZIP(), []int{2} } func (x *ReadBlobRequest) GetDigest() []byte { @@ -200,7 +201,7 @@ type BlobChunk struct { func (x *BlobChunk) Reset() { *x = BlobChunk{} - mi := &file_tvix_castore_protos_rpc_blobstore_proto_msgTypes[3] + mi := &file_snix_castore_protos_rpc_blobstore_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -212,7 +213,7 @@ func (x *BlobChunk) String() string { func (*BlobChunk) ProtoMessage() {} func (x *BlobChunk) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_rpc_blobstore_proto_msgTypes[3] + mi := &file_snix_castore_protos_rpc_blobstore_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -225,7 +226,7 @@ func (x *BlobChunk) ProtoReflect() protoreflect.Message { // Deprecated: Use BlobChunk.ProtoReflect.Descriptor instead. func (*BlobChunk) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_rpc_blobstore_proto_rawDescGZIP(), []int{3} + return file_snix_castore_protos_rpc_blobstore_proto_rawDescGZIP(), []int{3} } func (x *BlobChunk) GetData() []byte { @@ -245,7 +246,7 @@ type PutBlobResponse struct { func (x *PutBlobResponse) Reset() { *x = PutBlobResponse{} - mi := &file_tvix_castore_protos_rpc_blobstore_proto_msgTypes[4] + mi := &file_snix_castore_protos_rpc_blobstore_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -257,7 +258,7 @@ func (x *PutBlobResponse) String() string { func (*PutBlobResponse) ProtoMessage() {} func (x *PutBlobResponse) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_rpc_blobstore_proto_msgTypes[4] + mi := &file_snix_castore_protos_rpc_blobstore_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -270,7 +271,7 @@ func (x *PutBlobResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PutBlobResponse.ProtoReflect.Descriptor instead. func (*PutBlobResponse) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_rpc_blobstore_proto_rawDescGZIP(), []int{4} + return file_snix_castore_protos_rpc_blobstore_proto_rawDescGZIP(), []int{4} } func (x *PutBlobResponse) GetDigest() []byte { @@ -292,7 +293,7 @@ type StatBlobResponse_ChunkMeta struct { func (x *StatBlobResponse_ChunkMeta) Reset() { *x = StatBlobResponse_ChunkMeta{} - mi := &file_tvix_castore_protos_rpc_blobstore_proto_msgTypes[5] + mi := &file_snix_castore_protos_rpc_blobstore_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -304,7 +305,7 @@ func (x *StatBlobResponse_ChunkMeta) String() string { func (*StatBlobResponse_ChunkMeta) ProtoMessage() {} func (x *StatBlobResponse_ChunkMeta) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_rpc_blobstore_proto_msgTypes[5] + mi := &file_snix_castore_protos_rpc_blobstore_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -317,7 +318,7 @@ func (x *StatBlobResponse_ChunkMeta) ProtoReflect() protoreflect.Message { // Deprecated: Use StatBlobResponse_ChunkMeta.ProtoReflect.Descriptor instead. func (*StatBlobResponse_ChunkMeta) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_rpc_blobstore_proto_rawDescGZIP(), []int{1, 0} + return file_snix_castore_protos_rpc_blobstore_proto_rawDescGZIP(), []int{1, 0} } func (x *StatBlobResponse_ChunkMeta) GetDigest() []byte { @@ -334,12 +335,12 @@ func (x *StatBlobResponse_ChunkMeta) GetSize() uint64 { return 0 } -var File_tvix_castore_protos_rpc_blobstore_proto protoreflect.FileDescriptor +var File_snix_castore_protos_rpc_blobstore_proto protoreflect.FileDescriptor -var file_tvix_castore_protos_rpc_blobstore_proto_rawDesc = string([]byte{ - 0x0a, 0x27, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, +var file_snix_castore_protos_rpc_blobstore_proto_rawDesc = string([]byte{ + 0x0a, 0x27, 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x74, 0x76, 0x69, 0x78, 0x2e, + 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x22, 0x65, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, @@ -349,7 +350,7 @@ var file_tvix_castore_protos_rpc_blobstore_proto_rawDesc = string([]byte{ 0x61, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x6f, 0x22, 0xa2, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x62, @@ -366,54 +367,54 @@ var file_tvix_castore_protos_rpc_blobstore_proto_rawDesc = string([]byte{ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x32, 0xe9, 0x01, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4b, 0x0a, - 0x04, 0x53, 0x74, 0x61, 0x74, 0x12, 0x20, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, + 0x04, 0x53, 0x74, 0x61, 0x74, 0x12, 0x20, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6c, 0x6f, 0x62, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x04, 0x52, 0x65, - 0x61, 0x64, 0x12, 0x20, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x64, 0x12, 0x20, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x43, 0x68, 0x75, 0x6e, 0x6b, - 0x30, 0x01, 0x12, 0x45, 0x0a, 0x03, 0x50, 0x75, 0x74, 0x12, 0x1a, 0x2e, 0x74, 0x76, 0x69, 0x78, + 0x30, 0x01, 0x12, 0x45, 0x0a, 0x03, 0x50, 0x75, 0x74, 0x12, 0x1a, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x62, - 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x20, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, + 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x20, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x42, 0x28, 0x5a, 0x26, 0x63, 0x6f, 0x64, - 0x65, 0x2e, 0x74, 0x76, 0x6c, 0x2e, 0x66, 0x79, 0x69, 0x2f, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x63, - 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x67, 0x6f, 0x3b, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x42, 0x22, 0x5a, 0x20, 0x73, 0x6e, 0x69, + 0x78, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x3b, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( - file_tvix_castore_protos_rpc_blobstore_proto_rawDescOnce sync.Once - file_tvix_castore_protos_rpc_blobstore_proto_rawDescData []byte + file_snix_castore_protos_rpc_blobstore_proto_rawDescOnce sync.Once + file_snix_castore_protos_rpc_blobstore_proto_rawDescData []byte ) -func file_tvix_castore_protos_rpc_blobstore_proto_rawDescGZIP() []byte { - file_tvix_castore_protos_rpc_blobstore_proto_rawDescOnce.Do(func() { - file_tvix_castore_protos_rpc_blobstore_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_tvix_castore_protos_rpc_blobstore_proto_rawDesc), len(file_tvix_castore_protos_rpc_blobstore_proto_rawDesc))) +func file_snix_castore_protos_rpc_blobstore_proto_rawDescGZIP() []byte { + file_snix_castore_protos_rpc_blobstore_proto_rawDescOnce.Do(func() { + file_snix_castore_protos_rpc_blobstore_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_snix_castore_protos_rpc_blobstore_proto_rawDesc), len(file_snix_castore_protos_rpc_blobstore_proto_rawDesc))) }) - return file_tvix_castore_protos_rpc_blobstore_proto_rawDescData + return file_snix_castore_protos_rpc_blobstore_proto_rawDescData } -var file_tvix_castore_protos_rpc_blobstore_proto_msgTypes = make([]protoimpl.MessageInfo, 6) -var file_tvix_castore_protos_rpc_blobstore_proto_goTypes = []any{ - (*StatBlobRequest)(nil), // 0: tvix.castore.v1.StatBlobRequest - (*StatBlobResponse)(nil), // 1: tvix.castore.v1.StatBlobResponse - (*ReadBlobRequest)(nil), // 2: tvix.castore.v1.ReadBlobRequest - (*BlobChunk)(nil), // 3: tvix.castore.v1.BlobChunk - (*PutBlobResponse)(nil), // 4: tvix.castore.v1.PutBlobResponse - (*StatBlobResponse_ChunkMeta)(nil), // 5: tvix.castore.v1.StatBlobResponse.ChunkMeta +var file_snix_castore_protos_rpc_blobstore_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_snix_castore_protos_rpc_blobstore_proto_goTypes = []any{ + (*StatBlobRequest)(nil), // 0: snix.castore.v1.StatBlobRequest + (*StatBlobResponse)(nil), // 1: snix.castore.v1.StatBlobResponse + (*ReadBlobRequest)(nil), // 2: snix.castore.v1.ReadBlobRequest + (*BlobChunk)(nil), // 3: snix.castore.v1.BlobChunk + (*PutBlobResponse)(nil), // 4: snix.castore.v1.PutBlobResponse + (*StatBlobResponse_ChunkMeta)(nil), // 5: snix.castore.v1.StatBlobResponse.ChunkMeta } -var file_tvix_castore_protos_rpc_blobstore_proto_depIdxs = []int32{ - 5, // 0: tvix.castore.v1.StatBlobResponse.chunks:type_name -> tvix.castore.v1.StatBlobResponse.ChunkMeta - 0, // 1: tvix.castore.v1.BlobService.Stat:input_type -> tvix.castore.v1.StatBlobRequest - 2, // 2: tvix.castore.v1.BlobService.Read:input_type -> tvix.castore.v1.ReadBlobRequest - 3, // 3: tvix.castore.v1.BlobService.Put:input_type -> tvix.castore.v1.BlobChunk - 1, // 4: tvix.castore.v1.BlobService.Stat:output_type -> tvix.castore.v1.StatBlobResponse - 3, // 5: tvix.castore.v1.BlobService.Read:output_type -> tvix.castore.v1.BlobChunk - 4, // 6: tvix.castore.v1.BlobService.Put:output_type -> tvix.castore.v1.PutBlobResponse +var file_snix_castore_protos_rpc_blobstore_proto_depIdxs = []int32{ + 5, // 0: snix.castore.v1.StatBlobResponse.chunks:type_name -> snix.castore.v1.StatBlobResponse.ChunkMeta + 0, // 1: snix.castore.v1.BlobService.Stat:input_type -> snix.castore.v1.StatBlobRequest + 2, // 2: snix.castore.v1.BlobService.Read:input_type -> snix.castore.v1.ReadBlobRequest + 3, // 3: snix.castore.v1.BlobService.Put:input_type -> snix.castore.v1.BlobChunk + 1, // 4: snix.castore.v1.BlobService.Stat:output_type -> snix.castore.v1.StatBlobResponse + 3, // 5: snix.castore.v1.BlobService.Read:output_type -> snix.castore.v1.BlobChunk + 4, // 6: snix.castore.v1.BlobService.Put:output_type -> snix.castore.v1.PutBlobResponse 4, // [4:7] is the sub-list for method output_type 1, // [1:4] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name @@ -421,26 +422,26 @@ var file_tvix_castore_protos_rpc_blobstore_proto_depIdxs = []int32{ 0, // [0:1] is the sub-list for field type_name } -func init() { file_tvix_castore_protos_rpc_blobstore_proto_init() } -func file_tvix_castore_protos_rpc_blobstore_proto_init() { - if File_tvix_castore_protos_rpc_blobstore_proto != nil { +func init() { file_snix_castore_protos_rpc_blobstore_proto_init() } +func file_snix_castore_protos_rpc_blobstore_proto_init() { + if File_snix_castore_protos_rpc_blobstore_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_tvix_castore_protos_rpc_blobstore_proto_rawDesc), len(file_tvix_castore_protos_rpc_blobstore_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_snix_castore_protos_rpc_blobstore_proto_rawDesc), len(file_snix_castore_protos_rpc_blobstore_proto_rawDesc)), NumEnums: 0, NumMessages: 6, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_tvix_castore_protos_rpc_blobstore_proto_goTypes, - DependencyIndexes: file_tvix_castore_protos_rpc_blobstore_proto_depIdxs, - MessageInfos: file_tvix_castore_protos_rpc_blobstore_proto_msgTypes, + GoTypes: file_snix_castore_protos_rpc_blobstore_proto_goTypes, + DependencyIndexes: file_snix_castore_protos_rpc_blobstore_proto_depIdxs, + MessageInfos: file_snix_castore_protos_rpc_blobstore_proto_msgTypes, }.Build() - File_tvix_castore_protos_rpc_blobstore_proto = out.File - file_tvix_castore_protos_rpc_blobstore_proto_goTypes = nil - file_tvix_castore_protos_rpc_blobstore_proto_depIdxs = nil + File_snix_castore_protos_rpc_blobstore_proto = out.File + file_snix_castore_protos_rpc_blobstore_proto_goTypes = nil + file_snix_castore_protos_rpc_blobstore_proto_depIdxs = nil } diff --git a/tvix/castore-go/rpc_blobstore_grpc.pb.go b/snix/castore-go/rpc_blobstore_grpc.pb.go similarity index 96% rename from tvix/castore-go/rpc_blobstore_grpc.pb.go rename to snix/castore-go/rpc_blobstore_grpc.pb.go index 18a7a06af..35dd19e58 100644 --- a/tvix/castore-go/rpc_blobstore_grpc.pb.go +++ b/snix/castore-go/rpc_blobstore_grpc.pb.go @@ -1,11 +1,12 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) -// source: tvix/castore/protos/rpc_blobstore.proto +// source: snix/castore/protos/rpc_blobstore.proto package castorev1 @@ -22,9 +23,9 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - BlobService_Stat_FullMethodName = "/tvix.castore.v1.BlobService/Stat" - BlobService_Read_FullMethodName = "/tvix.castore.v1.BlobService/Read" - BlobService_Put_FullMethodName = "/tvix.castore.v1.BlobService/Put" + BlobService_Stat_FullMethodName = "/snix.castore.v1.BlobService/Stat" + BlobService_Read_FullMethodName = "/snix.castore.v1.BlobService/Read" + BlobService_Put_FullMethodName = "/snix.castore.v1.BlobService/Put" ) // BlobServiceClient is the client API for BlobService service. @@ -223,7 +224,7 @@ type BlobService_PutServer = grpc.ClientStreamingServer[BlobChunk, PutBlobRespon // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var BlobService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "tvix.castore.v1.BlobService", + ServiceName: "snix.castore.v1.BlobService", HandlerType: (*BlobServiceServer)(nil), Methods: []grpc.MethodDesc{ { @@ -243,5 +244,5 @@ var BlobService_ServiceDesc = grpc.ServiceDesc{ ClientStreams: true, }, }, - Metadata: "tvix/castore/protos/rpc_blobstore.proto", + Metadata: "snix/castore/protos/rpc_blobstore.proto", } diff --git a/tvix/castore-go/rpc_directory.pb.go b/snix/castore-go/rpc_directory.pb.go similarity index 68% rename from tvix/castore-go/rpc_directory.pb.go rename to snix/castore-go/rpc_directory.pb.go index 856efb27b..f608d010f 100644 --- a/tvix/castore-go/rpc_directory.pb.go +++ b/snix/castore-go/rpc_directory.pb.go @@ -1,11 +1,12 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.5 // protoc (unknown) -// source: tvix/castore/protos/rpc_directory.proto +// source: snix/castore/protos/rpc_directory.proto package castorev1 @@ -41,7 +42,7 @@ type GetDirectoryRequest struct { func (x *GetDirectoryRequest) Reset() { *x = GetDirectoryRequest{} - mi := &file_tvix_castore_protos_rpc_directory_proto_msgTypes[0] + mi := &file_snix_castore_protos_rpc_directory_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -53,7 +54,7 @@ func (x *GetDirectoryRequest) String() string { func (*GetDirectoryRequest) ProtoMessage() {} func (x *GetDirectoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_rpc_directory_proto_msgTypes[0] + mi := &file_snix_castore_protos_rpc_directory_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -66,7 +67,7 @@ func (x *GetDirectoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDirectoryRequest.ProtoReflect.Descriptor instead. func (*GetDirectoryRequest) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_rpc_directory_proto_rawDescGZIP(), []int{0} + return file_snix_castore_protos_rpc_directory_proto_rawDescGZIP(), []int{0} } func (x *GetDirectoryRequest) GetByWhat() isGetDirectoryRequest_ByWhat { @@ -114,7 +115,7 @@ type PutDirectoryResponse struct { func (x *PutDirectoryResponse) Reset() { *x = PutDirectoryResponse{} - mi := &file_tvix_castore_protos_rpc_directory_proto_msgTypes[1] + mi := &file_snix_castore_protos_rpc_directory_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126,7 +127,7 @@ func (x *PutDirectoryResponse) String() string { func (*PutDirectoryResponse) ProtoMessage() {} func (x *PutDirectoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_tvix_castore_protos_rpc_directory_proto_msgTypes[1] + mi := &file_snix_castore_protos_rpc_directory_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -139,7 +140,7 @@ func (x *PutDirectoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PutDirectoryResponse.ProtoReflect.Descriptor instead. func (*PutDirectoryResponse) Descriptor() ([]byte, []int) { - return file_tvix_castore_protos_rpc_directory_proto_rawDescGZIP(), []int{1} + return file_snix_castore_protos_rpc_directory_proto_rawDescGZIP(), []int{1} } func (x *PutDirectoryResponse) GetRootDigest() []byte { @@ -149,13 +150,13 @@ func (x *PutDirectoryResponse) GetRootDigest() []byte { return nil } -var File_tvix_castore_protos_rpc_directory_proto protoreflect.FileDescriptor +var File_snix_castore_protos_rpc_directory_proto protoreflect.FileDescriptor -var file_tvix_castore_protos_rpc_directory_proto_rawDesc = string([]byte{ - 0x0a, 0x27, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, +var file_snix_castore_protos_rpc_directory_proto_rawDesc = string([]byte{ + 0x0a, 0x27, 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x74, 0x76, 0x69, 0x78, 0x2e, - 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x21, 0x74, 0x76, 0x69, 0x78, + 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x73, 0x6e, 0x69, 0x78, 0x2e, + 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x21, 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, @@ -168,44 +169,44 @@ var file_tvix_castore_protos_rpc_directory_proto_rawDesc = string([]byte{ 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x32, 0xa9, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x74, - 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x73, + 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x30, 0x01, - 0x12, 0x4a, 0x0a, 0x03, 0x50, 0x75, 0x74, 0x12, 0x1a, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, + 0x12, 0x4a, 0x0a, 0x03, 0x50, 0x75, 0x74, 0x12, 0x1a, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x1a, 0x25, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, + 0x6f, 0x72, 0x79, 0x1a, 0x25, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x42, 0x28, 0x5a, 0x26, - 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x76, 0x6c, 0x2e, 0x66, 0x79, 0x69, 0x2f, 0x74, 0x76, 0x69, - 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x67, 0x6f, 0x3b, 0x63, 0x61, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x42, 0x22, 0x5a, 0x20, + 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x76, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( - file_tvix_castore_protos_rpc_directory_proto_rawDescOnce sync.Once - file_tvix_castore_protos_rpc_directory_proto_rawDescData []byte + file_snix_castore_protos_rpc_directory_proto_rawDescOnce sync.Once + file_snix_castore_protos_rpc_directory_proto_rawDescData []byte ) -func file_tvix_castore_protos_rpc_directory_proto_rawDescGZIP() []byte { - file_tvix_castore_protos_rpc_directory_proto_rawDescOnce.Do(func() { - file_tvix_castore_protos_rpc_directory_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_tvix_castore_protos_rpc_directory_proto_rawDesc), len(file_tvix_castore_protos_rpc_directory_proto_rawDesc))) +func file_snix_castore_protos_rpc_directory_proto_rawDescGZIP() []byte { + file_snix_castore_protos_rpc_directory_proto_rawDescOnce.Do(func() { + file_snix_castore_protos_rpc_directory_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_snix_castore_protos_rpc_directory_proto_rawDesc), len(file_snix_castore_protos_rpc_directory_proto_rawDesc))) }) - return file_tvix_castore_protos_rpc_directory_proto_rawDescData + return file_snix_castore_protos_rpc_directory_proto_rawDescData } -var file_tvix_castore_protos_rpc_directory_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_tvix_castore_protos_rpc_directory_proto_goTypes = []any{ - (*GetDirectoryRequest)(nil), // 0: tvix.castore.v1.GetDirectoryRequest - (*PutDirectoryResponse)(nil), // 1: tvix.castore.v1.PutDirectoryResponse - (*Directory)(nil), // 2: tvix.castore.v1.Directory +var file_snix_castore_protos_rpc_directory_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_snix_castore_protos_rpc_directory_proto_goTypes = []any{ + (*GetDirectoryRequest)(nil), // 0: snix.castore.v1.GetDirectoryRequest + (*PutDirectoryResponse)(nil), // 1: snix.castore.v1.PutDirectoryResponse + (*Directory)(nil), // 2: snix.castore.v1.Directory } -var file_tvix_castore_protos_rpc_directory_proto_depIdxs = []int32{ - 0, // 0: tvix.castore.v1.DirectoryService.Get:input_type -> tvix.castore.v1.GetDirectoryRequest - 2, // 1: tvix.castore.v1.DirectoryService.Put:input_type -> tvix.castore.v1.Directory - 2, // 2: tvix.castore.v1.DirectoryService.Get:output_type -> tvix.castore.v1.Directory - 1, // 3: tvix.castore.v1.DirectoryService.Put:output_type -> tvix.castore.v1.PutDirectoryResponse +var file_snix_castore_protos_rpc_directory_proto_depIdxs = []int32{ + 0, // 0: snix.castore.v1.DirectoryService.Get:input_type -> snix.castore.v1.GetDirectoryRequest + 2, // 1: snix.castore.v1.DirectoryService.Put:input_type -> snix.castore.v1.Directory + 2, // 2: snix.castore.v1.DirectoryService.Get:output_type -> snix.castore.v1.Directory + 1, // 3: snix.castore.v1.DirectoryService.Put:output_type -> snix.castore.v1.PutDirectoryResponse 2, // [2:4] is the sub-list for method output_type 0, // [0:2] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name @@ -213,30 +214,30 @@ var file_tvix_castore_protos_rpc_directory_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for field type_name } -func init() { file_tvix_castore_protos_rpc_directory_proto_init() } -func file_tvix_castore_protos_rpc_directory_proto_init() { - if File_tvix_castore_protos_rpc_directory_proto != nil { +func init() { file_snix_castore_protos_rpc_directory_proto_init() } +func file_snix_castore_protos_rpc_directory_proto_init() { + if File_snix_castore_protos_rpc_directory_proto != nil { return } - file_tvix_castore_protos_castore_proto_init() - file_tvix_castore_protos_rpc_directory_proto_msgTypes[0].OneofWrappers = []any{ + file_snix_castore_protos_castore_proto_init() + file_snix_castore_protos_rpc_directory_proto_msgTypes[0].OneofWrappers = []any{ (*GetDirectoryRequest_Digest)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_tvix_castore_protos_rpc_directory_proto_rawDesc), len(file_tvix_castore_protos_rpc_directory_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_snix_castore_protos_rpc_directory_proto_rawDesc), len(file_snix_castore_protos_rpc_directory_proto_rawDesc)), NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_tvix_castore_protos_rpc_directory_proto_goTypes, - DependencyIndexes: file_tvix_castore_protos_rpc_directory_proto_depIdxs, - MessageInfos: file_tvix_castore_protos_rpc_directory_proto_msgTypes, + GoTypes: file_snix_castore_protos_rpc_directory_proto_goTypes, + DependencyIndexes: file_snix_castore_protos_rpc_directory_proto_depIdxs, + MessageInfos: file_snix_castore_protos_rpc_directory_proto_msgTypes, }.Build() - File_tvix_castore_protos_rpc_directory_proto = out.File - file_tvix_castore_protos_rpc_directory_proto_goTypes = nil - file_tvix_castore_protos_rpc_directory_proto_depIdxs = nil + File_snix_castore_protos_rpc_directory_proto = out.File + file_snix_castore_protos_rpc_directory_proto_goTypes = nil + file_snix_castore_protos_rpc_directory_proto_depIdxs = nil } diff --git a/tvix/castore-go/rpc_directory_grpc.pb.go b/snix/castore-go/rpc_directory_grpc.pb.go similarity index 96% rename from tvix/castore-go/rpc_directory_grpc.pb.go rename to snix/castore-go/rpc_directory_grpc.pb.go index 7a9719df4..a3768d520 100644 --- a/tvix/castore-go/rpc_directory_grpc.pb.go +++ b/snix/castore-go/rpc_directory_grpc.pb.go @@ -1,11 +1,12 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) -// source: tvix/castore/protos/rpc_directory.proto +// source: snix/castore/protos/rpc_directory.proto package castorev1 @@ -22,8 +23,8 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - DirectoryService_Get_FullMethodName = "/tvix.castore.v1.DirectoryService/Get" - DirectoryService_Put_FullMethodName = "/tvix.castore.v1.DirectoryService/Put" + DirectoryService_Get_FullMethodName = "/snix.castore.v1.DirectoryService/Get" + DirectoryService_Put_FullMethodName = "/snix.castore.v1.DirectoryService/Put" ) // DirectoryServiceClient is the client API for DirectoryService service. @@ -177,7 +178,7 @@ type DirectoryService_PutServer = grpc.ClientStreamingServer[Directory, PutDirec // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var DirectoryService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "tvix.castore.v1.DirectoryService", + ServiceName: "snix.castore.v1.DirectoryService", HandlerType: (*DirectoryServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ @@ -192,5 +193,5 @@ var DirectoryService_ServiceDesc = grpc.ServiceDesc{ ClientStreams: true, }, }, - Metadata: "tvix/castore/protos/rpc_directory.proto", + Metadata: "snix/castore/protos/rpc_directory.proto", } diff --git a/tvix/castore/Cargo.toml b/snix/castore/Cargo.toml similarity index 97% rename from tvix/castore/Cargo.toml rename to snix/castore/Cargo.toml index 0a99f306f..65f85cc4e 100644 --- a/tvix/castore/Cargo.toml +++ b/snix/castore/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tvix-castore" +name = "snix-castore" version = "0.1.0" edition = "2021" @@ -29,7 +29,7 @@ tonic.workspace = true tower.workspace = true tracing.workspace = true tracing-indicatif.workspace = true -tvix-tracing = { path = "../tracing", features = ["tonic"] } +snix-tracing = { path = "../tracing", features = ["tonic"] } url.workspace = true walkdir.workspace = true zstd.workspace = true diff --git a/tvix/castore/build.rs b/snix/castore/build.rs similarity index 81% rename from tvix/castore/build.rs rename to snix/castore/build.rs index 2250d4ebf..0d811ef8f 100644 --- a/tvix/castore/build.rs +++ b/snix/castore/build.rs @@ -7,7 +7,7 @@ fn main() -> Result<()> { #[cfg(feature = "tonic-reflection")] { let out_dir = std::path::PathBuf::from(std::env::var("OUT_DIR").unwrap()); - let descriptor_path = out_dir.join("tvix.castore.v1.bin"); + let descriptor_path = out_dir.join("snix.castore.v1.bin"); builder = builder.file_descriptor_set_path(descriptor_path); }; @@ -20,9 +20,9 @@ fn main() -> Result<()> { .type_attribute(".", "#[derive(Eq, Hash)]") .compile_protos( &[ - "tvix/castore/protos/castore.proto", - "tvix/castore/protos/rpc_blobstore.proto", - "tvix/castore/protos/rpc_directory.proto", + "snix/castore/protos/castore.proto", + "snix/castore/protos/rpc_blobstore.proto", + "snix/castore/protos/rpc_directory.proto", ], // If we are in running `cargo build` manually, using `../..` works fine, // but in case we run inside a nix build, we need to instead point PROTO_ROOT diff --git a/tvix/castore/default.nix b/snix/castore/default.nix similarity index 83% rename from tvix/castore/default.nix rename to snix/castore/default.nix index 47c9a9998..eda566118 100644 --- a/tvix/castore/default.nix +++ b/snix/castore/default.nix @@ -1,13 +1,13 @@ { depot, pkgs, lib, ... }: -(depot.tvix.crates.workspaceMembers.tvix-castore.build.override { +(depot.snix.crates.workspaceMembers.snix-castore.build.override { runTests = true; testPreRun = '' export SSL_CERT_FILE=/dev/null ''; }).overrideAttrs (old: rec { meta.ci.targets = [ "integration-tests" ] ++ lib.filter (x: lib.hasPrefix "with-features" x || x == "no-features") (lib.attrNames passthru); - passthru = (depot.tvix.utils.mkFeaturePowerset { + passthru = (depot.snix.utils.mkFeaturePowerset { inherit (old) crateName; features = ([ "cloud" "fuse" "tonic-reflection" "xp-composition-url-refs" ] # virtiofs feature currently fails to build on Darwin @@ -16,7 +16,7 @@ export SSL_CERT_FILE=/dev/null ''; }) // { - integration-tests = depot.tvix.crates.workspaceMembers.${old.crateName}.build.override (old: { + integration-tests = depot.snix.crates.workspaceMembers.${old.crateName}.build.override (old: { runTests = true; testPreRun = '' export SSL_CERT_FILE=/dev/null diff --git a/tvix/castore/protos/LICENSE b/snix/castore/protos/LICENSE similarity index 97% rename from tvix/castore/protos/LICENSE rename to snix/castore/protos/LICENSE index 2034ada6f..948502a0a 100644 --- a/tvix/castore/protos/LICENSE +++ b/snix/castore/protos/LICENSE @@ -1,4 +1,5 @@ Copyright © The Tvix Authors +Copyright © The Snix Project Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/tvix/castore/protos/castore.proto b/snix/castore/protos/castore.proto similarity index 95% rename from tvix/castore/protos/castore.proto rename to snix/castore/protos/castore.proto index 1ef404404..d511ea4d3 100644 --- a/tvix/castore/protos/castore.proto +++ b/snix/castore/protos/castore.proto @@ -1,11 +1,12 @@ // SPDX-FileCopyrightText: edef // SPDX-License-Identifier: OSL-3.0 OR MIT OR Apache-2.0 +// Copyright © 2025 The Snix Project syntax = "proto3"; -package tvix.castore.v1; +package snix.castore.v1; -option go_package = "code.tvl.fyi/tvix/castore-go;castorev1"; +option go_package = "snix.dev/castore/proto;castorev1"; // A Directory can contain Directory, File or Symlink nodes. // Each of these nodes have a name attribute, which is the basename in that diff --git a/tvix/castore/protos/default.nix b/snix/castore/protos/default.nix similarity index 89% rename from tvix/castore/protos/default.nix rename to snix/castore/protos/default.nix index 08bb8fcfe..6a84640d5 100644 --- a/tvix/castore/protos/default.nix +++ b/snix/castore/protos/default.nix @@ -3,7 +3,7 @@ let protos = lib.sourceByRegex depot.path.origSrc [ "buf.yaml" "buf.gen.yaml" - "^tvix(/castore(/protos(/.*\.proto)?)?)?$" + "^snix(/castore(/protos(/.*\.proto)?)?)?$" ]; in depot.nix.readTree.drvTargets { @@ -42,7 +42,7 @@ depot.nix.readTree.drvTargets { buf generate mkdir -p $out - cp tvix/castore/protos/*.pb.go $out/ + cp snix/castore/protos/*.pb.go $out/ ''; }; } diff --git a/tvix/castore/protos/rpc_blobstore.proto b/snix/castore/protos/rpc_blobstore.proto similarity index 95% rename from tvix/castore/protos/rpc_blobstore.proto rename to snix/castore/protos/rpc_blobstore.proto index eebe39ace..8ea026e9e 100644 --- a/tvix/castore/protos/rpc_blobstore.proto +++ b/snix/castore/protos/rpc_blobstore.proto @@ -1,10 +1,11 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project syntax = "proto3"; -package tvix.castore.v1; +package snix.castore.v1; -option go_package = "code.tvl.fyi/tvix/castore-go;castorev1"; +option go_package = "snix.dev/castore/proto;castorev1"; // BlobService allows reading (or uploading) content-addressed blobs of data. // BLAKE3 is used as a hashing function for the data. Uploading a blob will diff --git a/tvix/castore/protos/rpc_directory.proto b/snix/castore/protos/rpc_directory.proto similarity index 92% rename from tvix/castore/protos/rpc_directory.proto rename to snix/castore/protos/rpc_directory.proto index f4f41c433..2c674bda4 100644 --- a/tvix/castore/protos/rpc_directory.proto +++ b/snix/castore/protos/rpc_directory.proto @@ -1,12 +1,13 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project syntax = "proto3"; -package tvix.castore.v1; +package snix.castore.v1; -import "tvix/castore/protos/castore.proto"; +import "snix/castore/protos/castore.proto"; -option go_package = "code.tvl.fyi/tvix/castore-go;castorev1"; +option go_package = "snix.dev/castore/proto;castorev1"; service DirectoryService { // Get retrieves a stream of Directory messages, by using the lookup diff --git a/tvix/castore/src/blobservice/chunked_reader.rs b/snix/castore/src/blobservice/chunked_reader.rs similarity index 100% rename from tvix/castore/src/blobservice/chunked_reader.rs rename to snix/castore/src/blobservice/chunked_reader.rs diff --git a/tvix/castore/src/blobservice/combinator.rs b/snix/castore/src/blobservice/combinator.rs similarity index 100% rename from tvix/castore/src/blobservice/combinator.rs rename to snix/castore/src/blobservice/combinator.rs diff --git a/tvix/castore/src/blobservice/from_addr.rs b/snix/castore/src/blobservice/from_addr.rs similarity index 100% rename from tvix/castore/src/blobservice/from_addr.rs rename to snix/castore/src/blobservice/from_addr.rs diff --git a/tvix/castore/src/blobservice/grpc.rs b/snix/castore/src/blobservice/grpc.rs similarity index 99% rename from tvix/castore/src/blobservice/grpc.rs rename to snix/castore/src/blobservice/grpc.rs index 9f3efbe67..8b1ab1d7f 100644 --- a/tvix/castore/src/blobservice/grpc.rs +++ b/snix/castore/src/blobservice/grpc.rs @@ -21,7 +21,7 @@ use tokio_util::{ use tonic::{async_trait, Code, Status}; use tracing::{instrument, Instrument as _}; -/// Connects to a (remote) tvix-store BlobService over gRPC. +/// Connects to a (remote) snix-store BlobService over gRPC. #[derive(Clone)] pub struct GRPCBlobService { instance_name: String, @@ -200,7 +200,7 @@ impl TryFrom for GRPCBlobServiceConfig { // normally grpc+unix for unix sockets, and grpc+http(s) for the HTTP counterparts. // - In the case of unix sockets, there must be a path, but may not be a host. // - In the case of non-unix sockets, there must be a host, but no path. - // Constructing the channel is handled by tvix_castore::channel::from_url. + // Constructing the channel is handled by snix_castore::channel::from_url. Ok(GRPCBlobServiceConfig { url: url.to_string(), }) diff --git a/tvix/castore/src/blobservice/memory.rs b/snix/castore/src/blobservice/memory.rs similarity index 100% rename from tvix/castore/src/blobservice/memory.rs rename to snix/castore/src/blobservice/memory.rs diff --git a/tvix/castore/src/blobservice/mod.rs b/snix/castore/src/blobservice/mod.rs similarity index 100% rename from tvix/castore/src/blobservice/mod.rs rename to snix/castore/src/blobservice/mod.rs diff --git a/tvix/castore/src/blobservice/object_store.rs b/snix/castore/src/blobservice/object_store.rs similarity index 99% rename from tvix/castore/src/blobservice/object_store.rs rename to snix/castore/src/blobservice/object_store.rs index 8bbe3415d..b9a0e6404 100644 --- a/tvix/castore/src/blobservice/object_store.rs +++ b/snix/castore/src/blobservice/object_store.rs @@ -27,7 +27,7 @@ use crate::{ use super::{BlobReader, BlobService, BlobWriter, ChunkedReader}; /// Uses any object storage supported by the [object_store] crate to provide a -/// tvix-castore [BlobService]. +/// snix-castore [BlobService]. /// /// # Data format /// Data is organized in "blobs" and "chunks". diff --git a/tvix/castore/src/blobservice/tests/mod.rs b/snix/castore/src/blobservice/tests/mod.rs similarity index 100% rename from tvix/castore/src/blobservice/tests/mod.rs rename to snix/castore/src/blobservice/tests/mod.rs diff --git a/tvix/castore/src/blobservice/tests/utils.rs b/snix/castore/src/blobservice/tests/utils.rs similarity index 100% rename from tvix/castore/src/blobservice/tests/utils.rs rename to snix/castore/src/blobservice/tests/utils.rs diff --git a/tvix/castore/src/composition.rs b/snix/castore/src/composition.rs similarity index 97% rename from tvix/castore/src/composition.rs rename to snix/castore/src/composition.rs index 7365d143f..263ff5c23 100644 --- a/tvix/castore/src/composition.rs +++ b/snix/castore/src/composition.rs @@ -16,8 +16,8 @@ //! ``` //! use std::sync::Arc; //! -//! use tvix_castore::composition::*; -//! use tvix_castore::blobservice::BlobService; +//! use snix_castore::composition::*; +//! use snix_castore::blobservice::BlobService; //! //! #[derive(serde::Deserialize)] //! struct MyBlobServiceConfig { @@ -50,8 +50,8 @@ //! //! ``` //! use std::sync::Arc; -//! use tvix_castore::composition::*; -//! use tvix_castore::blobservice::BlobService; +//! use snix_castore::composition::*; +//! use snix_castore::blobservice::BlobService; //! //! # fn main() -> Result<(), Box> { //! # tokio::runtime::Builder::new_current_thread().enable_all().build().unwrap().block_on(async move { @@ -81,9 +81,9 @@ //! ### Example 3.: Creating another registry extending the default registry with third-party types //! //! ``` -//! # pub fn add_my_service(reg: &mut tvix_castore::composition::Registry) {} -//! let mut my_registry = tvix_castore::composition::Registry::default(); -//! tvix_castore::composition::add_default_services(&mut my_registry); +//! # pub fn add_my_service(reg: &mut snix_castore::composition::Registry) {} +//! let mut my_registry = snix_castore::composition::Registry::default(); +//! snix_castore::composition::add_default_services(&mut my_registry); //! add_my_service(&mut my_registry); //! ``` //! @@ -260,7 +260,7 @@ pub fn with_registry(reg: &'static Registry, f: impl FnOnce() -> R) -> R { result } -/// The provided registry of tvix_castore, with all builtin BlobStore/DirectoryStore implementations +/// The provided registry of snix_castore, with all builtin BlobStore/DirectoryStore implementations pub static REG: LazyLock<&'static Registry> = LazyLock::new(|| { let mut reg = Default::default(); add_default_services(&mut reg); @@ -270,7 +270,7 @@ pub static REG: LazyLock<&'static Registry> = LazyLock::new(|| { // ---------- End of generic registry code --------- // -/// Register the builtin services of tvix_castore (blob services and directory +/// Register the builtin services of snix_castore (blob services and directory /// services) with the given registry. /// This can be used outside to create your own registry with the builtin types /// _and_ extra third party types. diff --git a/tvix/castore/src/digests.rs b/snix/castore/src/digests.rs similarity index 100% rename from tvix/castore/src/digests.rs rename to snix/castore/src/digests.rs diff --git a/tvix/castore/src/directoryservice/bigtable.rs b/snix/castore/src/directoryservice/bigtable.rs similarity index 100% rename from tvix/castore/src/directoryservice/bigtable.rs rename to snix/castore/src/directoryservice/bigtable.rs diff --git a/tvix/castore/src/directoryservice/combinators.rs b/snix/castore/src/directoryservice/combinators.rs similarity index 100% rename from tvix/castore/src/directoryservice/combinators.rs rename to snix/castore/src/directoryservice/combinators.rs diff --git a/tvix/castore/src/directoryservice/directory_graph.rs b/snix/castore/src/directoryservice/directory_graph.rs similarity index 100% rename from tvix/castore/src/directoryservice/directory_graph.rs rename to snix/castore/src/directoryservice/directory_graph.rs diff --git a/tvix/castore/src/directoryservice/from_addr.rs b/snix/castore/src/directoryservice/from_addr.rs similarity index 97% rename from tvix/castore/src/directoryservice/from_addr.rs rename to snix/castore/src/directoryservice/from_addr.rs index d50b5a35d..104e2fdef 100644 --- a/tvix/castore/src/directoryservice/from_addr.rs +++ b/snix/castore/src/directoryservice/from_addr.rs @@ -20,9 +20,9 @@ use super::DirectoryService; /// Uses redb, using a path on the disk for persistency. Can be only opened /// from one process at the same time. /// - `grpc+unix:///absolute/path/to/somewhere` -/// Connects to a local tvix-store gRPC service via Unix socket. +/// Connects to a local snix-store gRPC service via Unix socket. /// - `grpc+http://host:port`, `grpc+https://host:port` -/// Connects to a (remote) tvix-store gRPC service. +/// Connects to a (remote) snix-store gRPC service. pub async fn from_addr( uri: &str, ) -> Result, Box> { diff --git a/tvix/castore/src/directoryservice/grpc.rs b/snix/castore/src/directoryservice/grpc.rs similarity index 99% rename from tvix/castore/src/directoryservice/grpc.rs rename to snix/castore/src/directoryservice/grpc.rs index 3889a6eea..f42cceffd 100644 --- a/tvix/castore/src/directoryservice/grpc.rs +++ b/snix/castore/src/directoryservice/grpc.rs @@ -14,7 +14,7 @@ use tokio_stream::wrappers::UnboundedReceiverStream; use tonic::{async_trait, Code, Status}; use tracing::{instrument, warn, Instrument as _}; -/// Connects to a (remote) tvix-store DirectoryService over gRPC. +/// Connects to a (remote) snix-store DirectoryService over gRPC. #[derive(Clone)] pub struct GRPCDirectoryService { instance_name: String, @@ -231,7 +231,7 @@ impl TryFrom for GRPCDirectoryServiceConfig { // This is normally grpc+unix for unix sockets, and grpc+http(s) for the HTTP counterparts. // - In the case of unix sockets, there must be a path, but may not be a host. // - In the case of non-unix sockets, there must be a host, but no path. - // Constructing the channel is handled by tvix_castore::channel::from_url. + // Constructing the channel is handled by snix_castore::channel::from_url. Ok(GRPCDirectoryServiceConfig { url: url.to_string(), }) diff --git a/tvix/castore/src/directoryservice/memory.rs b/snix/castore/src/directoryservice/memory.rs similarity index 100% rename from tvix/castore/src/directoryservice/memory.rs rename to snix/castore/src/directoryservice/memory.rs diff --git a/tvix/castore/src/directoryservice/mod.rs b/snix/castore/src/directoryservice/mod.rs similarity index 100% rename from tvix/castore/src/directoryservice/mod.rs rename to snix/castore/src/directoryservice/mod.rs diff --git a/tvix/castore/src/directoryservice/object_store.rs b/snix/castore/src/directoryservice/object_store.rs similarity index 100% rename from tvix/castore/src/directoryservice/object_store.rs rename to snix/castore/src/directoryservice/object_store.rs diff --git a/tvix/castore/src/directoryservice/order_validator.rs b/snix/castore/src/directoryservice/order_validator.rs similarity index 100% rename from tvix/castore/src/directoryservice/order_validator.rs rename to snix/castore/src/directoryservice/order_validator.rs diff --git a/tvix/castore/src/directoryservice/redb.rs b/snix/castore/src/directoryservice/redb.rs similarity index 100% rename from tvix/castore/src/directoryservice/redb.rs rename to snix/castore/src/directoryservice/redb.rs diff --git a/tvix/castore/src/directoryservice/simple_putter.rs b/snix/castore/src/directoryservice/simple_putter.rs similarity index 100% rename from tvix/castore/src/directoryservice/simple_putter.rs rename to snix/castore/src/directoryservice/simple_putter.rs diff --git a/tvix/castore/src/directoryservice/tests/mod.rs b/snix/castore/src/directoryservice/tests/mod.rs similarity index 100% rename from tvix/castore/src/directoryservice/tests/mod.rs rename to snix/castore/src/directoryservice/tests/mod.rs diff --git a/tvix/castore/src/directoryservice/tests/utils.rs b/snix/castore/src/directoryservice/tests/utils.rs similarity index 100% rename from tvix/castore/src/directoryservice/tests/utils.rs rename to snix/castore/src/directoryservice/tests/utils.rs diff --git a/tvix/castore/src/directoryservice/traverse.rs b/snix/castore/src/directoryservice/traverse.rs similarity index 100% rename from tvix/castore/src/directoryservice/traverse.rs rename to snix/castore/src/directoryservice/traverse.rs diff --git a/tvix/castore/src/directoryservice/utils.rs b/snix/castore/src/directoryservice/utils.rs similarity index 100% rename from tvix/castore/src/directoryservice/utils.rs rename to snix/castore/src/directoryservice/utils.rs diff --git a/tvix/castore/src/errors.rs b/snix/castore/src/errors.rs similarity index 100% rename from tvix/castore/src/errors.rs rename to snix/castore/src/errors.rs diff --git a/tvix/castore/src/fixtures.rs b/snix/castore/src/fixtures.rs similarity index 100% rename from tvix/castore/src/fixtures.rs rename to snix/castore/src/fixtures.rs diff --git a/tvix/castore/src/fs/file_attr.rs b/snix/castore/src/fs/file_attr.rs similarity index 100% rename from tvix/castore/src/fs/file_attr.rs rename to snix/castore/src/fs/file_attr.rs diff --git a/tvix/castore/src/fs/fuse/mod.rs b/snix/castore/src/fs/fuse/mod.rs similarity index 99% rename from tvix/castore/src/fs/fuse/mod.rs rename to snix/castore/src/fs/fuse/mod.rs index 087aac258..f296b1647 100644 --- a/tvix/castore/src/fs/fuse/mod.rs +++ b/snix/castore/src/fs/fuse/mod.rs @@ -73,7 +73,7 @@ impl FuseDaemon { { let server = Arc::new(fuse_backend_rs::api::server::Server::new(Arc::new(fs))); - let mut session = FuseSession::new(mountpoint.as_ref(), "tvix-store", "", true) + let mut session = FuseSession::new(mountpoint.as_ref(), "snix-store", "", true) .map_err(|e| io::Error::new(io::ErrorKind::Other, e.to_string()))?; #[cfg(target_os = "linux")] diff --git a/tvix/castore/src/fs/fuse/tests.rs b/snix/castore/src/fs/fuse/tests.rs similarity index 99% rename from tvix/castore/src/fs/fuse/tests.rs rename to snix/castore/src/fs/fuse/tests.rs index 0d68af090..8e960c47d 100644 --- a/tvix/castore/src/fs/fuse/tests.rs +++ b/snix/castore/src/fs/fuse/tests.rs @@ -17,7 +17,7 @@ use crate::{ fixtures, Node, }; use crate::{ - fs::{TvixStoreFs, XATTR_NAME_BLOB_DIGEST, XATTR_NAME_DIRECTORY_DIGEST}, + fs::{SnixStoreFs, XATTR_NAME_BLOB_DIGEST, XATTR_NAME_DIRECTORY_DIGEST}, PathComponent, }; @@ -48,7 +48,7 @@ where BS: BlobService + Send + Sync + Clone + 'static, DS: DirectoryService + Send + Sync + Clone + 'static, { - let fs = TvixStoreFs::new( + let fs = SnixStoreFs::new( blob_service, directory_service, Arc::new(root_nodes), diff --git a/tvix/castore/src/fs/inode_tracker.rs b/snix/castore/src/fs/inode_tracker.rs similarity index 100% rename from tvix/castore/src/fs/inode_tracker.rs rename to snix/castore/src/fs/inode_tracker.rs diff --git a/tvix/castore/src/fs/inodes.rs b/snix/castore/src/fs/inodes.rs similarity index 98% rename from tvix/castore/src/fs/inodes.rs rename to snix/castore/src/fs/inodes.rs index 2696fdede..7f0364982 100644 --- a/tvix/castore/src/fs/inodes.rs +++ b/snix/castore/src/fs/inodes.rs @@ -1,5 +1,5 @@ //! This module contains all the data structures used to track information -//! about inodes, which present tvix-castore nodes in a filesystem. +//! about inodes, which present snix-castore nodes in a filesystem. use std::time::Duration; use crate::{path::PathComponent, B3Digest, Node}; diff --git a/tvix/castore/src/fs/mod.rs b/snix/castore/src/fs/mod.rs similarity index 98% rename from tvix/castore/src/fs/mod.rs rename to snix/castore/src/fs/mod.rs index be61502be..081164b1a 100644 --- a/tvix/castore/src/fs/mod.rs +++ b/snix/castore/src/fs/mod.rs @@ -43,7 +43,7 @@ use tokio::{ }; use tracing::{debug, error, instrument, warn, Instrument as _, Span}; -/// This implements a read-only FUSE filesystem for a tvix-store +/// This implements a read-only FUSE filesystem for a snix-store /// with the passed [BlobService], [DirectoryService] and [RootNodes]. /// /// Linux uses inodes in filesystems. When implementing FUSE, most calls are @@ -74,8 +74,8 @@ use tracing::{debug, error, instrument, warn, Instrument as _, Span}; /// merkle structure is a DAG, not a tree, this also means we can't do "bucketed /// allocation", aka reserve Directory.size inodes for each directory node we /// explore. -/// Tests for this live in the tvix-store crate. -pub struct TvixStoreFs { +/// Tests for this live in the snix-store crate. +pub struct SnixStoreFs { blob_service: BS, directory_service: DS, root_nodes_provider: RN, @@ -119,7 +119,7 @@ pub struct TvixStoreFs { tokio_handle: tokio::runtime::Handle, } -impl TvixStoreFs +impl SnixStoreFs where BS: BlobService + Clone + Send, DS: DirectoryService + Clone + Send + 'static, @@ -297,11 +297,11 @@ where /// Buffer size of the channel providing nodes in the mount root const ROOT_NODES_BUFFER_SIZE: usize = 16; -const XATTR_NAME_DIRECTORY_DIGEST: &[u8] = b"user.tvix.castore.directory.digest"; -const XATTR_NAME_BLOB_DIGEST: &[u8] = b"user.tvix.castore.blob.digest"; +const XATTR_NAME_DIRECTORY_DIGEST: &[u8] = b"user.snix.castore.directory.digest"; +const XATTR_NAME_BLOB_DIGEST: &[u8] = b"user.snix.castore.blob.digest"; #[cfg(all(feature = "virtiofs", target_os = "linux"))] -impl fuse_backend_rs::api::filesystem::Layer for TvixStoreFs +impl fuse_backend_rs::api::filesystem::Layer for SnixStoreFs where BS: BlobService + Clone + Send + 'static, DS: DirectoryService + Send + Clone + 'static, @@ -312,7 +312,7 @@ where } } -impl FileSystem for TvixStoreFs +impl FileSystem for SnixStoreFs where BS: BlobService + Clone + Send + 'static, DS: DirectoryService + Send + Clone + 'static, diff --git a/tvix/castore/src/fs/root_nodes.rs b/snix/castore/src/fs/root_nodes.rs similarity index 95% rename from tvix/castore/src/fs/root_nodes.rs rename to snix/castore/src/fs/root_nodes.rs index 5ed1a4d8d..3f75e35f6 100644 --- a/tvix/castore/src/fs/root_nodes.rs +++ b/snix/castore/src/fs/root_nodes.rs @@ -4,7 +4,7 @@ use crate::{path::PathComponent, Error, Node}; use futures::stream::BoxStream; use tonic::async_trait; -/// Provides an interface for looking up root nodes in tvix-castore by given +/// Provides an interface for looking up root nodes in snix-castore by given /// a lookup key (usually the basename), and optionally allow a listing. #[async_trait] pub trait RootNodes: Send + Sync { diff --git a/tvix/castore/src/fs/virtiofs.rs b/snix/castore/src/fs/virtiofs.rs similarity index 99% rename from tvix/castore/src/fs/virtiofs.rs rename to snix/castore/src/fs/virtiofs.rs index d63e2f2bd..375e1cfd2 100644 --- a/tvix/castore/src/fs/virtiofs.rs +++ b/snix/castore/src/fs/virtiofs.rs @@ -227,7 +227,7 @@ where let listener = Listener::new(socket, true).unwrap(); let mut fs_daemon = - VhostUserDaemon::new(String::from("vhost-user-fs-tvix-store"), backend, guest_mem) + VhostUserDaemon::new(String::from("vhost-user-fs-snix-store"), backend, guest_mem) .map_err(|_| Error::NewDaemon)?; fs_daemon.start(listener).map_err(|_| Error::StartDaemon)?; diff --git a/tvix/castore/src/hashing_reader.rs b/snix/castore/src/hashing_reader.rs similarity index 100% rename from tvix/castore/src/hashing_reader.rs rename to snix/castore/src/hashing_reader.rs diff --git a/tvix/castore/src/import/archive.rs b/snix/castore/src/import/archive.rs similarity index 99% rename from tvix/castore/src/import/archive.rs rename to snix/castore/src/import/archive.rs index 4cbff687b..095de348b 100644 --- a/tvix/castore/src/import/archive.rs +++ b/snix/castore/src/import/archive.rs @@ -259,7 +259,7 @@ impl IngestionEntryGraph { let entry = self .graph .node_weight_mut(index) - .expect("Tvix bug: missing node entry"); + .expect("Snix bug: missing node entry"); debug_assert!(!(entry.is_dir() && new_entry.is_dir())); @@ -286,7 +286,7 @@ impl IngestionEntryGraph { fn get_node(&self, index: NodeIndex) -> &IngestionEntry { self.graph .node_weight(index) - .expect("Tvix bug: missing node entry") + .expect("Snix bug: missing node entry") } } diff --git a/tvix/castore/src/import/blobs.rs b/snix/castore/src/import/blobs.rs similarity index 99% rename from tvix/castore/src/import/blobs.rs rename to snix/castore/src/import/blobs.rs index 5e5f4c122..e62b2bc80 100644 --- a/tvix/castore/src/import/blobs.rs +++ b/snix/castore/src/import/blobs.rs @@ -134,7 +134,7 @@ where let digest = upload_blob(&blob_service, &path, expected_size, r).await?; - assert_eq!(digest, expected_digest, "Tvix bug: blob digest mismatch"); + assert_eq!(digest, expected_digest, "Snix bug: blob digest mismatch"); // Make sure we hold the permit until we finish writing the blob // to the [BlobService]. diff --git a/tvix/castore/src/import/error.rs b/snix/castore/src/import/error.rs similarity index 100% rename from tvix/castore/src/import/error.rs rename to snix/castore/src/import/error.rs diff --git a/tvix/castore/src/import/fs.rs b/snix/castore/src/import/fs.rs similarity index 96% rename from tvix/castore/src/import/fs.rs rename to snix/castore/src/import/fs.rs index eb1f1ef74..55790e7b3 100644 --- a/tvix/castore/src/import/fs.rs +++ b/snix/castore/src/import/fs.rs @@ -25,7 +25,7 @@ use super::ingest_entries; use super::IngestionEntry; use super::IngestionError; -/// Ingests the contents at a given path into the tvix store, interacting with a [BlobService] and +/// Ingests the contents at a given path into the snix store, interacting with a [BlobService] and /// [DirectoryService]. It returns the root node or an error. /// /// It does not follow symlinks at the root, they will be ingested as actual symlinks. @@ -139,11 +139,11 @@ where let fs_path = entry .path() .strip_prefix(prefix) - .expect("Tvix bug: failed to strip root path prefix"); + .expect("Snix bug: failed to strip root path prefix"); // convert to castore PathBuf let path = crate::path::PathBuf::from_host_path(fs_path, false) - .unwrap_or_else(|e| panic!("Tvix bug: walkdir direntry cannot be parsed: {}", e)); + .unwrap_or_else(|e| panic!("Snix bug: walkdir direntry cannot be parsed: {}", e)); if file_type.is_dir() { Ok(IngestionEntry::Dir { path }) @@ -167,7 +167,7 @@ where .instrument({ let span = info_span!("upload_blob", "indicatif.pb_show" = tracing::field::Empty); span.pb_set_message(&format!("Uploading blob for {:?}", fs_path)); - span.pb_set_style(&tvix_tracing::PB_TRANSFER_STYLE); + span.pb_set_style(&snix_tracing::PB_TRANSFER_STYLE); span }) diff --git a/tvix/castore/src/import/mod.rs b/snix/castore/src/import/mod.rs similarity index 97% rename from tvix/castore/src/import/mod.rs rename to snix/castore/src/import/mod.rs index 07a3dceff..fa9c003b4 100644 --- a/tvix/castore/src/import/mod.rs +++ b/snix/castore/src/import/mod.rs @@ -114,7 +114,7 @@ where let parent = entry .path() .parent() - .expect("Tvix bug: got entry with root node"); + .expect("Snix bug: got entry with root node"); if parent == crate::Path::ROOT { break node; @@ -142,12 +142,12 @@ where assert!( entries.count().await == 0, - "Tvix bug: left over elements in the stream" + "Snix bug: left over elements in the stream" ); assert!( directories.is_empty(), - "Tvix bug: left over directories after processing ingestion stream" + "Snix bug: left over directories after processing ingestion stream" ); // if there were directories uploaded, make sure we flush the putter, so @@ -164,7 +164,7 @@ where if let Node::Directory { digest, .. } = &root_node { debug_assert_eq!(&root_directory_digest, digest); } else { - unreachable!("Tvix bug: directory putter initialized but no root directory node"); + unreachable!("Snix bug: directory putter initialized but no root directory node"); } } }; diff --git a/tvix/castore/src/lib.rs b/snix/castore/src/lib.rs similarity index 100% rename from tvix/castore/src/lib.rs rename to snix/castore/src/lib.rs diff --git a/tvix/castore/src/nodes/directory.rs b/snix/castore/src/nodes/directory.rs similarity index 100% rename from tvix/castore/src/nodes/directory.rs rename to snix/castore/src/nodes/directory.rs diff --git a/tvix/castore/src/nodes/mod.rs b/snix/castore/src/nodes/mod.rs similarity index 96% rename from tvix/castore/src/nodes/mod.rs rename to snix/castore/src/nodes/mod.rs index 5f94c0e1c..f00193562 100644 --- a/tvix/castore/src/nodes/mod.rs +++ b/snix/castore/src/nodes/mod.rs @@ -1,4 +1,4 @@ -//! This holds types describing nodes in the tvix-castore model. +//! This holds types describing nodes in the snix-castore model. mod directory; mod symlink_target; diff --git a/tvix/castore/src/nodes/symlink_target.rs b/snix/castore/src/nodes/symlink_target.rs similarity index 100% rename from tvix/castore/src/nodes/symlink_target.rs rename to snix/castore/src/nodes/symlink_target.rs diff --git a/tvix/castore/src/path/component.rs b/snix/castore/src/path/component.rs similarity index 100% rename from tvix/castore/src/path/component.rs rename to snix/castore/src/path/component.rs diff --git a/tvix/castore/src/path/mod.rs b/snix/castore/src/path/mod.rs similarity index 99% rename from tvix/castore/src/path/mod.rs rename to snix/castore/src/path/mod.rs index a8ce9b6ad..0b3ae620f 100644 --- a/tvix/castore/src/path/mod.rs +++ b/snix/castore/src/path/mod.rs @@ -1,4 +1,4 @@ -//! Contains data structures to deal with Paths in the tvix-castore model. +//! Contains data structures to deal with Paths in the snix-castore model. use bstr::ByteSlice; use std::{ borrow::Borrow, @@ -346,7 +346,7 @@ mod test { // but maybe we want to disallow constructing paths like this as it's a // bad idea. #[case::cursed("C:\\a/b", 2)] - #[case::cursed("\\\\tvix-store", 1)] + #[case::cursed("\\\\snix-store", 1)] pub fn from_str(#[case] s: &str, #[case] num_components: usize) { let p: PathBuf = s.parse().expect("must parse"); diff --git a/tvix/castore/src/proto/grpc_blobservice_wrapper.rs b/snix/castore/src/proto/grpc_blobservice_wrapper.rs similarity index 100% rename from tvix/castore/src/proto/grpc_blobservice_wrapper.rs rename to snix/castore/src/proto/grpc_blobservice_wrapper.rs diff --git a/tvix/castore/src/proto/grpc_directoryservice_wrapper.rs b/snix/castore/src/proto/grpc_directoryservice_wrapper.rs similarity index 100% rename from tvix/castore/src/proto/grpc_directoryservice_wrapper.rs rename to snix/castore/src/proto/grpc_directoryservice_wrapper.rs diff --git a/tvix/castore/src/proto/mod.rs b/snix/castore/src/proto/mod.rs similarity index 99% rename from tvix/castore/src/proto/mod.rs rename to snix/castore/src/proto/mod.rs index 89c68a4ad..c98e8457e 100644 --- a/tvix/castore/src/proto/mod.rs +++ b/snix/castore/src/proto/mod.rs @@ -9,13 +9,13 @@ use crate::{path::PathComponent, B3Digest, DirectoryError}; pub use grpc_blobservice_wrapper::GRPCBlobServiceWrapper; pub use grpc_directoryservice_wrapper::GRPCDirectoryServiceWrapper; -tonic::include_proto!("tvix.castore.v1"); +tonic::include_proto!("snix.castore.v1"); #[cfg(feature = "tonic-reflection")] /// Compiled file descriptors for implementing [gRPC /// reflection](https://github.com/grpc/grpc/blob/master/doc/server-reflection.md) with e.g. /// [`tonic_reflection`](https://docs.rs/tonic-reflection). -pub const FILE_DESCRIPTOR_SET: &[u8] = tonic::include_file_descriptor_set!("tvix.castore.v1"); +pub const FILE_DESCRIPTOR_SET: &[u8] = tonic::include_file_descriptor_set!("snix.castore.v1"); #[cfg(test)] mod tests; diff --git a/tvix/castore/src/proto/tests/directory.rs b/snix/castore/src/proto/tests/directory.rs similarity index 100% rename from tvix/castore/src/proto/tests/directory.rs rename to snix/castore/src/proto/tests/directory.rs diff --git a/tvix/castore/src/proto/tests/mod.rs b/snix/castore/src/proto/tests/mod.rs similarity index 100% rename from tvix/castore/src/proto/tests/mod.rs rename to snix/castore/src/proto/tests/mod.rs diff --git a/tvix/castore/src/refscan.rs b/snix/castore/src/refscan.rs similarity index 99% rename from tvix/castore/src/refscan.rs rename to snix/castore/src/refscan.rs index 5ece57998..c6bd9e7f2 100644 --- a/tvix/castore/src/refscan.rs +++ b/snix/castore/src/refscan.rs @@ -2,7 +2,7 @@ //! given string. //! //! This is used for determining build references (see -//! //tvix/eval/docs/build-references.md for more details). +//! //snix/eval/docs/build-references.md for more details). //! //! The scanner itself is using the Wu-Manber string-matching algorithm, using //! our fork of the `wu-mamber` crate. diff --git a/tvix/castore/src/tests/import.rs b/snix/castore/src/tests/import.rs similarity index 100% rename from tvix/castore/src/tests/import.rs rename to snix/castore/src/tests/import.rs diff --git a/tvix/castore/src/tests/mod.rs b/snix/castore/src/tests/mod.rs similarity index 100% rename from tvix/castore/src/tests/mod.rs rename to snix/castore/src/tests/mod.rs diff --git a/tvix/castore/src/tonic.rs b/snix/castore/src/tonic.rs similarity index 100% rename from tvix/castore/src/tonic.rs rename to snix/castore/src/tonic.rs diff --git a/tvix/castore/src/utils.rs b/snix/castore/src/utils.rs similarity index 91% rename from tvix/castore/src/utils.rs rename to snix/castore/src/utils.rs index 4f8f2c6be..66aca433b 100644 --- a/tvix/castore/src/utils.rs +++ b/snix/castore/src/utils.rs @@ -18,24 +18,24 @@ pub struct CompositionConfigs { >, } -/// Provides a set of clap arguments to configure tvix-castore services. +/// Provides a set of clap arguments to configure snix-castore services. /// /// This particular variant has defaults tailored for usecases accessing data -/// directly locally, like the `tvix-store daemon` command. +/// directly locally, like the `snix-store daemon` command. #[derive(clap::Parser, Clone)] #[group(id = "CastoreServiceUrls")] pub struct ServiceUrls { #[arg( long, env, - default_value = "objectstore+file:///var/lib/tvix-store/blobs.object_store" + default_value = "objectstore+file:///var/lib/snix-store/blobs.object_store" )] pub blob_service_addr: String, #[arg( long, env, - default_value = "redb:///var/lib/tvix-store/directories.redb" + default_value = "redb:///var/lib/snix-store/directories.redb" )] pub directory_service_addr: String, @@ -47,10 +47,10 @@ pub struct ServiceUrls { experimental_store_composition: Option, } -/// Provides a set of clap arguments to configure tvix-castore services. +/// Provides a set of clap arguments to configure snix-castore services. /// /// This particular variant has defaults tailored for usecases accessing data -/// from another running tvix daemon, via gRPC. +/// from another running snix daemon, via gRPC. #[derive(clap::Parser, Clone)] #[group(id = "CastoreServiceUrlsGrpc")] pub struct ServiceUrlsGrpc { @@ -65,11 +65,11 @@ pub struct ServiceUrlsGrpc { experimental_store_composition: Option, } -/// Provides a set of clap arguments to configure tvix-castore services. +/// Provides a set of clap arguments to configure snix-castore services. /// /// This particular variant has defaults tailored for usecases keeping all data /// in memory. -/// It's currently used in tvix-cli, as we don't really care about persistency +/// It's currently used in snix-cli, as we don't really care about persistency /// there yet, and using something else here might make some perf output harder /// to interpret. #[derive(clap::Parser, Clone)] diff --git a/tvix/cli/Cargo.toml b/snix/cli/Cargo.toml similarity index 63% rename from tvix/cli/Cargo.toml rename to snix/cli/Cargo.toml index c73fddbb0..44ec49f16 100644 --- a/tvix/cli/Cargo.toml +++ b/snix/cli/Cargo.toml @@ -1,18 +1,18 @@ [package] -name = "tvix-cli" +name = "snix-cli" version = "0.1.0" edition = "2021" [[bin]] -name = "tvix" +name = "snix" path = "src/main.rs" [dependencies] -tvix-build = { path = "../build" } -tvix-store = { path = "../store", default-features = false, features = []} -tvix-eval = { path = "../eval" } -tvix-glue = { path = "../glue" } -tvix-tracing = { path = "../tracing" } +snix-build = { path = "../build" } +snix-store = { path = "../store", default-features = false, features = []} +snix-eval = { path = "../eval" } +snix-glue = { path = "../glue" } +snix-tracing = { path = "../tracing" } bytes.workspace = true clap = { workspace = true, features = ["derive", "env"] } dirs.workspace = true @@ -33,5 +33,5 @@ expect-test.workspace = true [features] default = [] -tracy = ["tvix-tracing/tracy"] -xp-store-composition-cli = ["tvix-store/xp-composition-cli"] +tracy = ["snix-tracing/tracy"] +xp-store-composition-cli = ["snix-store/xp-composition-cli"] diff --git a/tvix/cli/default.nix b/snix/cli/default.nix similarity index 87% rename from tvix/cli/default.nix rename to snix/cli/default.nix index 175e088c2..1af0450d8 100644 --- a/tvix/cli/default.nix +++ b/snix/cli/default.nix @@ -1,6 +1,6 @@ { depot, pkgs, lib, ... }: -(depot.tvix.crates.workspaceMembers.tvix-cli.build.override { +(depot.snix.crates.workspaceMembers.snix-cli.build.override { runTests = true; testPreRun = '' export SSL_CERT_FILE=/dev/null @@ -8,7 +8,7 @@ }).overrideAttrs (finalAttrs: previousAttrs: let - tvix-cli = finalAttrs.finalPackage; + snix-cli = finalAttrs.finalPackage; benchmark-gnutime-format-string = description: @@ -23,18 +23,18 @@ let # You can run the benchmark with a simple `nix run`, like: # - # nix-build -A tvix.cli.meta.ci.extraSteps.benchmark-nixpkgs-cross-hello-outpath + # nix-build -A snix.cli.meta.ci.extraSteps.benchmark-nixpkgs-cross-hello-outpath # # TODO(amjoseph): store these results someplace more durable, like git trailers # mkExprBenchmark = { expr, description }: - let name = "tvix-cli-benchmark-${description}"; in + let name = "snix-cli-benchmark-${description}"; in (pkgs.runCommand name { } '' export SSL_CERT_FILE=/dev/null ${lib.escapeShellArgs [ "${pkgs.time}/bin/time" "--format" "${benchmark-gnutime-format-string description}" - "${tvix-cli}/bin/tvix" + "${snix-cli}/bin/snix" "--no-warnings" "-E" expr ]} @@ -47,8 +47,8 @@ let expr = "(import ${pkgs.path} {}).${attrpath}"; }; - # Constructs a Derivation invoking tvix-cli inside a build, ensures the - # calculated tvix output path matches what's passed in externally. + # Constructs a Derivation invoking snix-cli inside a build, ensures the + # calculated snix output path matches what's passed in externally. mkNixpkgsEvalTest = { attrPath ? null # An attribute that must already be accessible from `pkgs`. Should evaluate to a store path. , expr ? null # A Nix expression that should evaluate to a store path. @@ -56,15 +56,15 @@ let }: assert lib.assertMsg (attrPath != null || expr != null) "Either 'attrPath' or 'expr' must be set."; let - name = "tvix-eval-test-${builtins.replaceStrings [".drv"] ["-drv"] (if expr != null then "custom-expr" else attrPath)}"; + name = "snix-eval-test-${builtins.replaceStrings [".drv"] ["-drv"] (if expr != null then "custom-expr" else attrPath)}"; in (pkgs.runCommand name { } '' export SSL_CERT_FILE=/dev/null - TVIX_OUTPUT=$(${tvix-cli}/bin/tvix --no-warnings -E '${if expr != null then expr else "(import ${pkgs.path} {}).${attrPath}"}') - EXPECTED='${/* the verbatim expected Tvix output: */ "=> \"${builtins.unsafeDiscardStringContext expectedPath}\" :: string"}' + SNIX_OUTPUT=$(${snix-cli}/bin/snix --no-warnings -E '${if expr != null then expr else "(import ${pkgs.path} {}).${attrPath}"}') + EXPECTED='${/* the verbatim expected Snix output: */ "=> \"${builtins.unsafeDiscardStringContext expectedPath}\" :: string"}' - echo "Tvix output: ''${TVIX_OUTPUT}" - if [ "$TVIX_OUTPUT" != "$EXPECTED" ]; then + echo "Snix output: ''${SNIX_OUTPUT}" + if [ "$SNIX_OUTPUT" != "$EXPECTED" ]; then echo "Correct would have been ''${EXPECTED}" exit 1 fi @@ -92,7 +92,7 @@ let eval-nixpkgs-cross-stdenv-outpath = (mkNixpkgsEvalTest { attrPath = "pkgsCross.aarch64-multiplatform.stdenv.outPath"; expectedPath = pkgs.pkgsCross.aarch64-multiplatform.stdenv.outPath; }); eval-nixpkgs-cross-hello-outpath = (mkNixpkgsEvalTest { attrPath = "pkgsCross.aarch64-multiplatform.hello.outPath"; expectedPath = pkgs.pkgsCross.aarch64-multiplatform.hello.outPath; }); # Our CI runner currently uses Nix version lower than 2.12, which means it uses the old JSON library. - # The NixOS docs generate a JSON file with all the NixOS options, and so output is different between Tvix (and Nix 2.12+) and our CI runner's Nix version, + # The NixOS docs generate a JSON file with all the NixOS options, and so output is different between Snix (and Nix 2.12+) and our CI runner's Nix version, # so we disable the NixOS docs generation for now. TODO(kranzes): Re-enable NixOS docs once the CI runner is using a newer Nix version. eval-nixpkgs-nixos-gnome-installer-drvpath = (mkNixpkgsEvalTest { expr = "(import ${pkgs.path}/nixos/release.nix { configuration = { documentation.nixos.enable = (import ${pkgs.path}/lib).mkForce false; }; }).iso_gnome.${pkgs.system}.drvPath"; diff --git a/tvix/cli/src/args.rs b/snix/cli/src/args.rs similarity index 90% rename from tvix/cli/src/args.rs rename to snix/cli/src/args.rs index 27c949897..9ddc4bdec 100644 --- a/tvix/cli/src/args.rs +++ b/snix/cli/src/args.rs @@ -1,11 +1,11 @@ use std::path::PathBuf; use clap::Parser; -use tvix_store::utils::ServiceUrlsMemory; +use snix_store::utils::ServiceUrlsMemory; -/// Provides a CLI interface to trigger evaluation using tvix-eval. +/// Provides a CLI interface to trigger evaluation using snix-eval. /// -/// Uses configured tvix-{ca,}store and tvix-build components, +/// Uses configured snix-{ca,}store and snix-build components, /// and by default a set of builtins similar to these present in Nix. /// /// None of the stores available add to the local `/nix/store` location. @@ -20,23 +20,23 @@ pub struct Args { pub expr: Option, /// Dump the raw AST to stdout before interpreting - #[clap(long, env = "TVIX_DISPLAY_AST")] + #[clap(long, env = "SNIX_DISPLAY_AST")] pub display_ast: bool, /// Dump the bytecode to stdout before evaluating - #[clap(long, env = "TVIX_DUMP_BYTECODE")] + #[clap(long, env = "SNIX_DUMP_BYTECODE")] pub dump_bytecode: bool, /// Trace the runtime of the VM - #[clap(long, env = "TVIX_TRACE_RUNTIME")] + #[clap(long, env = "SNIX_TRACE_RUNTIME")] pub trace_runtime: bool, /// Capture the time (relative to the start time of evaluation) of all events traced with /// `--trace-runtime` - #[clap(long, env = "TVIX_TRACE_RUNTIME_TIMING", requires("trace_runtime"))] + #[clap(long, env = "SNIX_TRACE_RUNTIME_TIMING", requires("trace_runtime"))] pub trace_runtime_timing: bool, - /// Only compile, but do not execute code. This will make Tvix act + /// Only compile, but do not execute code. This will make Snix act /// sort of like a linter. #[clap(long)] pub compile_only: bool, @@ -76,7 +76,7 @@ pub struct Args { /// if produced by Nix. Existing files are not overwritten. /// /// This is only for debugging and diffing purposes for post-eval inspection; - /// Tvix does not read from these. + /// Snix does not read from these. #[clap(long)] pub drv_dumpdir: Option, } diff --git a/tvix/cli/src/assignment.rs b/snix/cli/src/assignment.rs similarity index 100% rename from tvix/cli/src/assignment.rs rename to snix/cli/src/assignment.rs diff --git a/tvix/cli/src/lib.rs b/snix/cli/src/lib.rs similarity index 91% rename from tvix/cli/src/lib.rs rename to snix/cli/src/lib.rs index ce3ece145..3ff333195 100644 --- a/tvix/cli/src/lib.rs +++ b/snix/cli/src/lib.rs @@ -3,21 +3,21 @@ use std::rc::Rc; use rustc_hash::FxHashMap; use smol_str::SmolStr; -use std::fmt::Write; -use tracing::{instrument, Span}; -use tracing_indicatif::span_ext::IndicatifSpanExt; -use tvix_build::buildservice; -use tvix_eval::{ +use snix_build::buildservice; +use snix_eval::{ builtins::impure_builtins, observer::{DisassemblingObserver, TracingObserver}, ErrorKind, EvalIO, EvalMode, GlobalsMap, SourceCode, Value, }; -use tvix_glue::{ +use snix_glue::{ builtins::{add_derivation_builtins, add_fetcher_builtins, add_import_builtins}, configure_nix_path, - tvix_io::TvixIO, - tvix_store_io::TvixStoreIO, + snix_io::SnixIO, + snix_store_io::SnixStoreIO, }; +use std::fmt::Write; +use tracing::{instrument, Span}; +use tracing_indicatif::span_ext::IndicatifSpanExt; pub mod args; pub mod assignment; @@ -26,10 +26,10 @@ pub mod repl; pub use args::Args; pub use repl::Repl; -pub fn init_io_handle(tokio_runtime: &tokio::runtime::Runtime, args: &Args) -> Rc { +pub fn init_io_handle(tokio_runtime: &tokio::runtime::Runtime, args: &Args) -> Rc { let (blob_service, directory_service, path_info_service, nar_calculation_service) = tokio_runtime - .block_on(tvix_store::utils::construct_services( + .block_on(snix_store::utils::construct_services( args.service_addrs.clone(), )) .expect("unable to setup {blob|directory|pathinfo}service before interpreter setup"); @@ -49,7 +49,7 @@ pub fn init_io_handle(tokio_runtime: &tokio::runtime::Runtime, args: &Args) -> R }) .expect("unable to setup buildservice before interpreter setup"); - Rc::new(TvixStoreIO::new( + Rc::new(SnixStoreIO::new( blob_service.clone(), directory_service.clone(), path_info_service, @@ -83,7 +83,7 @@ pub struct EvalResult { /// Interprets the given code snippet, printing out warnings and errors and returning the result #[allow(clippy::too_many_arguments)] pub fn evaluate( - tvix_store_io: Rc, + snix_store_io: Rc, code: &str, path: Option, args: &Args, @@ -94,11 +94,11 @@ pub fn evaluate( ) -> Result { let span = Span::current(); span.pb_start(); - span.pb_set_style(&tvix_tracing::PB_SPINNER_STYLE); + span.pb_set_style(&snix_tracing::PB_SPINNER_STYLE); span.pb_set_message("Setting up evaluator…"); - let mut eval_builder = tvix_eval::Evaluation::builder(Box::new(TvixIO::new( - tvix_store_io.clone() as Rc, + let mut eval_builder = snix_eval::Evaluation::builder(Box::new(SnixIO::new( + snix_store_io.clone() as Rc, )) as Box) .enable_import() .env(env); @@ -113,9 +113,9 @@ pub fn evaluate( } None => { eval_builder = eval_builder.add_builtins(impure_builtins()); - eval_builder = add_derivation_builtins(eval_builder, Rc::clone(&tvix_store_io)); - eval_builder = add_fetcher_builtins(eval_builder, Rc::clone(&tvix_store_io)); - eval_builder = add_import_builtins(eval_builder, Rc::clone(&tvix_store_io)); + eval_builder = add_derivation_builtins(eval_builder, Rc::clone(&snix_store_io)); + eval_builder = add_fetcher_builtins(eval_builder, Rc::clone(&snix_store_io)); + eval_builder = add_import_builtins(eval_builder, Rc::clone(&snix_store_io)); } }; eval_builder = configure_nix_path(eval_builder, &args.nix_path()); @@ -162,7 +162,7 @@ pub fn evaluate( if args.display_ast { if let Some(ref expr) = result.expr { - eprintln!("AST: {}", tvix_eval::pretty_print_expr(expr)); + eprintln!("AST: {}", snix_eval::pretty_print_expr(expr)); } } @@ -179,7 +179,7 @@ pub fn evaluate( if let Some(dumpdir) = &args.drv_dumpdir { // Dump all known derivations files to `dumpdir`. std::fs::create_dir_all(dumpdir).expect("failed to create drv dumpdir"); - tvix_store_io + snix_store_io .known_paths .borrow() .get_derivations() @@ -232,7 +232,7 @@ impl InterpretResult { #[instrument(skip_all, fields(indicatif.pb_show=tracing::field::Empty))] #[allow(clippy::too_many_arguments)] pub fn interpret( - tvix_store_io: Rc, + snix_store_io: Rc, code: &str, path: Option, args: &Args, @@ -244,7 +244,7 @@ pub fn interpret( ) -> Result { let mut output = String::new(); let result = evaluate( - tvix_store_io, + snix_store_io, code, path, args, diff --git a/tvix/cli/src/main.rs b/snix/cli/src/main.rs similarity index 83% rename from tvix/cli/src/main.rs rename to snix/cli/src/main.rs index e16127692..e7eaf3abd 100644 --- a/tvix/cli/src/main.rs +++ b/snix/cli/src/main.rs @@ -1,21 +1,21 @@ use clap::Parser; use mimalloc::MiMalloc; +use snix_cli::args::Args; +use snix_cli::repl::Repl; +use snix_cli::{init_io_handle, interpret, AllowIncomplete}; +use snix_eval::observer::DisassemblingObserver; +use snix_eval::EvalMode; +use snix_glue::snix_store_io::SnixStoreIO; use std::rc::Rc; use std::{fs, path::PathBuf}; -use tvix_cli::args::Args; -use tvix_cli::repl::Repl; -use tvix_cli::{init_io_handle, interpret, AllowIncomplete}; -use tvix_eval::observer::DisassemblingObserver; -use tvix_eval::EvalMode; -use tvix_glue::tvix_store_io::TvixStoreIO; #[global_allocator] static GLOBAL: MiMalloc = MiMalloc; -/// Interpret the given code snippet, but only run the Tvix compiler +/// Interpret the given code snippet, but only run the Svix compiler /// on it and return errors and warnings. fn lint(code: &str, path: Option, args: &Args) -> bool { - let mut eval_builder = tvix_eval::Evaluation::builder_impure(); + let mut eval_builder = snix_eval::Evaluation::builder_impure(); if args.strict { eval_builder = eval_builder.mode(EvalMode::Strict); @@ -38,7 +38,7 @@ fn lint(code: &str, path: Option, args: &Args) -> bool { if args.display_ast { if let Some(ref expr) = result.expr { - eprintln!("AST: {}", tvix_eval::pretty_print_expr(expr)); + eprintln!("AST: {}", snix_eval::pretty_print_expr(expr)); } } @@ -57,7 +57,7 @@ fn lint(code: &str, path: Option, args: &Args) -> bool { fn main() { let args = Args::parse(); - tvix_tracing::TracingBuilder::default() + snix_tracing::TracingBuilder::default() .enable_progressbar() .build() .expect("unable to set up tracing subscriber"); @@ -90,7 +90,7 @@ fn main() { } } -fn run_file(io_handle: Rc, mut path: PathBuf, args: &Args) { +fn run_file(io_handle: Rc, mut path: PathBuf, args: &Args) { if path.is_dir() { path.push("default.nix"); } diff --git a/tvix/cli/src/repl.rs b/snix/cli/src/repl.rs similarity index 96% rename from tvix/cli/src/repl.rs rename to snix/cli/src/repl.rs index e4b499609..3fbdf826a 100644 --- a/tvix/cli/src/repl.rs +++ b/snix/cli/src/repl.rs @@ -4,8 +4,8 @@ use std::rc::Rc; use rustc_hash::FxHashMap; use rustyline::{error::ReadlineError, Editor}; use smol_str::SmolStr; -use tvix_eval::{GlobalsMap, SourceCode, Value}; -use tvix_glue::tvix_store_io::TvixStoreIO; +use snix_eval::{GlobalsMap, SourceCode, Value}; +use snix_glue::snix_store_io::SnixStoreIO; use crate::{ assignment::Assignment, evaluate, interpret, AllowIncomplete, Args, IncompleteInput, @@ -15,7 +15,7 @@ use crate::{ fn state_dir() -> Option { let mut path = dirs::data_dir(); if let Some(p) = path.as_mut() { - p.push("tvix") + p.push("snix") } path } @@ -32,7 +32,7 @@ pub(crate) enum ReplCommand<'a> { impl<'a> ReplCommand<'a> { const HELP: &'static str = " -Welcome to the Tvix REPL! +Welcome to the Snix REPL! The following commands are supported: @@ -91,14 +91,14 @@ pub struct Repl<'a> { /// Local variables defined at the top-level in the repl env: FxHashMap, - io_handle: Rc, + io_handle: Rc, args: &'a Args, source_map: SourceCode, globals: Option>, } impl<'a> Repl<'a> { - pub fn new(io_handle: Rc, args: &'a Args) -> Self { + pub fn new(io_handle: Rc, args: &'a Args) -> Self { let rl = Editor::<()>::new().expect("should be able to launch rustyline"); Self { multiline_input: None, @@ -133,7 +133,7 @@ impl<'a> Repl<'a> { let prompt = if self.multiline_input.is_some() { " > " } else { - "tvix-repl> " + "snix-repl> " }; let readline = self.rl.readline(prompt); diff --git a/tvix/cli/tests/.skip-tree b/snix/cli/tests/.skip-tree similarity index 100% rename from tvix/cli/tests/.skip-tree rename to snix/cli/tests/.skip-tree diff --git a/tvix/cli/tests/import.nix b/snix/cli/tests/import.nix similarity index 100% rename from tvix/cli/tests/import.nix rename to snix/cli/tests/import.nix diff --git a/tvix/cli/tests/repl.rs b/snix/cli/tests/repl.rs similarity index 91% rename from tvix/cli/tests/repl.rs rename to snix/cli/tests/repl.rs index 072ccda7c..28b4b86a8 100644 --- a/tvix/cli/tests/repl.rs +++ b/snix/cli/tests/repl.rs @@ -2,19 +2,19 @@ use std::ffi::OsString; use clap::Parser; use expect_test::expect; -use tvix_cli::init_io_handle; +use snix_cli::init_io_handle; macro_rules! test_repl { ($name:ident() {$($send:expr => $expect:expr;)*}) => { #[test] fn $name() { let tokio_runtime = tokio::runtime::Runtime::new().unwrap(); - let args = tvix_cli::Args::parse_from(vec![ - OsString::from("tvix"), + let args = snix_cli::Args::parse_from(vec![ + OsString::from("snix"), OsString::from("--extra-nix-path"), OsString::from("nixpkgs=/tmp"), ]); - let mut repl = tvix_cli::Repl::new(init_io_handle(&tokio_runtime, &args), &args); + let mut repl = snix_cli::Repl::new(init_io_handle(&tokio_runtime, &args), &args); $({ let result = repl.send($send.into()); $expect.assert_eq(result.output()) diff --git a/tvix/cli/tests/six.nix b/snix/cli/tests/six.nix similarity index 100% rename from tvix/cli/tests/six.nix rename to snix/cli/tests/six.nix diff --git a/tvix/clippy.toml b/snix/clippy.toml similarity index 75% rename from tvix/clippy.toml rename to snix/clippy.toml index 31952cc80..bdce4ddfb 100644 --- a/tvix/clippy.toml +++ b/snix/clippy.toml @@ -3,6 +3,6 @@ ignore-interior-mutability = [ # make sure to specify the originating type name, not re-exports! "bytes::Bytes", - "tvix_castore::digests::B3Digest", - "tvix_castore::path::component::PathComponent" + "snix_castore::digests::B3Digest", + "snix_castore::path::component::PathComponent" ] diff --git a/tvix/crate-hashes.json b/snix/crate-hashes.json similarity index 100% rename from tvix/crate-hashes.json rename to snix/crate-hashes.json diff --git a/tvix/default.nix b/snix/default.nix similarity index 78% rename from tvix/default.nix rename to snix/default.nix index 1b103c89b..f9ba8b48d 100644 --- a/tvix/default.nix +++ b/snix/default.nix @@ -1,10 +1,10 @@ -# Nix helpers for projects under //tvix +# Nix helpers for projects under //snix { pkgs, lib, depot, ... }: let # Load the crate2nix crate tree. crates = pkgs.callPackage ./Cargo.nix { - defaultCrateOverrides = depot.tvix.utils.defaultCrateOverridesForPkgs pkgs; + defaultCrateOverrides = depot.snix.utils.defaultCrateOverridesForPkgs pkgs; }; # Cargo dependencies to be used with nixpkgs rustPlatform functions. @@ -25,14 +25,14 @@ let # The cleaned sources. src = depot.third_party.gitignoreSource ./.; - # Target containing *all* tvix proto files. + # Target containing *all* snix proto files. # Useful for workspace-wide cargo invocations (doc, clippy) protos = pkgs.symlinkJoin { - name = "tvix-all-protos"; + name = "snix-all-protos"; paths = [ - depot.tvix.build.protos.protos - depot.tvix.castore.protos.protos - depot.tvix.store.protos.protos + depot.snix.build.protos.protos + depot.snix.castore.protos.protos + depot.snix.store.protos.protos ]; }; @@ -40,7 +40,7 @@ in { inherit crates protos; - # Provide the Tvix logo in both .webp and .png format. + # Provide the snix logo in both .webp and .png format. logo = pkgs.runCommand "logo" { nativeBuildInputs = [ pkgs.imagemagick ]; @@ -50,24 +50,24 @@ in convert $out/logo.webp $out/logo.png ''; - # Provide a shell for the combined dependencies of all Tvix Rust + # Provide a shell for the combined dependencies of all snix Rust # projects. Note that as this is manually maintained it may be # lacking something, but it is required for some people's workflows. # - # This shell can be entered with e.g. `mg shell //tvix:shell`. - # This is a separate file, so it can be used individually in the tvix josh + # This shell can be entered with e.g. `mg shell //snix:shell`. + # This is a separate file, so it can be used individually in the snix josh # workspace too. shell = (import ./shell.nix { inherit pkgs; }); # Shell, but with tools necessary to run the integration tests shell-integration = (import ./shell.nix { inherit pkgs; withIntegration = true; }); - # Build the Rust documentation for publishing on docs.tvix.dev. + # Build the Rust documentation for publishing on docs.snix.dev. rust-docs = pkgs.stdenv.mkDerivation { inherit cargoDeps src; - name = "tvix-rust-docs"; + name = "snix-rust-docs"; PROTO_ROOT = protos; - TVIX_BUILD_SANDBOX_SHELL = "/homeless-shelter"; + SNIX_BUILD_SANDBOX_SHELL = "/homeless-shelter"; nativeBuildInputs = with pkgs; [ cargo @@ -91,9 +91,9 @@ in # exit code. clippy = pkgs.stdenv.mkDerivation { inherit cargoDeps src; - name = "tvix-clippy"; + name = "snix-clippy"; PROTO_ROOT = protos; - TVIX_BUILD_SANDBOX_SHELL = "/homeless-shelter"; + SNIX_BUILD_SANDBOX_SHELL = "/homeless-shelter"; buildInputs = [ pkgs.fuse @@ -112,7 +112,7 @@ in crate2nix-check = let - crate2nix-check = depot.tvix.utils.mkCrate2nixCheck ./Cargo.nix; + crate2nix-check = depot.snix.utils.mkCrate2nixCheck ./Cargo.nix; in crate2nix-check.command.overrideAttrs { meta.ci.extraSteps = { diff --git a/tvix/docs/.gitignore b/snix/docs/.gitignore similarity index 100% rename from tvix/docs/.gitignore rename to snix/docs/.gitignore diff --git a/tvix/docs/book.toml b/snix/docs/book.toml similarity index 100% rename from tvix/docs/book.toml rename to snix/docs/book.toml diff --git a/tvix/docs/default.nix b/snix/docs/default.nix similarity index 95% rename from tvix/docs/default.nix rename to snix/docs/default.nix index 3b102e4b7..1db1e7445 100644 --- a/tvix/docs/default.nix +++ b/snix/docs/default.nix @@ -1,7 +1,7 @@ { pkgs, lib, ... }: pkgs.stdenv.mkDerivation { - pname = "tvix-docs"; + pname = "snix-docs"; version = "0.1"; outputs = [ "out" ]; diff --git a/tvix/docs/mdbook-admonish.css b/snix/docs/mdbook-admonish.css similarity index 100% rename from tvix/docs/mdbook-admonish.css rename to snix/docs/mdbook-admonish.css diff --git a/tvix/docs/mdbook-extra.css b/snix/docs/mdbook-extra.css similarity index 100% rename from tvix/docs/mdbook-extra.css rename to snix/docs/mdbook-extra.css diff --git a/tvix/docs/mdbook-extra.js b/snix/docs/mdbook-extra.js similarity index 100% rename from tvix/docs/mdbook-extra.js rename to snix/docs/mdbook-extra.js diff --git a/tvix/docs/src/SUMMARY.md b/snix/docs/src/SUMMARY.md similarity index 100% rename from tvix/docs/src/SUMMARY.md rename to snix/docs/src/SUMMARY.md diff --git a/tvix/docs/src/TODO.md b/snix/docs/src/TODO.md similarity index 97% rename from tvix/docs/src/TODO.md rename to snix/docs/src/TODO.md index b52d66165..b328282b0 100644 --- a/tvix/docs/src/TODO.md +++ b/snix/docs/src/TODO.md @@ -11,7 +11,7 @@ sure noone is working on this, or has some specific design in mind already. ## Cleanups ### Nix language test suite - - Think about how to merge, but "categorize" `tvix_tests` in `glue` and `eval`. + - Think about how to merge, but "categorize" `snix_tests` in `glue` and `eval`. We currently only have this split as they need a different feature set / builtins. - move some of the rstest cases in `tvix-glue` to the `.nix`/`.exp` mechanism. @@ -20,7 +20,7 @@ sure noone is working on this, or has some specific design in mind already. suite to create these fixtures on demand. - extend `verify-lang-tests/default.nix` mechanism to validate `tvix-eval` and `tvix-glue` test cases (or the common structure above). - - absorb `eval/tests/nix_oracle.rs` into `tvix_tests`, or figure out why it's + - absorb `eval/tests/nix_oracle.rs` into `snix_tests`, or figure out why it's not possible (and document) it. It looks like it's only as nix is invoked with a different level of `--strict`, but the toplevel doc-comment suggests its generic? @@ -84,7 +84,7 @@ correctness: into the one `BlobReader`. ### Error cleanup - - Currently, all services use tvix_castore::Error, which only has two kinds + - Currently, all services use snix_castore::Error, which only has two kinds (invalid request, storage error), containing an (owned) string. This is quite primitive. We should have individual error types for BS, DS, PS. Maybe these should have some generics to still be able to carry errors from @@ -120,7 +120,7 @@ Extend the other pages in here. Some ideas on what should be tackled: and trait-focused? - Restructure docs on castore vs store, this seems to be duplicated a bit and is probably still not too clear. - - Absorb the rest of //tvix/website into this. + - Absorb the rest of //snix/website into this. ## Features @@ -145,7 +145,7 @@ there are ruled out, adding other types of builders might be interesting. - bwrap - gVisor - - Cloud Hypervisor (using similar technique as `//tvix//boot`). + - Cloud Hypervisor (using similar technique as `//snix//boot`). Long-term, we want to extend traits and gRPC protocol. This requires some more designing. Some goals: diff --git a/tvix/docs/src/architecture.md b/snix/docs/src/architecture.md similarity index 100% rename from tvix/docs/src/architecture.md rename to snix/docs/src/architecture.md diff --git a/tvix/docs/src/build/index.md b/snix/docs/src/build/index.md similarity index 97% rename from tvix/docs/src/build/index.md rename to snix/docs/src/build/index.md index 716d27ff9..14c66fbc3 100644 --- a/tvix/docs/src/build/index.md +++ b/snix/docs/src/build/index.md @@ -24,7 +24,7 @@ In case all specified paths are produced, and the command specified in This happens to be sufficient to *also* express how Nix builds works. Check `build/protos/build.proto` for a detailed description of the individual -fields, and the tests in `glue/src/tvix_build.rs` for some examples. +fields, and the tests in `glue/src/snix_build.rs` for some examples. The following sections describe some aspects of Nix builds, and how this is (planned to be) implemented with the Tvix Build protocol. diff --git a/tvix/docs/src/castore/blobstore-chunking.md b/snix/docs/src/castore/blobstore-chunking.md similarity index 100% rename from tvix/docs/src/castore/blobstore-chunking.md rename to snix/docs/src/castore/blobstore-chunking.md diff --git a/tvix/docs/src/castore/blobstore-protocol.md b/snix/docs/src/castore/blobstore-protocol.md similarity index 100% rename from tvix/docs/src/castore/blobstore-protocol.md rename to snix/docs/src/castore/blobstore-protocol.md diff --git a/tvix/docs/src/castore/data-model.md b/snix/docs/src/castore/data-model.md similarity index 100% rename from tvix/docs/src/castore/data-model.md rename to snix/docs/src/castore/data-model.md diff --git a/tvix/docs/src/castore/store-configuration.md b/snix/docs/src/castore/store-configuration.md similarity index 98% rename from tvix/docs/src/castore/store-configuration.md rename to snix/docs/src/castore/store-configuration.md index 91015e6b5..7269bb74e 100644 --- a/tvix/docs/src/castore/store-configuration.md +++ b/snix/docs/src/castore/store-configuration.md @@ -65,8 +65,8 @@ attribute, (`DirectoryService`s in `directoryservices`, and `PathInfoService`s in `pathinfoservices` respectively), and requires one named "root". ### Library usage -The store composition code can be accessed via `tvix_castore::composition`, and -`tvix_store::composition`. +The store composition code can be accessed via `snix_castore::composition`, and +`snix_store::composition`. A global "registry" can be used to make other (out-of-tree) "types" of stores known to the composition machinery. @@ -75,7 +75,7 @@ In terms of config format, you're also not required to use TOML, but anything `serde` can deserialize. Make sure to check the module-level docstrings and code examples for -`tvix_castore::composition`. +`snix_castore::composition`. ### Composition config format Below examples are in the format accepted by the CLI, using the diff --git a/tvix/docs/src/castore/why-not-git-trees.md b/snix/docs/src/castore/why-not-git-trees.md similarity index 100% rename from tvix/docs/src/castore/why-not-git-trees.md rename to snix/docs/src/castore/why-not-git-trees.md diff --git a/tvix/docs/src/community.md b/snix/docs/src/community.md similarity index 100% rename from tvix/docs/src/community.md rename to snix/docs/src/community.md diff --git a/tvix/docs/src/contributing/code-&-commits.md b/snix/docs/src/contributing/code-&-commits.md similarity index 100% rename from tvix/docs/src/contributing/code-&-commits.md rename to snix/docs/src/contributing/code-&-commits.md diff --git a/tvix/docs/src/contributing/email.md b/snix/docs/src/contributing/email.md similarity index 100% rename from tvix/docs/src/contributing/email.md rename to snix/docs/src/contributing/email.md diff --git a/tvix/docs/src/contributing/gerrit.md b/snix/docs/src/contributing/gerrit.md similarity index 100% rename from tvix/docs/src/contributing/gerrit.md rename to snix/docs/src/contributing/gerrit.md diff --git a/tvix/docs/src/eval/abandoned/index.md b/snix/docs/src/eval/abandoned/index.md similarity index 100% rename from tvix/docs/src/eval/abandoned/index.md rename to snix/docs/src/eval/abandoned/index.md diff --git a/tvix/docs/src/eval/abandoned/thread-local-vm.md b/snix/docs/src/eval/abandoned/thread-local-vm.md similarity index 100% rename from tvix/docs/src/eval/abandoned/thread-local-vm.md rename to snix/docs/src/eval/abandoned/thread-local-vm.md diff --git a/tvix/docs/src/eval/bindings.md b/snix/docs/src/eval/bindings.md similarity index 100% rename from tvix/docs/src/eval/bindings.md rename to snix/docs/src/eval/bindings.md diff --git a/tvix/docs/src/eval/build-references.md b/snix/docs/src/eval/build-references.md similarity index 100% rename from tvix/docs/src/eval/build-references.md rename to snix/docs/src/eval/build-references.md diff --git a/tvix/docs/src/eval/builtins.md b/snix/docs/src/eval/builtins.md similarity index 100% rename from tvix/docs/src/eval/builtins.md rename to snix/docs/src/eval/builtins.md diff --git a/tvix/docs/src/eval/catchable-errors.md b/snix/docs/src/eval/catchable-errors.md similarity index 100% rename from tvix/docs/src/eval/catchable-errors.md rename to snix/docs/src/eval/catchable-errors.md diff --git a/tvix/docs/src/eval/known-optimisation-potential.md b/snix/docs/src/eval/known-optimisation-potential.md similarity index 100% rename from tvix/docs/src/eval/known-optimisation-potential.md rename to snix/docs/src/eval/known-optimisation-potential.md diff --git a/tvix/docs/src/eval/language-issues.md b/snix/docs/src/eval/language-issues.md similarity index 100% rename from tvix/docs/src/eval/language-issues.md rename to snix/docs/src/eval/language-issues.md diff --git a/tvix/docs/src/eval/opcodes-attrsets.md b/snix/docs/src/eval/opcodes-attrsets.md similarity index 100% rename from tvix/docs/src/eval/opcodes-attrsets.md rename to snix/docs/src/eval/opcodes-attrsets.md diff --git a/tvix/docs/src/eval/recursive-attrs.md b/snix/docs/src/eval/recursive-attrs.md similarity index 100% rename from tvix/docs/src/eval/recursive-attrs.md rename to snix/docs/src/eval/recursive-attrs.md diff --git a/tvix/docs/src/eval/vm-loop.md b/snix/docs/src/eval/vm-loop.md similarity index 99% rename from tvix/docs/src/eval/vm-loop.md rename to snix/docs/src/eval/vm-loop.md index a964d9278..6d889d995 100644 --- a/tvix/docs/src/eval/vm-loop.md +++ b/snix/docs/src/eval/vm-loop.md @@ -302,7 +302,7 @@ But it also comes with some disadvantages: buying in to the async ecosystem. tvix-eval fundamentally should work for use-cases besides building Nix - packages (e.g. for `//tvix/serde`), and its profile should be as slim as + packages (e.g. for `//snix/serde`), and its profile should be as slim as possible. 3. Convincing the Rust developers that Rust needs a way to guarantee diff --git a/tvix/docs/src/figures/component-flow.puml b/snix/docs/src/figures/component-flow.puml similarity index 100% rename from tvix/docs/src/figures/component-flow.puml rename to snix/docs/src/figures/component-flow.puml diff --git a/tvix/docs/src/getting-started.md b/snix/docs/src/getting-started.md similarity index 98% rename from tvix/docs/src/getting-started.md rename to snix/docs/src/getting-started.md index 1cbb6de7d..a427c906c 100644 --- a/tvix/docs/src/getting-started.md +++ b/snix/docs/src/getting-started.md @@ -18,7 +18,7 @@ instructions][direnv-inst], then after it’s set up continue with: ```console $ direnv allow -$ mg shell //tvix:shell +$ mg shell //snix:shell $ cd tvix $ cargo build ``` diff --git a/tvix/docs/src/introduction.md b/snix/docs/src/introduction.md similarity index 100% rename from tvix/docs/src/introduction.md rename to snix/docs/src/introduction.md diff --git a/tvix/docs/src/lang-version.md b/snix/docs/src/lang-version.md similarity index 100% rename from tvix/docs/src/lang-version.md rename to snix/docs/src/lang-version.md diff --git a/tvix/docs/src/language-spec.md b/snix/docs/src/language-spec.md similarity index 100% rename from tvix/docs/src/language-spec.md rename to snix/docs/src/language-spec.md diff --git a/tvix/docs/src/nix-daemon/changelog.md b/snix/docs/src/nix-daemon/changelog.md similarity index 100% rename from tvix/docs/src/nix-daemon/changelog.md rename to snix/docs/src/nix-daemon/changelog.md diff --git a/tvix/docs/src/nix-daemon/handshake.md b/snix/docs/src/nix-daemon/handshake.md similarity index 100% rename from tvix/docs/src/nix-daemon/handshake.md rename to snix/docs/src/nix-daemon/handshake.md diff --git a/tvix/docs/src/nix-daemon/index.md b/snix/docs/src/nix-daemon/index.md similarity index 100% rename from tvix/docs/src/nix-daemon/index.md rename to snix/docs/src/nix-daemon/index.md diff --git a/tvix/docs/src/nix-daemon/logging.md b/snix/docs/src/nix-daemon/logging.md similarity index 100% rename from tvix/docs/src/nix-daemon/logging.md rename to snix/docs/src/nix-daemon/logging.md diff --git a/tvix/docs/src/nix-daemon/operations.md b/snix/docs/src/nix-daemon/operations.md similarity index 100% rename from tvix/docs/src/nix-daemon/operations.md rename to snix/docs/src/nix-daemon/operations.md diff --git a/tvix/docs/src/nix-daemon/serialization.md b/snix/docs/src/nix-daemon/serialization.md similarity index 100% rename from tvix/docs/src/nix-daemon/serialization.md rename to snix/docs/src/nix-daemon/serialization.md diff --git a/tvix/docs/src/store/api.md b/snix/docs/src/store/api.md similarity index 99% rename from tvix/docs/src/store/api.md rename to snix/docs/src/store/api.md index 89495a0d1..ce1cfda80 100644 --- a/tvix/docs/src/store/api.md +++ b/snix/docs/src/store/api.md @@ -217,7 +217,7 @@ This is useful for people running a Tvix-only system, or running builds on a In a system with Nix installed, we can't simply manually "extract" things to `/nix/store`, as Nix assumes to own all writes to this location. In these use cases, we're probably better off exposing a tvix-store as a local -binary cache (that's what `//tvix/nar-bridge` does). +binary cache (that's what `//snix/nar-bridge` does). Assuming we are in an environment where we control `/nix/store` exclusively, a "realize to disk" would either "extract" things from the `tvix-store` to a diff --git a/tvix/docs/src/value-pointer-equality.md b/snix/docs/src/value-pointer-equality.md similarity index 100% rename from tvix/docs/src/value-pointer-equality.md rename to snix/docs/src/value-pointer-equality.md diff --git a/tvix/eval/.skip-subtree b/snix/eval/.skip-subtree similarity index 100% rename from tvix/eval/.skip-subtree rename to snix/eval/.skip-subtree diff --git a/tvix/eval/Cargo.toml b/snix/eval/Cargo.toml similarity index 92% rename from tvix/eval/Cargo.toml rename to snix/eval/Cargo.toml index 41207d2b9..2e41bf477 100644 --- a/tvix/eval/Cargo.toml +++ b/snix/eval/Cargo.toml @@ -1,13 +1,13 @@ [package] -name = "tvix-eval" +name = "snix-eval" version = "0.1.0" edition = "2021" [lib] -name = "tvix_eval" +name = "snix_eval" [dependencies] -builtin-macros = { path = "./builtin-macros", package = "tvix-eval-builtin-macros" } +builtin-macros = { path = "./builtin-macros", package = "snix-eval-builtin-macros" } bytes.workspace = true bstr = { workspace = true, features = ["serde"] } codemap.workspace = true @@ -49,7 +49,7 @@ tempfile.workspace = true default = ["impure", "arbitrary", "nix_tests"] # Enables running the Nix language test suite from the original C++ -# Nix implementation (at version 2.3) against Tvix. +# Nix implementation (at version 2.3) against Snix. nix_tests = [] # Enables operations in the VM which depend on the ability to perform I/O diff --git a/tvix/eval/README.md b/snix/eval/README.md similarity index 94% rename from tvix/eval/README.md rename to snix/eval/README.md index 02e2100f5..032e2c1db 100644 --- a/tvix/eval/README.md +++ b/snix/eval/README.md @@ -35,7 +35,7 @@ cd tvix-eval && cargo build Tvix currently has three language test suites for tvix-eval: -* `nix_tests` and `tvix_tests` are based on the same mechanism +* `nix_tests` and `snix_tests` are based on the same mechanism borrowed from the C++ Nix implementation. They consist of Nix files as well as expected output (if applicable). The test cases are split into four categories: @@ -52,7 +52,7 @@ Tvix currently has three language test suites for tvix-eval: them into the test suite proper when fixing the incompatibility. Additionally, separate targets in the depot pipeline, under - `//tvix/verify-lang-tests`, check both test suites (including + `//snix/verify-lang-tests`, check both test suites (including `notyetpassing` directories) against C++ Nix 2.3 and the default C++ Nix version in nixpkgs. This way we can prevent accidentally introducing test cases @@ -63,7 +63,7 @@ Tvix currently has three language test suites for tvix-eval: directories. The `notyetpassing` directory shows how far it is until we pass it completely. - * `tvix_tests` contains test cases written by the Tvix contributors. + * `snix_tests` contains test cases written by the Tvix contributors. Some more or less duplicate test cases contained in `nix_tests`, but many cover relevant behavior that isn't by `nix_tests`. Consequently, it'd be nice to eventually merge the two test diff --git a/tvix/eval/benches/eval.rs b/snix/eval/benches/eval.rs similarity index 96% rename from tvix/eval/benches/eval.rs rename to snix/eval/benches/eval.rs index f4d6489f1..bd1074f45 100644 --- a/tvix/eval/benches/eval.rs +++ b/snix/eval/benches/eval.rs @@ -6,7 +6,7 @@ use mimalloc::MiMalloc; static GLOBAL: MiMalloc = MiMalloc; fn interpret(code: &str) { - tvix_eval::Evaluation::builder_pure() + snix_eval::Evaluation::builder_pure() .build() .evaluate(code, None); } diff --git a/tvix/eval/build.rs b/snix/eval/build.rs similarity index 72% rename from tvix/eval/build.rs rename to snix/eval/build.rs index b37a6e8a0..abc79bf76 100644 --- a/tvix/eval/build.rs +++ b/snix/eval/build.rs @@ -2,7 +2,7 @@ use std::env; fn main() { println!( - "cargo:rustc-env=TVIX_CURRENT_SYSTEM={}", + "cargo:rustc-env=SNIX_CURRENT_SYSTEM={}", &env::var("TARGET").unwrap() ); println!("cargo:rerun-if-changed-env=TARGET"); @@ -10,5 +10,5 @@ fn main() { // Pick up new test case files // https://github.com/la10736/rstest/issues/256 println!("cargo:rerun-if-changed=src/tests/nix_tests"); - println!("cargo:rerun-if-changed=src/tests/tvix_tests") + println!("cargo:rerun-if-changed=src/tests/snix_tests") } diff --git a/tvix/eval/builtin-macros/.gitignore b/snix/eval/builtin-macros/.gitignore similarity index 100% rename from tvix/eval/builtin-macros/.gitignore rename to snix/eval/builtin-macros/.gitignore diff --git a/tvix/eval/builtin-macros/Cargo.toml b/snix/eval/builtin-macros/Cargo.toml similarity index 83% rename from tvix/eval/builtin-macros/Cargo.toml rename to snix/eval/builtin-macros/Cargo.toml index e6baa0116..189faea55 100644 --- a/tvix/eval/builtin-macros/Cargo.toml +++ b/snix/eval/builtin-macros/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tvix-eval-builtin-macros" +name = "snix-eval-builtin-macros" version = "0.0.1" authors = [ "Griffin Smith " ] edition = "2021" @@ -13,4 +13,4 @@ proc-macro2.workspace = true proc-macro = true [dev-dependencies] -tvix-eval = { path = "../" } +snix-eval = { path = "../" } diff --git a/tvix/eval/builtin-macros/src/lib.rs b/snix/eval/builtin-macros/src/lib.rs similarity index 94% rename from tvix/eval/builtin-macros/src/lib.rs rename to snix/eval/builtin-macros/src/lib.rs index 4cb803227..e12ba1aeb 100644 --- a/tvix/eval/builtin-macros/src/lib.rs +++ b/snix/eval/builtin-macros/src/lib.rs @@ -111,7 +111,7 @@ fn parse_module_args(args: TokenStream) -> Option { /// transformation is mostly invisible to users of the macro. /// /// A function `fn builtins() -> Vec` will be defined within the annotated module, -/// returning a list of `tvix_eval::Builtin` for each function annotated with the `#[builtin]` +/// returning a list of `snix_eval::Builtin` for each function annotated with the `#[builtin]` /// attribute within the module. If a `state` type is specified, the `builtins` function will take a /// value of that type. /// @@ -120,12 +120,12 @@ fn parse_module_args(args: TokenStream) -> Option { /// /// # Examples /// ```ignore -/// # use tvix_eval; -/// # use tvix_eval_builtin_macros::builtins; +/// # use snix_eval; +/// # use snix_eval_builtin_macros::builtins; /// /// #[builtins] /// mod builtins { -/// use tvix_eval::{GenCo, ErrorKind, Value}; +/// use snix_eval::{GenCo, ErrorKind, Value}; /// /// #[builtin("identity")] /// pub async fn builtin_identity(co: GenCo, x: Value) -> Result { @@ -182,7 +182,7 @@ pub fn builtins(args: TokenStream, item: TokenStream) -> TokenStream { // Inspect the first argument to determine if this function is // taking the state parameter. - // TODO(tazjin): add a test in //tvix/eval that covers this + // TODO(tazjin): add a test in //snix/eval that covers this let mut captures_state = false; if let FnArg::Typed(PatType { pat, .. }) = &f.sig.inputs[0] { if let Pat::Ident(PatIdent { ident, .. }) = pat.as_ref() { @@ -288,8 +288,8 @@ pub fn builtins(args: TokenStream, item: TokenStream) -> TokenStream { .. } => parse_quote_spanned! { arg.span => { - let #ident: #ty = tvix_eval::generators::request_force( - &co, values.pop().expect("Tvix bug: builtin called with incorrect number of arguments") + let #ident: #ty = snix_eval::generators::request_force( + &co, values.pop().expect("Snix bug: builtin called with incorrect number of arguments") ).await; #block } @@ -300,8 +300,8 @@ pub fn builtins(args: TokenStream, item: TokenStream) -> TokenStream { .. } => parse_quote_spanned! { arg.span => { - let #ident: #ty = tvix_eval::generators::request_force( - &co, values.pop().expect("Tvix bug: builtin called with incorrect number of arguments") + let #ident: #ty = snix_eval::generators::request_force( + &co, values.pop().expect("Snix bug: builtin called with incorrect number of arguments") ).await; if #ident.is_catchable() { return Ok(#ident); @@ -315,7 +315,7 @@ pub fn builtins(args: TokenStream, item: TokenStream) -> TokenStream { .. } => parse_quote_spanned! { arg.span => { - let #ident: #ty = values.pop().expect("Tvix bug: builtin called with incorrect number of arguments"); + let #ident: #ty = values.pop().expect("Snix bug: builtin called with incorrect number of arguments"); #block } }, @@ -332,20 +332,20 @@ pub fn builtins(args: TokenStream, item: TokenStream) -> TokenStream { if captures_state { builtins.push(quote_spanned! { builtin_attr.span() => { let inner_state = state.clone(); - tvix_eval::Builtin::new( + snix_eval::Builtin::new( #name, #docstring, #arg_count, - move |values| Gen::new(|co| tvix_eval::generators::pin_generator(#fn_name(inner_state.clone(), co, values))), + move |values| Gen::new(|co| snix_eval::generators::pin_generator(#fn_name(inner_state.clone(), co, values))), ) }}); } else { builtins.push(quote_spanned! { builtin_attr.span() => { - tvix_eval::Builtin::new( + snix_eval::Builtin::new( #name, #docstring, #arg_count, - |values| Gen::new(|co| tvix_eval::generators::pin_generator(#fn_name(co, values))), + |values| Gen::new(|co| snix_eval::generators::pin_generator(#fn_name(co, values))), ) }}); } diff --git a/tvix/eval/builtin-macros/tests/tests.rs b/snix/eval/builtin-macros/tests/tests.rs similarity index 84% rename from tvix/eval/builtin-macros/tests/tests.rs rename to snix/eval/builtin-macros/tests/tests.rs index 288b6670e..5a149f2d4 100644 --- a/tvix/eval/builtin-macros/tests/tests.rs +++ b/snix/eval/builtin-macros/tests/tests.rs @@ -1,10 +1,10 @@ -pub use tvix_eval::{Builtin, Value}; -use tvix_eval_builtin_macros::builtins; +pub use snix_eval::{Builtin, Value}; +use snix_eval_builtin_macros::builtins; #[builtins] mod builtins { - use tvix_eval::generators::{Gen, GenCo}; - use tvix_eval::{ErrorKind, Value}; + use snix_eval::generators::{Gen, GenCo}; + use snix_eval::{ErrorKind, Value}; /// Test docstring. /// diff --git a/tvix/eval/clippy.toml b/snix/eval/clippy.toml similarity index 100% rename from tvix/eval/clippy.toml rename to snix/eval/clippy.toml diff --git a/tvix/eval/default.nix b/snix/eval/default.nix similarity index 80% rename from tvix/eval/default.nix rename to snix/eval/default.nix index 72e21c966..c87d7d507 100644 --- a/tvix/eval/default.nix +++ b/snix/eval/default.nix @@ -1,7 +1,7 @@ # TODO: find a way to build the benchmarks via crate2nix { depot, pkgs, lib, ... }: -(depot.tvix.crates.workspaceMembers.tvix-eval.build.override { +(depot.snix.crates.workspaceMembers.snix-eval.build.override { runTests = true; # Make C++ Nix available, to compare eval results against. @@ -9,7 +9,7 @@ testInputs = [ pkgs.nix_2_3 ]; }).overrideAttrs (old: rec { meta.ci.targets = lib.filter (x: lib.hasPrefix "with-features" x || x == "no-features") (lib.attrNames passthru); - passthru = old.passthru // (depot.tvix.utils.mkFeaturePowerset { + passthru = old.passthru // (depot.snix.utils.mkFeaturePowerset { inherit (old) crateName; features = [ "nix_tests" ]; override.testInputs = [ pkgs.nix ]; diff --git a/tvix/eval/proptest-regressions/value/mod.txt b/snix/eval/proptest-regressions/value/mod.txt similarity index 100% rename from tvix/eval/proptest-regressions/value/mod.txt rename to snix/eval/proptest-regressions/value/mod.txt diff --git a/tvix/eval/src/builtins/hash.rs b/snix/eval/src/builtins/hash.rs similarity index 100% rename from tvix/eval/src/builtins/hash.rs rename to snix/eval/src/builtins/hash.rs diff --git a/tvix/eval/src/builtins/impure.rs b/snix/eval/src/builtins/impure.rs similarity index 99% rename from tvix/eval/src/builtins/impure.rs rename to snix/eval/src/builtins/impure.rs index dccb7fbb7..5a3350d23 100644 --- a/tvix/eval/src/builtins/impure.rs +++ b/snix/eval/src/builtins/impure.rs @@ -7,7 +7,7 @@ use std::{ }; use crate::{ - self as tvix_eval, + self as snix_eval, errors::ErrorKind, value::NixAttrs, vm::generators::{self, GenCo}, diff --git a/tvix/eval/src/builtins/mod.rs b/snix/eval/src/builtins/mod.rs similarity index 99% rename from tvix/eval/src/builtins/mod.rs rename to snix/eval/src/builtins/mod.rs index babea3200..13d1d3df7 100644 --- a/tvix/eval/src/builtins/mod.rs +++ b/snix/eval/src/builtins/mod.rs @@ -1,6 +1,6 @@ //! This module implements the builtins exposed in the Nix language. //! -//! See //tvix/eval/docs/builtins.md for a some context on the +//! See //snix/eval/docs/builtins.md for a some context on the //! available builtins in Nix. use bstr::{ByteSlice, ByteVec}; @@ -17,7 +17,7 @@ use crate::value::PointerEquality; use crate::vm::generators::{self, GenCo}; use crate::warnings::WarningKind; use crate::{ - self as tvix_eval, + self as snix_eval, builtins::hash::hash_nix_string, errors::{CatchableErrorKind, ErrorKind}, value::{CoercionKind, NixAttrs, NixList, NixString, Thunk, Value}, @@ -38,8 +38,8 @@ mod impure; #[cfg(feature = "impure")] pub use impure::impure_builtins; -// we set TVIX_CURRENT_SYSTEM in build.rs -pub const CURRENT_PLATFORM: &str = env!("TVIX_CURRENT_SYSTEM"); +// we set SNIX_CURRENT_SYSTEM in build.rs +pub const CURRENT_PLATFORM: &str = env!("SNIX_CURRENT_SYSTEM"); /// Coerce a Nix Value to a plain path, e.g. in order to access the /// file it points to via either `builtins.toPath` or an impure @@ -1309,7 +1309,7 @@ mod pure_builtins { // yield equality, and us being unable to use the standard library // implementation of sorting (which is a lot longer, but a lot more // efficient) here. - // TODO(amjoseph): Investigate potential impl in Nix code, or Tvix bytecode. + // TODO(amjoseph): Investigate potential impl in Nix code, or Snix bytecode. loop { let mut new_len = 0; for i in 1..len { @@ -1587,7 +1587,7 @@ pub fn pure_builtins() -> Vec<(&'static str, Value)> { let mut result = pure_builtins::builtins(); // Pure-value builtins - result.push(("nixVersion", Value::from("2.3.17-compat-tvix-0.1"))); + result.push(("nixVersion", Value::from("2.3.17-compat-snix-0.1"))); result.push(("langVersion", Value::Integer(6))); result.push(("null", Value::Null)); result.push(("true", Value::Bool(true))); diff --git a/tvix/eval/src/builtins/to_xml.rs b/snix/eval/src/builtins/to_xml.rs similarity index 97% rename from tvix/eval/src/builtins/to_xml.rs rename to snix/eval/src/builtins/to_xml.rs index 785992e45..c91841926 100644 --- a/tvix/eval/src/builtins/to_xml.rs +++ b/snix/eval/src/builtins/to_xml.rs @@ -1,5 +1,5 @@ //! This module implements `builtins.toXML`, which is a serialisation -//! of value information as well as internal tvix state that several +//! of value information as well as internal snix state that several //! things in nixpkgs rely on. use bstr::ByteSlice; @@ -97,7 +97,7 @@ fn value_variant_to_xml(w: &mut XmlEmitter, value: &Value) -> Resul w.write_closing_tag("attrspat")?; } None => { - // TODO(tazjin): tvix does not currently persist function + // TODO(tazjin): snix does not currently persist function // argument names anywhere (whereas we do for formals, as // that is required for other runtime behaviour). Because of // this the implementation here is fake, always returning @@ -123,14 +123,14 @@ fn value_variant_to_xml(w: &mut XmlEmitter, value: &Value) -> Resul | Value::DeferredUpvalue(_) | Value::UnresolvedPath(_) | Value::FinaliseRequest(_) => { - return Err(ErrorKind::TvixBug { + return Err(ErrorKind::SnixBug { msg: "internal value variant encountered in builtins.toXML", metadata: Some(Rc::new(value.clone())), }) } Value::Catchable(_) => { - panic!("tvix bug: value_to_xml() called on a value which had not been deep-forced") + panic!("Snix bug: value_to_xml() called on a value which had not been deep-forced") } }; diff --git a/tvix/eval/src/builtins/versions.rs b/snix/eval/src/builtins/versions.rs similarity index 100% rename from tvix/eval/src/builtins/versions.rs rename to snix/eval/src/builtins/versions.rs diff --git a/tvix/eval/src/chunk.rs b/snix/eval/src/chunk.rs similarity index 97% rename from tvix/eval/src/chunk.rs rename to snix/eval/src/chunk.rs index 2a5446a78..548bfb3b7 100644 --- a/tvix/eval/src/chunk.rs +++ b/snix/eval/src/chunk.rs @@ -86,7 +86,7 @@ impl Chunk { pub fn read_u16(&self, idx: usize) -> u16 { if idx + 2 > self.code.len() { - panic!("Tvix bug: invalid bytecode (expected u16 operand not found)") + panic!("Snix bug: invalid bytecode (expected u16 operand not found)") } let byte_array: &[u8; 2] = &self.code[idx..idx + 2] @@ -234,7 +234,7 @@ impl Chunk { Ok(cidx - idx.0) } - _ => panic!("Tvix bug: don't know how to format argument for Op{:?}", op), + _ => panic!("Snix bug: don't know how to format argument for Op{:?}", op), }, } } @@ -246,7 +246,7 @@ mod tests { use crate::test_utils::dummy_span; // Note: These tests are about the functionality of the `Chunk` type, the - // opcodes used below do *not* represent valid, executable Tvix code (and + // opcodes used below do *not* represent valid, executable Snix code (and // don't need to). #[test] diff --git a/tvix/eval/src/compiler/bindings.rs b/snix/eval/src/compiler/bindings.rs similarity index 100% rename from tvix/eval/src/compiler/bindings.rs rename to snix/eval/src/compiler/bindings.rs diff --git a/tvix/eval/src/compiler/import.rs b/snix/eval/src/compiler/import.rs similarity index 100% rename from tvix/eval/src/compiler/import.rs rename to snix/eval/src/compiler/import.rs diff --git a/tvix/eval/src/compiler/mod.rs b/snix/eval/src/compiler/mod.rs similarity index 99% rename from tvix/eval/src/compiler/mod.rs rename to snix/eval/src/compiler/mod.rs index 33b70b87c..7dc1b9712 100644 --- a/tvix/eval/src/compiler/mod.rs +++ b/snix/eval/src/compiler/mod.rs @@ -1,5 +1,5 @@ //! This module implements a compiler for compiling the rnix AST -//! representation to Tvix bytecode. +//! representation to Snix bytecode. //! //! A note on `unwrap()`: This module contains a lot of calls to //! `unwrap()` or `expect(...)` on data structures returned by `rnix`. @@ -1143,7 +1143,7 @@ impl Compiler<'_, '_> { let stack_idx = self.scope().stack_index(tracked_formal.local_idx()); match tracked_formal { TrackedFormal::NoDefault { .. } => - panic!("Tvix bug: local for pattern formal needs finaliser, but has no default expr"), + panic!("Snix bug: local for pattern formal needs finaliser, but has no default expr"), TrackedFormal::WithDefault { finalise_request_idx, .. } => { let finalise_request_stack_idx = self.scope().stack_index(*finalise_request_idx); @@ -1513,7 +1513,7 @@ fn expr_static_attr_str(node: &ast::Attr) -> Option { /// Create a delayed source-only builtin compilation, for a builtin /// which is written in Nix code. /// -/// **Important:** tvix *panics* if a builtin with invalid source code +/// **Important:** snix *panics* if a builtin with invalid source code /// is supplied. This is because there is no user-friendly way to /// thread the errors out of this function right now. fn compile_src_builtin( diff --git a/tvix/eval/src/compiler/optimiser.rs b/snix/eval/src/compiler/optimiser.rs similarity index 100% rename from tvix/eval/src/compiler/optimiser.rs rename to snix/eval/src/compiler/optimiser.rs diff --git a/tvix/eval/src/compiler/scope.rs b/snix/eval/src/compiler/scope.rs similarity index 98% rename from tvix/eval/src/compiler/scope.rs rename to snix/eval/src/compiler/scope.rs index 7aa3399ed..45b692ad1 100644 --- a/tvix/eval/src/compiler/scope.rs +++ b/snix/eval/src/compiler/scope.rs @@ -1,11 +1,11 @@ -//! This module implements the scope-tracking logic of the Tvix +//! This module implements the scope-tracking logic of the Snix //! compiler. //! //! Scoping in Nix is fairly complicated, there are features like //! mutually recursive bindings, `with`, upvalue capturing, and so //! on that introduce a fair bit of complexity. //! -//! Tvix attempts to do as much of the heavy lifting of this at +//! Snix attempts to do as much of the heavy lifting of this at //! compile time, and leave the runtime to mostly deal with known //! stack indices. To do this, the compiler simulates where locals //! will be at runtime using the data structures implemented here. diff --git a/tvix/eval/src/errors.rs b/snix/eval/src/errors.rs similarity index 97% rename from tvix/eval/src/errors.rs rename to snix/eval/src/errors.rs index 838187a69..b152b3d95 100644 --- a/tvix/eval/src/errors.rs +++ b/snix/eval/src/errors.rs @@ -144,7 +144,7 @@ to a missing value in the attribute set(s) included via `with`."# err: Box, }, - /// An error occured while executing Tvix bytecode, but needs to + /// An error occured while executing Snix bytecode, but needs to /// be chained up. #[error("while evaluating this Nix code")] BytecodeError(Box), @@ -240,16 +240,16 @@ to a missing value in the attribute set(s) included via `with`."# #[error("Invalid hash: {0}")] InvalidHash(String), - /// Variant for errors that bubble up to eval from other Tvix + /// Variant for errors that bubble up to eval from other Snix /// components. #[error("{0}")] - TvixError(Rc), + SnixError(Rc), - /// Variant for code paths that are known bugs in Tvix (usually + /// Variant for code paths that are known bugs in Snix (usually /// issues with the compiler/VM interaction). #[error("{}", ({ - let mut disp = format!("Tvix bug: {}", .msg); + let mut disp = format!("Snix bug: {}", .msg); if let Some(metadata) = .metadata { disp.push_str(&format!("; metadata: {:?}", metadata)); @@ -258,15 +258,15 @@ to a missing value in the attribute set(s) included via `with`."# disp }) )] - TvixBug { + SnixBug { msg: &'static str, metadata: Option>, }, - /// Tvix internal warning for features triggered by users that are + /// Snix internal warning for features triggered by users that are /// not actually implemented yet, and without which eval can not /// proceed. - #[error("feature not yet implemented in Tvix: {0}")] + #[error("feature not yet implemented in Snix: {0}")] NotImplemented(&'static str), /// Internal variant which should disappear during error construction. @@ -284,7 +284,7 @@ to a missing value in the attribute set(s) included via `with`."# /// should fail the evaluation. /// /// This variant **must** only be used at the top-level of - /// tvix-eval when returning a result to the user, never inside of + /// snix-eval when returning a result to the user, never inside of /// eval code. #[error("{0}")] CatchableError(CatchableErrorKind), @@ -308,7 +308,7 @@ impl error::Error for Error { errors.first().map(|e| e as &dyn error::Error) } ErrorKind::IO { error, .. } => Some(error.as_ref()), - ErrorKind::TvixError(error) => Some(error.as_ref()), + ErrorKind::SnixError(error) => Some(error.as_ref()), _ => None, } } @@ -591,7 +591,7 @@ fn spans_for_parse_errors(file: &File, errors: &[rnix::parser::ParseError]) -> V rnix::parser::ParseError::RecursionLimitExceeded => ( file.span, - "this code exceeds the parser's recursion limit, please report a Tvix bug" + "this code exceeds the parser's recursion limit, please report a Snix bug" .to_string(), ), @@ -675,8 +675,8 @@ impl Error { | ErrorKind::NotSerialisableToJson(_) | ErrorKind::FromTomlError(_) | ErrorKind::Utf8 - | ErrorKind::TvixError(_) - | ErrorKind::TvixBug { .. } + | ErrorKind::SnixError(_) + | ErrorKind::SnixBug { .. } | ErrorKind::NotImplemented(_) | ErrorKind::WithContext { .. } | ErrorKind::UnknownHashType(_) @@ -729,16 +729,16 @@ impl Error { ErrorKind::UnexpectedArgumentBuiltin { .. } => "E040", ErrorKind::InvalidHash(_) => "E041", - // Special error code for errors from other Tvix + // Special error code for errors from other Snix // components. We may want to introduce a code namespacing // system to have these errors pass codes through. - ErrorKind::TvixError(_) => "E997", + ErrorKind::SnixError(_) => "E997", // Special error code that is not part of the normal // ordering. - ErrorKind::TvixBug { .. } => "E998", + ErrorKind::SnixBug { .. } => "E998", - // Placeholder error while Tvix is under construction. + // Placeholder error while Snix is under construction. ErrorKind::CatchableError(CatchableErrorKind::UnimplementedFeature(_)) | ErrorKind::NotImplemented(_) => "E999", diff --git a/tvix/eval/src/io.rs b/snix/eval/src/io.rs similarity index 97% rename from tvix/eval/src/io.rs rename to snix/eval/src/io.rs index f30ef164c..5a3e565e4 100644 --- a/tvix/eval/src/io.rs +++ b/snix/eval/src/io.rs @@ -1,4 +1,4 @@ -//! Interface for injecting I/O-related functionality into tvix-eval. +//! Interface for injecting I/O-related functionality into snix-eval. //! //! The Nix language contains several builtins (e.g. `builtins.readDir`), as //! well as language feature (e.g. string-"coercion" of paths) that interact @@ -6,7 +6,7 @@ //! //! The language evaluator implemented by this crate does not depend on any //! particular filesystem interaction model. Instead, this module provides a -//! trait that can be implemented by tvix-eval callers to provide the +//! trait that can be implemented by snix-eval callers to provide the //! functionality they desire. //! //! In theory this can be used to implement "mocked" filesystem interactions, or @@ -95,7 +95,7 @@ pub trait EvalIO { /// Import the given path. What this means depends on the implementation, /// for example for a `std::io`-based implementation this might be a no-op, - /// while for a Tvix store this might be a copy of the given files to the + /// while for a Snix store this might be a copy of the given files to the /// store. /// /// This is used for the following language evaluation cases: diff --git a/tvix/eval/src/lib.rs b/snix/eval/src/lib.rs similarity index 99% rename from tvix/eval/src/lib.rs rename to snix/eval/src/lib.rs index 1c8312a39..877d17a4c 100644 --- a/tvix/eval/src/lib.rs +++ b/snix/eval/src/lib.rs @@ -1,5 +1,5 @@ -//! `tvix-eval` implements the evaluation of the Nix programming language in -//! Tvix. +//! `snix-eval` implements the evaluation of the Nix programming language in +//! Snix. //! //! It is designed to allow users to use Nix as a versatile language for //! different use-cases. diff --git a/tvix/eval/src/nix_search_path.rs b/snix/eval/src/nix_search_path.rs similarity index 96% rename from tvix/eval/src/nix_search_path.rs rename to snix/eval/src/nix_search_path.rs index 369c5b685..2aefebdaa 100644 --- a/tvix/eval/src/nix_search_path.rs +++ b/snix/eval/src/nix_search_path.rs @@ -238,9 +238,9 @@ mod tests { #[test] fn prefix() { - let nix_search_path = NixSearchPath::from_str("/:tvix=.").unwrap(); + let nix_search_path = NixSearchPath::from_str("/:snix=.").unwrap(); let io = Box::new(StdIO {}) as Box; - let res = nix_search_path.resolve(&io, "tvix/src").unwrap(); + let res = nix_search_path.resolve(&io, "snix/src").unwrap(); assert_eq!( res.unwrap().to_path_buf(), current_dir().unwrap().join("src").clean() @@ -249,9 +249,9 @@ mod tests { #[test] fn matching_prefix() { - let nix_search_path = NixSearchPath::from_str("/:tvix=.").unwrap(); + let nix_search_path = NixSearchPath::from_str("/:snix=.").unwrap(); let io = Box::new(StdIO {}) as Box; - let res = nix_search_path.resolve(&io, "tvix").unwrap(); + let res = nix_search_path.resolve(&io, "snix").unwrap(); assert_eq!(res.unwrap().to_path_buf(), current_dir().unwrap().clean()); } } diff --git a/tvix/eval/src/observer.rs b/snix/eval/src/observer.rs similarity index 99% rename from tvix/eval/src/observer.rs rename to snix/eval/src/observer.rs index 5e6526418..654d0fbc2 100644 --- a/tvix/eval/src/observer.rs +++ b/snix/eval/src/observer.rs @@ -1,5 +1,5 @@ //! Implements traits for things that wish to observe internal state -//! changes of tvix-eval. +//! changes of snix-eval. //! //! This can be used to gain insights from compilation, to trace the //! runtime, and so on. @@ -19,7 +19,7 @@ use crate::SourceCode; use crate::Value; /// Implemented by types that wish to observe internal happenings of -/// the Tvix compiler. +/// the Snix compiler. pub trait CompilerObserver { /// Called when the compiler finishes compilation of the top-level /// of an expression (usually the root Nix expression of a file). @@ -38,7 +38,7 @@ pub trait CompilerObserver { } /// Implemented by types that wish to observe internal happenings of -/// the Tvix virtual machine at runtime. +/// the Snix virtual machine at runtime. pub trait RuntimeObserver { /// Called when the runtime enters a new call frame. fn observe_enter_call_frame(&mut self, _arg_count: usize, _: &Rc, _call_depth: usize) {} diff --git a/tvix/eval/src/opcode.rs b/snix/eval/src/opcode.rs similarity index 99% rename from tvix/eval/src/opcode.rs rename to snix/eval/src/opcode.rs index ddf1304b3..aea121288 100644 --- a/tvix/eval/src/opcode.rs +++ b/snix/eval/src/opcode.rs @@ -1,5 +1,5 @@ //! This module implements the instruction set running on the abstract -//! machine implemented by tvix. +//! machine implemented by snix. use std::ops::{AddAssign, Sub}; @@ -52,7 +52,7 @@ pub struct JumpOffset(pub usize); #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub struct Count(pub usize); -/// Op represents all instructions in the Tvix abstract machine. +/// Op represents all instructions in the Snix abstract machine. /// /// In documentation comments, stack positions are referred to by /// indices written in `{}` as such, where required: diff --git a/tvix/eval/src/pretty_ast.rs b/snix/eval/src/pretty_ast.rs similarity index 100% rename from tvix/eval/src/pretty_ast.rs rename to snix/eval/src/pretty_ast.rs diff --git a/tvix/eval/src/properties.rs b/snix/eval/src/properties.rs similarity index 100% rename from tvix/eval/src/properties.rs rename to snix/eval/src/properties.rs diff --git a/tvix/eval/src/source.rs b/snix/eval/src/source.rs similarity index 96% rename from tvix/eval/src/source.rs rename to snix/eval/src/source.rs index 5a7f10abb..5f05b7583 100644 --- a/tvix/eval/src/source.rs +++ b/snix/eval/src/source.rs @@ -13,7 +13,7 @@ use std::{ use codemap::{CodeMap, Span}; -/// Tracks all source code in a Tvix evaluation for accurate error +/// Tracks all source code in a Snix evaluation for accurate error /// reporting. #[derive(Clone, Debug)] pub struct SourceCode(Rc>); diff --git a/tvix/eval/src/spans.rs b/snix/eval/src/spans.rs similarity index 100% rename from tvix/eval/src/spans.rs rename to snix/eval/src/spans.rs diff --git a/tvix/eval/src/systems.rs b/snix/eval/src/systems.rs similarity index 99% rename from tvix/eval/src/systems.rs rename to snix/eval/src/systems.rs index 16386cb9e..a0b8ea544 100644 --- a/tvix/eval/src/systems.rs +++ b/snix/eval/src/systems.rs @@ -28,7 +28,7 @@ pub fn llvm_triple_to_nix_double(llvm_triple: &str) -> String { // should be using wasm32-unknown-none, which config.sub // accepts. Hopefully the rustc people will change their // triple before stabilising this triple. In the meantime, - // we fix it here in order to unbreak tvixbolt. + // we fix it here in order to unbreak snixbolt. // // https://doc.rust-lang.org/beta/nightly-rustc/rustc_target/spec/wasm32_unknown_unknown/index.html ["unknown", "unknown"] if cpu == "wasm32" => "none", diff --git a/tvix/eval/src/test_utils.rs b/snix/eval/src/test_utils.rs similarity index 100% rename from tvix/eval/src/test_utils.rs rename to snix/eval/src/test_utils.rs diff --git a/tvix/eval/src/tests/mod.rs b/snix/eval/src/tests/mod.rs similarity index 100% rename from tvix/eval/src/tests/mod.rs rename to snix/eval/src/tests/mod.rs diff --git a/tvix/eval/src/tests/nix_tests.rs b/snix/eval/src/tests/nix_tests.rs similarity index 94% rename from tvix/eval/src/tests/nix_tests.rs rename to snix/eval/src/tests/nix_tests.rs index b17fe98bc..c1106f0f5 100644 --- a/tvix/eval/src/tests/nix_tests.rs +++ b/snix/eval/src/tests/nix_tests.rs @@ -7,8 +7,8 @@ use std::path::PathBuf; #[builtins] mod mock_builtins { //! Builtins which are required by language tests, but should not - //! actually exist in //tvix/eval. - use crate as tvix_eval; + //! actually exist in //snix/eval. + use crate as snix_eval; use crate::generators::GenCo; use crate::*; use genawaiter::rc::Gen; @@ -126,7 +126,7 @@ fn eval_test(code_path: PathBuf, expect_success: bool) { // themselves exactly (i.e. literals). #[cfg(feature = "impure")] #[rstest] -fn identity(#[files("src/tests/tvix_tests/identity-*.nix")] code_path: PathBuf) { +fn identity(#[files("src/tests/snix_tests/identity-*.nix")] code_path: PathBuf) { use crate::{vm::EvalMode, EvalIO}; let code = std::fs::read_to_string(code_path).expect("should be able to read test code"); @@ -159,7 +159,7 @@ fn identity(#[files("src/tests/tvix_tests/identity-*.nix")] code_path: PathBuf) // are guaranteed to be valid Nix code. #[cfg(feature = "impure")] #[rstest] -fn eval_okay(#[files("src/tests/tvix_tests/eval-okay-*.nix")] code_path: PathBuf) { +fn eval_okay(#[files("src/tests/snix_tests/eval-okay-*.nix")] code_path: PathBuf) { eval_test(code_path, true) } @@ -170,7 +170,7 @@ fn nix_eval_okay(#[files("src/tests/nix_tests/eval-okay-*.nix")] code_path: Path eval_test(code_path, true) } -// eval-okay-* tests from the original Nix test suite which do not yet pass for tvix +// eval-okay-* tests from the original Nix test suite which do not yet pass for snix // // Eventually there will be none of these left, and this function // will disappear :) @@ -190,7 +190,7 @@ fn nix_eval_okay_currently_failing( #[cfg(feature = "impure")] #[rstest] fn eval_okay_currently_failing( - #[files("src/tests/tvix_tests/notyetpassing/eval-okay-*.nix")] code_path: PathBuf, + #[files("src/tests/snix_tests/notyetpassing/eval-okay-*.nix")] code_path: PathBuf, ) { eval_test(code_path, false) } @@ -200,7 +200,7 @@ fn eval_okay_currently_failing( // (assertion, parse error, etc) is not currently checked. #[cfg(feature = "impure")] #[rstest] -fn eval_fail(#[files("src/tests/tvix_tests/eval-fail-*.nix")] code_path: PathBuf) { +fn eval_fail(#[files("src/tests/snix_tests/eval-fail-*.nix")] code_path: PathBuf) { eval_test(code_path, false) } diff --git a/tvix/eval/src/tests/nix_tests/README.md b/snix/eval/src/tests/nix_tests/README.md similarity index 100% rename from tvix/eval/src/tests/nix_tests/README.md rename to snix/eval/src/tests/nix_tests/README.md diff --git a/tvix/eval/src/tests/nix_tests/binary-data b/snix/eval/src/tests/nix_tests/binary-data similarity index 100% rename from tvix/eval/src/tests/nix_tests/binary-data rename to snix/eval/src/tests/nix_tests/binary-data diff --git a/tvix/eval/src/tests/nix_tests/data b/snix/eval/src/tests/nix_tests/data similarity index 100% rename from tvix/eval/src/tests/nix_tests/data rename to snix/eval/src/tests/nix_tests/data diff --git a/tvix/eval/src/tests/nix_tests/dir1/a.nix b/snix/eval/src/tests/nix_tests/dir1/a.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/dir1/a.nix rename to snix/eval/src/tests/nix_tests/dir1/a.nix diff --git a/tvix/eval/src/tests/nix_tests/dir2/a.nix b/snix/eval/src/tests/nix_tests/dir2/a.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/dir2/a.nix rename to snix/eval/src/tests/nix_tests/dir2/a.nix diff --git a/tvix/eval/src/tests/nix_tests/dir2/b.nix b/snix/eval/src/tests/nix_tests/dir2/b.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/dir2/b.nix rename to snix/eval/src/tests/nix_tests/dir2/b.nix diff --git a/tvix/eval/src/tests/nix_tests/dir3/a.nix b/snix/eval/src/tests/nix_tests/dir3/a.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/dir3/a.nix rename to snix/eval/src/tests/nix_tests/dir3/a.nix diff --git a/tvix/eval/src/tests/nix_tests/dir3/b.nix b/snix/eval/src/tests/nix_tests/dir3/b.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/dir3/b.nix rename to snix/eval/src/tests/nix_tests/dir3/b.nix diff --git a/tvix/eval/src/tests/nix_tests/dir3/c.nix b/snix/eval/src/tests/nix_tests/dir3/c.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/dir3/c.nix rename to snix/eval/src/tests/nix_tests/dir3/c.nix diff --git a/tvix/eval/src/tests/nix_tests/dir4/a.nix b/snix/eval/src/tests/nix_tests/dir4/a.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/dir4/a.nix rename to snix/eval/src/tests/nix_tests/dir4/a.nix diff --git a/tvix/eval/src/tests/nix_tests/dir4/c.nix b/snix/eval/src/tests/nix_tests/dir4/c.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/dir4/c.nix rename to snix/eval/src/tests/nix_tests/dir4/c.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-abort.nix b/snix/eval/src/tests/nix_tests/eval-fail-abort.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-abort.nix rename to snix/eval/src/tests/nix_tests/eval-fail-abort.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-assert.nix b/snix/eval/src/tests/nix_tests/eval-fail-assert.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-assert.nix rename to snix/eval/src/tests/nix_tests/eval-fail-assert.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-bad-antiquote-1.nix b/snix/eval/src/tests/nix_tests/eval-fail-bad-antiquote-1.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-bad-antiquote-1.nix rename to snix/eval/src/tests/nix_tests/eval-fail-bad-antiquote-1.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-bad-antiquote-3.nix b/snix/eval/src/tests/nix_tests/eval-fail-bad-antiquote-3.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-bad-antiquote-3.nix rename to snix/eval/src/tests/nix_tests/eval-fail-bad-antiquote-3.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-blackhole.nix b/snix/eval/src/tests/nix_tests/eval-fail-blackhole.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-blackhole.nix rename to snix/eval/src/tests/nix_tests/eval-fail-blackhole.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-deepseq.nix b/snix/eval/src/tests/nix_tests/eval-fail-deepseq.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-deepseq.nix rename to snix/eval/src/tests/nix_tests/eval-fail-deepseq.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-foldlStrict-strict-op-application.nix b/snix/eval/src/tests/nix_tests/eval-fail-foldlStrict-strict-op-application.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-foldlStrict-strict-op-application.nix rename to snix/eval/src/tests/nix_tests/eval-fail-foldlStrict-strict-op-application.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-hashfile-missing.nix b/snix/eval/src/tests/nix_tests/eval-fail-hashfile-missing.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-hashfile-missing.nix rename to snix/eval/src/tests/nix_tests/eval-fail-hashfile-missing.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-missing-arg.nix b/snix/eval/src/tests/nix_tests/eval-fail-missing-arg.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-missing-arg.nix rename to snix/eval/src/tests/nix_tests/eval-fail-missing-arg.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-path-slash.nix b/snix/eval/src/tests/nix_tests/eval-fail-path-slash.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-path-slash.nix rename to snix/eval/src/tests/nix_tests/eval-fail-path-slash.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-remove.nix b/snix/eval/src/tests/nix_tests/eval-fail-remove.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-remove.nix rename to snix/eval/src/tests/nix_tests/eval-fail-remove.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-seq.nix b/snix/eval/src/tests/nix_tests/eval-fail-seq.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-seq.nix rename to snix/eval/src/tests/nix_tests/eval-fail-seq.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-substring.nix b/snix/eval/src/tests/nix_tests/eval-fail-substring.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-substring.nix rename to snix/eval/src/tests/nix_tests/eval-fail-substring.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-fail-to-path.nix b/snix/eval/src/tests/nix_tests/eval-fail-to-path.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-fail-to-path.nix rename to snix/eval/src/tests/nix_tests/eval-fail-to-path.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-any-all.exp b/snix/eval/src/tests/nix_tests/eval-okay-any-all.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-any-all.exp rename to snix/eval/src/tests/nix_tests/eval-okay-any-all.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-any-all.nix b/snix/eval/src/tests/nix_tests/eval-okay-any-all.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-any-all.nix rename to snix/eval/src/tests/nix_tests/eval-okay-any-all.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-arithmetic.exp b/snix/eval/src/tests/nix_tests/eval-okay-arithmetic.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-arithmetic.exp rename to snix/eval/src/tests/nix_tests/eval-okay-arithmetic.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-arithmetic.nix b/snix/eval/src/tests/nix_tests/eval-okay-arithmetic.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-arithmetic.nix rename to snix/eval/src/tests/nix_tests/eval-okay-arithmetic.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-attrnames.exp b/snix/eval/src/tests/nix_tests/eval-okay-attrnames.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-attrnames.exp rename to snix/eval/src/tests/nix_tests/eval-okay-attrnames.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-attrnames.nix b/snix/eval/src/tests/nix_tests/eval-okay-attrnames.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-attrnames.nix rename to snix/eval/src/tests/nix_tests/eval-okay-attrnames.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-attrs.exp b/snix/eval/src/tests/nix_tests/eval-okay-attrs.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-attrs.exp rename to snix/eval/src/tests/nix_tests/eval-okay-attrs.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-attrs.nix b/snix/eval/src/tests/nix_tests/eval-okay-attrs.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-attrs.nix rename to snix/eval/src/tests/nix_tests/eval-okay-attrs.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-attrs2.exp b/snix/eval/src/tests/nix_tests/eval-okay-attrs2.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-attrs2.exp rename to snix/eval/src/tests/nix_tests/eval-okay-attrs2.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-attrs2.nix b/snix/eval/src/tests/nix_tests/eval-okay-attrs2.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-attrs2.nix rename to snix/eval/src/tests/nix_tests/eval-okay-attrs2.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-attrs3.exp b/snix/eval/src/tests/nix_tests/eval-okay-attrs3.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-attrs3.exp rename to snix/eval/src/tests/nix_tests/eval-okay-attrs3.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-attrs3.nix b/snix/eval/src/tests/nix_tests/eval-okay-attrs3.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-attrs3.nix rename to snix/eval/src/tests/nix_tests/eval-okay-attrs3.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-attrs4.exp b/snix/eval/src/tests/nix_tests/eval-okay-attrs4.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-attrs4.exp rename to snix/eval/src/tests/nix_tests/eval-okay-attrs4.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-attrs4.nix b/snix/eval/src/tests/nix_tests/eval-okay-attrs4.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-attrs4.nix rename to snix/eval/src/tests/nix_tests/eval-okay-attrs4.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-attrs5.exp b/snix/eval/src/tests/nix_tests/eval-okay-attrs5.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-attrs5.exp rename to snix/eval/src/tests/nix_tests/eval-okay-attrs5.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-attrs5.nix b/snix/eval/src/tests/nix_tests/eval-okay-attrs5.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-attrs5.nix rename to snix/eval/src/tests/nix_tests/eval-okay-attrs5.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-backslash-newline-1.exp b/snix/eval/src/tests/nix_tests/eval-okay-backslash-newline-1.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-backslash-newline-1.exp rename to snix/eval/src/tests/nix_tests/eval-okay-backslash-newline-1.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-backslash-newline-1.nix b/snix/eval/src/tests/nix_tests/eval-okay-backslash-newline-1.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-backslash-newline-1.nix rename to snix/eval/src/tests/nix_tests/eval-okay-backslash-newline-1.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-backslash-newline-2.exp b/snix/eval/src/tests/nix_tests/eval-okay-backslash-newline-2.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-backslash-newline-2.exp rename to snix/eval/src/tests/nix_tests/eval-okay-backslash-newline-2.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-backslash-newline-2.nix b/snix/eval/src/tests/nix_tests/eval-okay-backslash-newline-2.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-backslash-newline-2.nix rename to snix/eval/src/tests/nix_tests/eval-okay-backslash-newline-2.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-builtins-add.exp b/snix/eval/src/tests/nix_tests/eval-okay-builtins-add.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-builtins-add.exp rename to snix/eval/src/tests/nix_tests/eval-okay-builtins-add.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-builtins-add.nix b/snix/eval/src/tests/nix_tests/eval-okay-builtins-add.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-builtins-add.nix rename to snix/eval/src/tests/nix_tests/eval-okay-builtins-add.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-builtins.exp b/snix/eval/src/tests/nix_tests/eval-okay-builtins.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-builtins.exp rename to snix/eval/src/tests/nix_tests/eval-okay-builtins.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-builtins.nix b/snix/eval/src/tests/nix_tests/eval-okay-builtins.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-builtins.nix rename to snix/eval/src/tests/nix_tests/eval-okay-builtins.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-callable-attrs.exp b/snix/eval/src/tests/nix_tests/eval-okay-callable-attrs.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-callable-attrs.exp rename to snix/eval/src/tests/nix_tests/eval-okay-callable-attrs.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-callable-attrs.nix b/snix/eval/src/tests/nix_tests/eval-okay-callable-attrs.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-callable-attrs.nix rename to snix/eval/src/tests/nix_tests/eval-okay-callable-attrs.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-catattrs.exp b/snix/eval/src/tests/nix_tests/eval-okay-catattrs.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-catattrs.exp rename to snix/eval/src/tests/nix_tests/eval-okay-catattrs.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-catattrs.nix b/snix/eval/src/tests/nix_tests/eval-okay-catattrs.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-catattrs.nix rename to snix/eval/src/tests/nix_tests/eval-okay-catattrs.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-closure.exp b/snix/eval/src/tests/nix_tests/eval-okay-closure.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-closure.exp rename to snix/eval/src/tests/nix_tests/eval-okay-closure.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-closure.exp.xml b/snix/eval/src/tests/nix_tests/eval-okay-closure.exp.xml similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-closure.exp.xml rename to snix/eval/src/tests/nix_tests/eval-okay-closure.exp.xml diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-closure.nix b/snix/eval/src/tests/nix_tests/eval-okay-closure.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-closure.nix rename to snix/eval/src/tests/nix_tests/eval-okay-closure.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-comments.exp b/snix/eval/src/tests/nix_tests/eval-okay-comments.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-comments.exp rename to snix/eval/src/tests/nix_tests/eval-okay-comments.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-comments.nix b/snix/eval/src/tests/nix_tests/eval-okay-comments.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-comments.nix rename to snix/eval/src/tests/nix_tests/eval-okay-comments.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-concat.exp b/snix/eval/src/tests/nix_tests/eval-okay-concat.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-concat.exp rename to snix/eval/src/tests/nix_tests/eval-okay-concat.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-concat.nix b/snix/eval/src/tests/nix_tests/eval-okay-concat.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-concat.nix rename to snix/eval/src/tests/nix_tests/eval-okay-concat.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-concatmap.exp b/snix/eval/src/tests/nix_tests/eval-okay-concatmap.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-concatmap.exp rename to snix/eval/src/tests/nix_tests/eval-okay-concatmap.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-concatmap.nix b/snix/eval/src/tests/nix_tests/eval-okay-concatmap.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-concatmap.nix rename to snix/eval/src/tests/nix_tests/eval-okay-concatmap.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-concatstringssep.exp b/snix/eval/src/tests/nix_tests/eval-okay-concatstringssep.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-concatstringssep.exp rename to snix/eval/src/tests/nix_tests/eval-okay-concatstringssep.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-concatstringssep.nix b/snix/eval/src/tests/nix_tests/eval-okay-concatstringssep.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-concatstringssep.nix rename to snix/eval/src/tests/nix_tests/eval-okay-concatstringssep.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-deepseq.exp b/snix/eval/src/tests/nix_tests/eval-okay-deepseq.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-deepseq.exp rename to snix/eval/src/tests/nix_tests/eval-okay-deepseq.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-deepseq.nix b/snix/eval/src/tests/nix_tests/eval-okay-deepseq.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-deepseq.nix rename to snix/eval/src/tests/nix_tests/eval-okay-deepseq.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-delayed-with-inherit.exp b/snix/eval/src/tests/nix_tests/eval-okay-delayed-with-inherit.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-delayed-with-inherit.exp rename to snix/eval/src/tests/nix_tests/eval-okay-delayed-with-inherit.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-delayed-with-inherit.nix b/snix/eval/src/tests/nix_tests/eval-okay-delayed-with-inherit.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-delayed-with-inherit.nix rename to snix/eval/src/tests/nix_tests/eval-okay-delayed-with-inherit.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-2.exp b/snix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-2.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-2.exp rename to snix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-2.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-2.nix b/snix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-2.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-2.nix rename to snix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-2.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.exp b/snix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.exp rename to snix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.nix b/snix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.nix rename to snix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs-bare.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs.exp b/snix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs.exp rename to snix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs.nix b/snix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs.nix rename to snix/eval/src/tests/nix_tests/eval-okay-dynamic-attrs.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-elem.exp b/snix/eval/src/tests/nix_tests/eval-okay-elem.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-elem.exp rename to snix/eval/src/tests/nix_tests/eval-okay-elem.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-elem.nix b/snix/eval/src/tests/nix_tests/eval-okay-elem.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-elem.nix rename to snix/eval/src/tests/nix_tests/eval-okay-elem.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-empty-args.exp b/snix/eval/src/tests/nix_tests/eval-okay-empty-args.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-empty-args.exp rename to snix/eval/src/tests/nix_tests/eval-okay-empty-args.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-empty-args.nix b/snix/eval/src/tests/nix_tests/eval-okay-empty-args.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-empty-args.nix rename to snix/eval/src/tests/nix_tests/eval-okay-empty-args.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-eq.exp b/snix/eval/src/tests/nix_tests/eval-okay-eq.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-eq.exp rename to snix/eval/src/tests/nix_tests/eval-okay-eq.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-eq.nix b/snix/eval/src/tests/nix_tests/eval-okay-eq.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-eq.nix rename to snix/eval/src/tests/nix_tests/eval-okay-eq.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-filter.exp b/snix/eval/src/tests/nix_tests/eval-okay-filter.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-filter.exp rename to snix/eval/src/tests/nix_tests/eval-okay-filter.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-filter.nix b/snix/eval/src/tests/nix_tests/eval-okay-filter.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-filter.nix rename to snix/eval/src/tests/nix_tests/eval-okay-filter.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-flatten.exp b/snix/eval/src/tests/nix_tests/eval-okay-flatten.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-flatten.exp rename to snix/eval/src/tests/nix_tests/eval-okay-flatten.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-flatten.nix b/snix/eval/src/tests/nix_tests/eval-okay-flatten.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-flatten.nix rename to snix/eval/src/tests/nix_tests/eval-okay-flatten.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-float.exp b/snix/eval/src/tests/nix_tests/eval-okay-float.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-float.exp rename to snix/eval/src/tests/nix_tests/eval-okay-float.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-float.nix b/snix/eval/src/tests/nix_tests/eval-okay-float.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-float.nix rename to snix/eval/src/tests/nix_tests/eval-okay-float.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-elements.exp b/snix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-elements.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-elements.exp rename to snix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-elements.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-elements.nix b/snix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-elements.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-elements.nix rename to snix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-elements.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.exp b/snix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.exp rename to snix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.nix b/snix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.nix rename to snix/eval/src/tests/nix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-foldlStrict.exp b/snix/eval/src/tests/nix_tests/eval-okay-foldlStrict.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-foldlStrict.exp rename to snix/eval/src/tests/nix_tests/eval-okay-foldlStrict.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-foldlStrict.nix b/snix/eval/src/tests/nix_tests/eval-okay-foldlStrict.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-foldlStrict.nix rename to snix/eval/src/tests/nix_tests/eval-okay-foldlStrict.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-fromTOML.exp b/snix/eval/src/tests/nix_tests/eval-okay-fromTOML.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-fromTOML.exp rename to snix/eval/src/tests/nix_tests/eval-okay-fromTOML.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-fromTOML.nix b/snix/eval/src/tests/nix_tests/eval-okay-fromTOML.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-fromTOML.nix rename to snix/eval/src/tests/nix_tests/eval-okay-fromTOML.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-fromjson-escapes.exp b/snix/eval/src/tests/nix_tests/eval-okay-fromjson-escapes.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-fromjson-escapes.exp rename to snix/eval/src/tests/nix_tests/eval-okay-fromjson-escapes.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-fromjson-escapes.nix b/snix/eval/src/tests/nix_tests/eval-okay-fromjson-escapes.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-fromjson-escapes.nix rename to snix/eval/src/tests/nix_tests/eval-okay-fromjson-escapes.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-fromjson.exp b/snix/eval/src/tests/nix_tests/eval-okay-fromjson.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-fromjson.exp rename to snix/eval/src/tests/nix_tests/eval-okay-fromjson.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-fromjson.nix b/snix/eval/src/tests/nix_tests/eval-okay-fromjson.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-fromjson.nix rename to snix/eval/src/tests/nix_tests/eval-okay-fromjson.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-functionargs.exp b/snix/eval/src/tests/nix_tests/eval-okay-functionargs.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-functionargs.exp rename to snix/eval/src/tests/nix_tests/eval-okay-functionargs.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-functionargs.exp.xml b/snix/eval/src/tests/nix_tests/eval-okay-functionargs.exp.xml similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-functionargs.exp.xml rename to snix/eval/src/tests/nix_tests/eval-okay-functionargs.exp.xml diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-functionargs.nix b/snix/eval/src/tests/nix_tests/eval-okay-functionargs.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-functionargs.nix rename to snix/eval/src/tests/nix_tests/eval-okay-functionargs.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-getenv.exp b/snix/eval/src/tests/nix_tests/eval-okay-getenv.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-getenv.exp rename to snix/eval/src/tests/nix_tests/eval-okay-getenv.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-getenv.nix b/snix/eval/src/tests/nix_tests/eval-okay-getenv.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-getenv.nix rename to snix/eval/src/tests/nix_tests/eval-okay-getenv.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-groupBy.exp b/snix/eval/src/tests/nix_tests/eval-okay-groupBy.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-groupBy.exp rename to snix/eval/src/tests/nix_tests/eval-okay-groupBy.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-groupBy.nix b/snix/eval/src/tests/nix_tests/eval-okay-groupBy.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-groupBy.nix rename to snix/eval/src/tests/nix_tests/eval-okay-groupBy.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-hash.exp b/snix/eval/src/tests/nix_tests/eval-okay-hash.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-hash.exp rename to snix/eval/src/tests/nix_tests/eval-okay-hash.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-hashfile.exp b/snix/eval/src/tests/nix_tests/eval-okay-hashfile.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-hashfile.exp rename to snix/eval/src/tests/nix_tests/eval-okay-hashfile.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-hashfile.nix b/snix/eval/src/tests/nix_tests/eval-okay-hashfile.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-hashfile.nix rename to snix/eval/src/tests/nix_tests/eval-okay-hashfile.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-hashstring.exp b/snix/eval/src/tests/nix_tests/eval-okay-hashstring.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-hashstring.exp rename to snix/eval/src/tests/nix_tests/eval-okay-hashstring.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-hashstring.nix b/snix/eval/src/tests/nix_tests/eval-okay-hashstring.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-hashstring.nix rename to snix/eval/src/tests/nix_tests/eval-okay-hashstring.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-if.exp b/snix/eval/src/tests/nix_tests/eval-okay-if.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-if.exp rename to snix/eval/src/tests/nix_tests/eval-okay-if.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-if.nix b/snix/eval/src/tests/nix_tests/eval-okay-if.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-if.nix rename to snix/eval/src/tests/nix_tests/eval-okay-if.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-ind-string.exp b/snix/eval/src/tests/nix_tests/eval-okay-ind-string.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-ind-string.exp rename to snix/eval/src/tests/nix_tests/eval-okay-ind-string.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-ind-string.nix b/snix/eval/src/tests/nix_tests/eval-okay-ind-string.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-ind-string.nix rename to snix/eval/src/tests/nix_tests/eval-okay-ind-string.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-intersectAttrs.exp b/snix/eval/src/tests/nix_tests/eval-okay-intersectAttrs.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-intersectAttrs.exp rename to snix/eval/src/tests/nix_tests/eval-okay-intersectAttrs.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-intersectAttrs.nix b/snix/eval/src/tests/nix_tests/eval-okay-intersectAttrs.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-intersectAttrs.nix rename to snix/eval/src/tests/nix_tests/eval-okay-intersectAttrs.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-let.exp b/snix/eval/src/tests/nix_tests/eval-okay-let.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-let.exp rename to snix/eval/src/tests/nix_tests/eval-okay-let.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-let.nix b/snix/eval/src/tests/nix_tests/eval-okay-let.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-let.nix rename to snix/eval/src/tests/nix_tests/eval-okay-let.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-list.exp b/snix/eval/src/tests/nix_tests/eval-okay-list.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-list.exp rename to snix/eval/src/tests/nix_tests/eval-okay-list.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-list.nix b/snix/eval/src/tests/nix_tests/eval-okay-list.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-list.nix rename to snix/eval/src/tests/nix_tests/eval-okay-list.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-listtoattrs.exp b/snix/eval/src/tests/nix_tests/eval-okay-listtoattrs.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-listtoattrs.exp rename to snix/eval/src/tests/nix_tests/eval-okay-listtoattrs.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-listtoattrs.nix b/snix/eval/src/tests/nix_tests/eval-okay-listtoattrs.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-listtoattrs.nix rename to snix/eval/src/tests/nix_tests/eval-okay-listtoattrs.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-logic.exp b/snix/eval/src/tests/nix_tests/eval-okay-logic.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-logic.exp rename to snix/eval/src/tests/nix_tests/eval-okay-logic.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-logic.nix b/snix/eval/src/tests/nix_tests/eval-okay-logic.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-logic.nix rename to snix/eval/src/tests/nix_tests/eval-okay-logic.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-map.exp b/snix/eval/src/tests/nix_tests/eval-okay-map.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-map.exp rename to snix/eval/src/tests/nix_tests/eval-okay-map.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-map.nix b/snix/eval/src/tests/nix_tests/eval-okay-map.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-map.nix rename to snix/eval/src/tests/nix_tests/eval-okay-map.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-mapattrs.exp b/snix/eval/src/tests/nix_tests/eval-okay-mapattrs.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-mapattrs.exp rename to snix/eval/src/tests/nix_tests/eval-okay-mapattrs.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-mapattrs.nix b/snix/eval/src/tests/nix_tests/eval-okay-mapattrs.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-mapattrs.nix rename to snix/eval/src/tests/nix_tests/eval-okay-mapattrs.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-nested-with.exp b/snix/eval/src/tests/nix_tests/eval-okay-nested-with.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-nested-with.exp rename to snix/eval/src/tests/nix_tests/eval-okay-nested-with.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-nested-with.nix b/snix/eval/src/tests/nix_tests/eval-okay-nested-with.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-nested-with.nix rename to snix/eval/src/tests/nix_tests/eval-okay-nested-with.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-new-let.exp b/snix/eval/src/tests/nix_tests/eval-okay-new-let.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-new-let.exp rename to snix/eval/src/tests/nix_tests/eval-okay-new-let.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-new-let.nix b/snix/eval/src/tests/nix_tests/eval-okay-new-let.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-new-let.nix rename to snix/eval/src/tests/nix_tests/eval-okay-new-let.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-null-dynamic-attrs.exp b/snix/eval/src/tests/nix_tests/eval-okay-null-dynamic-attrs.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-null-dynamic-attrs.exp rename to snix/eval/src/tests/nix_tests/eval-okay-null-dynamic-attrs.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-null-dynamic-attrs.nix b/snix/eval/src/tests/nix_tests/eval-okay-null-dynamic-attrs.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-null-dynamic-attrs.nix rename to snix/eval/src/tests/nix_tests/eval-okay-null-dynamic-attrs.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-partition.exp b/snix/eval/src/tests/nix_tests/eval-okay-partition.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-partition.exp rename to snix/eval/src/tests/nix_tests/eval-okay-partition.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-partition.nix b/snix/eval/src/tests/nix_tests/eval-okay-partition.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-partition.nix rename to snix/eval/src/tests/nix_tests/eval-okay-partition.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-path.exp b/snix/eval/src/tests/nix_tests/eval-okay-path.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-path.exp rename to snix/eval/src/tests/nix_tests/eval-okay-path.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-pathexists.exp b/snix/eval/src/tests/nix_tests/eval-okay-pathexists.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-pathexists.exp rename to snix/eval/src/tests/nix_tests/eval-okay-pathexists.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-pathexists.nix b/snix/eval/src/tests/nix_tests/eval-okay-pathexists.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-pathexists.nix rename to snix/eval/src/tests/nix_tests/eval-okay-pathexists.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-patterns.exp b/snix/eval/src/tests/nix_tests/eval-okay-patterns.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-patterns.exp rename to snix/eval/src/tests/nix_tests/eval-okay-patterns.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-patterns.nix b/snix/eval/src/tests/nix_tests/eval-okay-patterns.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-patterns.nix rename to snix/eval/src/tests/nix_tests/eval-okay-patterns.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-readDir.exp b/snix/eval/src/tests/nix_tests/eval-okay-readDir.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-readDir.exp rename to snix/eval/src/tests/nix_tests/eval-okay-readDir.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-readDir.nix b/snix/eval/src/tests/nix_tests/eval-okay-readDir.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-readDir.nix rename to snix/eval/src/tests/nix_tests/eval-okay-readDir.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-readFileType.exp b/snix/eval/src/tests/nix_tests/eval-okay-readFileType.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-readFileType.exp rename to snix/eval/src/tests/nix_tests/eval-okay-readFileType.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-readFileType.nix b/snix/eval/src/tests/nix_tests/eval-okay-readFileType.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-readFileType.nix rename to snix/eval/src/tests/nix_tests/eval-okay-readFileType.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-readfile.exp b/snix/eval/src/tests/nix_tests/eval-okay-readfile.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-readfile.exp rename to snix/eval/src/tests/nix_tests/eval-okay-readfile.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-readfile.nix b/snix/eval/src/tests/nix_tests/eval-okay-readfile.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-readfile.nix rename to snix/eval/src/tests/nix_tests/eval-okay-readfile.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-redefine-builtin.exp b/snix/eval/src/tests/nix_tests/eval-okay-redefine-builtin.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-redefine-builtin.exp rename to snix/eval/src/tests/nix_tests/eval-okay-redefine-builtin.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-redefine-builtin.nix b/snix/eval/src/tests/nix_tests/eval-okay-redefine-builtin.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-redefine-builtin.nix rename to snix/eval/src/tests/nix_tests/eval-okay-redefine-builtin.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-regex-match.exp b/snix/eval/src/tests/nix_tests/eval-okay-regex-match.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-regex-match.exp rename to snix/eval/src/tests/nix_tests/eval-okay-regex-match.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-regex-match.nix b/snix/eval/src/tests/nix_tests/eval-okay-regex-match.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-regex-match.nix rename to snix/eval/src/tests/nix_tests/eval-okay-regex-match.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-regex-split.exp b/snix/eval/src/tests/nix_tests/eval-okay-regex-split.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-regex-split.exp rename to snix/eval/src/tests/nix_tests/eval-okay-regex-split.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-regex-split.nix b/snix/eval/src/tests/nix_tests/eval-okay-regex-split.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-regex-split.nix rename to snix/eval/src/tests/nix_tests/eval-okay-regex-split.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-regression-20220122.exp b/snix/eval/src/tests/nix_tests/eval-okay-regression-20220122.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-regression-20220122.exp rename to snix/eval/src/tests/nix_tests/eval-okay-regression-20220122.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-regression-20220122.nix b/snix/eval/src/tests/nix_tests/eval-okay-regression-20220122.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-regression-20220122.nix rename to snix/eval/src/tests/nix_tests/eval-okay-regression-20220122.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-regression-20220125.exp b/snix/eval/src/tests/nix_tests/eval-okay-regression-20220125.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-regression-20220125.exp rename to snix/eval/src/tests/nix_tests/eval-okay-regression-20220125.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-regression-20220125.nix b/snix/eval/src/tests/nix_tests/eval-okay-regression-20220125.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-regression-20220125.nix rename to snix/eval/src/tests/nix_tests/eval-okay-regression-20220125.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-remove.exp b/snix/eval/src/tests/nix_tests/eval-okay-remove.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-remove.exp rename to snix/eval/src/tests/nix_tests/eval-okay-remove.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-remove.nix b/snix/eval/src/tests/nix_tests/eval-okay-remove.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-remove.nix rename to snix/eval/src/tests/nix_tests/eval-okay-remove.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-scope-1.exp b/snix/eval/src/tests/nix_tests/eval-okay-scope-1.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-scope-1.exp rename to snix/eval/src/tests/nix_tests/eval-okay-scope-1.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-scope-1.nix b/snix/eval/src/tests/nix_tests/eval-okay-scope-1.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-scope-1.nix rename to snix/eval/src/tests/nix_tests/eval-okay-scope-1.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-scope-2.exp b/snix/eval/src/tests/nix_tests/eval-okay-scope-2.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-scope-2.exp rename to snix/eval/src/tests/nix_tests/eval-okay-scope-2.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-scope-2.nix b/snix/eval/src/tests/nix_tests/eval-okay-scope-2.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-scope-2.nix rename to snix/eval/src/tests/nix_tests/eval-okay-scope-2.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-scope-3.exp b/snix/eval/src/tests/nix_tests/eval-okay-scope-3.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-scope-3.exp rename to snix/eval/src/tests/nix_tests/eval-okay-scope-3.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-scope-3.nix b/snix/eval/src/tests/nix_tests/eval-okay-scope-3.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-scope-3.nix rename to snix/eval/src/tests/nix_tests/eval-okay-scope-3.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-scope-4.exp b/snix/eval/src/tests/nix_tests/eval-okay-scope-4.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-scope-4.exp rename to snix/eval/src/tests/nix_tests/eval-okay-scope-4.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-scope-4.nix b/snix/eval/src/tests/nix_tests/eval-okay-scope-4.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-scope-4.nix rename to snix/eval/src/tests/nix_tests/eval-okay-scope-4.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-scope-6.exp b/snix/eval/src/tests/nix_tests/eval-okay-scope-6.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-scope-6.exp rename to snix/eval/src/tests/nix_tests/eval-okay-scope-6.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-scope-6.nix b/snix/eval/src/tests/nix_tests/eval-okay-scope-6.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-scope-6.nix rename to snix/eval/src/tests/nix_tests/eval-okay-scope-6.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-scope-7.exp b/snix/eval/src/tests/nix_tests/eval-okay-scope-7.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-scope-7.exp rename to snix/eval/src/tests/nix_tests/eval-okay-scope-7.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-scope-7.nix b/snix/eval/src/tests/nix_tests/eval-okay-scope-7.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-scope-7.nix rename to snix/eval/src/tests/nix_tests/eval-okay-scope-7.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-seq.exp b/snix/eval/src/tests/nix_tests/eval-okay-seq.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-seq.exp rename to snix/eval/src/tests/nix_tests/eval-okay-seq.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-seq.nix b/snix/eval/src/tests/nix_tests/eval-okay-seq.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-seq.nix rename to snix/eval/src/tests/nix_tests/eval-okay-seq.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-sort.exp b/snix/eval/src/tests/nix_tests/eval-okay-sort.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-sort.exp rename to snix/eval/src/tests/nix_tests/eval-okay-sort.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-sort.nix b/snix/eval/src/tests/nix_tests/eval-okay-sort.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-sort.nix rename to snix/eval/src/tests/nix_tests/eval-okay-sort.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-splitversion.exp b/snix/eval/src/tests/nix_tests/eval-okay-splitversion.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-splitversion.exp rename to snix/eval/src/tests/nix_tests/eval-okay-splitversion.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-splitversion.nix b/snix/eval/src/tests/nix_tests/eval-okay-splitversion.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-splitversion.nix rename to snix/eval/src/tests/nix_tests/eval-okay-splitversion.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-string.exp b/snix/eval/src/tests/nix_tests/eval-okay-string.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-string.exp rename to snix/eval/src/tests/nix_tests/eval-okay-string.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-string.nix b/snix/eval/src/tests/nix_tests/eval-okay-string.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-string.nix rename to snix/eval/src/tests/nix_tests/eval-okay-string.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-strings-as-attrs-names.exp b/snix/eval/src/tests/nix_tests/eval-okay-strings-as-attrs-names.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-strings-as-attrs-names.exp rename to snix/eval/src/tests/nix_tests/eval-okay-strings-as-attrs-names.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-strings-as-attrs-names.nix b/snix/eval/src/tests/nix_tests/eval-okay-strings-as-attrs-names.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-strings-as-attrs-names.nix rename to snix/eval/src/tests/nix_tests/eval-okay-strings-as-attrs-names.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-substring.exp b/snix/eval/src/tests/nix_tests/eval-okay-substring.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-substring.exp rename to snix/eval/src/tests/nix_tests/eval-okay-substring.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-substring.nix b/snix/eval/src/tests/nix_tests/eval-okay-substring.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-substring.nix rename to snix/eval/src/tests/nix_tests/eval-okay-substring.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-tail-call-1.exp b/snix/eval/src/tests/nix_tests/eval-okay-tail-call-1.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-tail-call-1.exp rename to snix/eval/src/tests/nix_tests/eval-okay-tail-call-1.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-tail-call-1.nix b/snix/eval/src/tests/nix_tests/eval-okay-tail-call-1.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-tail-call-1.nix rename to snix/eval/src/tests/nix_tests/eval-okay-tail-call-1.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-tojson.exp b/snix/eval/src/tests/nix_tests/eval-okay-tojson.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-tojson.exp rename to snix/eval/src/tests/nix_tests/eval-okay-tojson.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-tojson.nix b/snix/eval/src/tests/nix_tests/eval-okay-tojson.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-tojson.nix rename to snix/eval/src/tests/nix_tests/eval-okay-tojson.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-toxml.exp b/snix/eval/src/tests/nix_tests/eval-okay-toxml.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-toxml.exp rename to snix/eval/src/tests/nix_tests/eval-okay-toxml.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-toxml.nix b/snix/eval/src/tests/nix_tests/eval-okay-toxml.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-toxml.nix rename to snix/eval/src/tests/nix_tests/eval-okay-toxml.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-toxml2.exp b/snix/eval/src/tests/nix_tests/eval-okay-toxml2.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-toxml2.exp rename to snix/eval/src/tests/nix_tests/eval-okay-toxml2.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-toxml2.nix b/snix/eval/src/tests/nix_tests/eval-okay-toxml2.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-toxml2.nix rename to snix/eval/src/tests/nix_tests/eval-okay-toxml2.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-tryeval.exp b/snix/eval/src/tests/nix_tests/eval-okay-tryeval.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-tryeval.exp rename to snix/eval/src/tests/nix_tests/eval-okay-tryeval.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-tryeval.nix b/snix/eval/src/tests/nix_tests/eval-okay-tryeval.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-tryeval.nix rename to snix/eval/src/tests/nix_tests/eval-okay-tryeval.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-types.exp b/snix/eval/src/tests/nix_tests/eval-okay-types.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-types.exp rename to snix/eval/src/tests/nix_tests/eval-okay-types.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-types.nix b/snix/eval/src/tests/nix_tests/eval-okay-types.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-types.nix rename to snix/eval/src/tests/nix_tests/eval-okay-types.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-versions.exp b/snix/eval/src/tests/nix_tests/eval-okay-versions.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-versions.exp rename to snix/eval/src/tests/nix_tests/eval-okay-versions.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-versions.nix b/snix/eval/src/tests/nix_tests/eval-okay-versions.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-versions.nix rename to snix/eval/src/tests/nix_tests/eval-okay-versions.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-with.exp b/snix/eval/src/tests/nix_tests/eval-okay-with.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-with.exp rename to snix/eval/src/tests/nix_tests/eval-okay-with.exp diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-with.nix b/snix/eval/src/tests/nix_tests/eval-okay-with.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-with.nix rename to snix/eval/src/tests/nix_tests/eval-okay-with.nix diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-xml.exp.xml b/snix/eval/src/tests/nix_tests/eval-okay-xml.exp.xml similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-xml.exp.xml rename to snix/eval/src/tests/nix_tests/eval-okay-xml.exp.xml diff --git a/tvix/eval/src/tests/nix_tests/eval-okay-xml.nix b/snix/eval/src/tests/nix_tests/eval-okay-xml.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/eval-okay-xml.nix rename to snix/eval/src/tests/nix_tests/eval-okay-xml.nix diff --git a/tvix/eval/src/tests/nix_tests/imported.nix b/snix/eval/src/tests/nix_tests/imported.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/imported.nix rename to snix/eval/src/tests/nix_tests/imported.nix diff --git a/tvix/eval/src/tests/nix_tests/imported2.nix b/snix/eval/src/tests/nix_tests/imported2.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/imported2.nix rename to snix/eval/src/tests/nix_tests/imported2.nix diff --git a/tvix/eval/src/tests/nix_tests/lib.nix b/snix/eval/src/tests/nix_tests/lib.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/lib.nix rename to snix/eval/src/tests/nix_tests/lib.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-fail-bad-antiquote-2.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-fail-bad-antiquote-2.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-fail-bad-antiquote-2.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-fail-bad-antiquote-2.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-fail-fromTOML-timestamps.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-fail-fromTOML-timestamps.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-fail-fromTOML-timestamps.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-fail-fromTOML-timestamps.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-fail-nonexist-path.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-fail-nonexist-path.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-fail-nonexist-path.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-fail-nonexist-path.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-fail-scope-5.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-fail-scope-5.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-fail-scope-5.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-fail-scope-5.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-fail-undeclared-arg.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-fail-undeclared-arg.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-fail-undeclared-arg.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-fail-undeclared-arg.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-attrs6.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-attrs6.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-attrs6.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-attrs6.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-attrs6.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-attrs6.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-attrs6.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-attrs6.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-autoargs.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-autoargs.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-autoargs.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-autoargs.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-autoargs.flags b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-autoargs.flags similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-autoargs.flags rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-autoargs.flags diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-autoargs.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-autoargs.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-autoargs.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-autoargs.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context-introspection.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context-introspection.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context-introspection.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context-introspection.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context-introspection.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context-introspection.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context-introspection.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context-introspection.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-context.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-curpos.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-curpos.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-curpos.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-curpos.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-curpos.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-curpos.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-curpos.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-curpos.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-delayed-with.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-delayed-with.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-delayed-with.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-delayed-with.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-delayed-with.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-delayed-with.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-delayed-with.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-delayed-with.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-eq-derivations.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-eq-derivations.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-eq-derivations.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-eq-derivations.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-eq-derivations.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-eq-derivations.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-eq-derivations.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-eq-derivations.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-floor-ceil.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-floor-ceil.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-floor-ceil.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-floor-ceil.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-floor-ceil.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-floor-ceil.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-floor-ceil.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-floor-ceil.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromTOML-timestamps.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromTOML-timestamps.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromTOML-timestamps.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromTOML-timestamps.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromTOML-timestamps.flags b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromTOML-timestamps.flags similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromTOML-timestamps.flags rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromTOML-timestamps.flags diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromTOML-timestamps.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromTOML-timestamps.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromTOML-timestamps.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-fromTOML-timestamps.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-functionargs.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-functionargs.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-functionargs.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-functionargs.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-functionargs.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-functionargs.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-functionargs.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-functionargs.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-undefined.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-undefined.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-undefined.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-undefined.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-undefined.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-undefined.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-undefined.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos-undefined.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-getattrpos.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-import.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-import.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-import.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-import.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-import.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-import.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-import.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-import.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-overrides.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-overrides.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-overrides.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-overrides.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-overrides.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-overrides.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-overrides.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-overrides.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-path-antiquotation.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-path-antiquotation.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-path-antiquotation.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-path-antiquotation.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-path-antiquotation.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-path-antiquotation.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-path-antiquotation.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-path-antiquotation.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-path.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-path.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-path.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-path.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-replacestrings.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-replacestrings.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-replacestrings.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-replacestrings.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-replacestrings.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-replacestrings.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-replacestrings.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-replacestrings.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-search-path.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-search-path.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-search-path.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-search-path.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-search-path.flags b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-search-path.flags similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-search-path.flags rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-search-path.flags diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-search-path.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-search-path.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-search-path.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-search-path.nix diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-zipAttrsWith.exp b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-zipAttrsWith.exp similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-zipAttrsWith.exp rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-zipAttrsWith.exp diff --git a/tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-zipAttrsWith.nix b/snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-zipAttrsWith.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/notyetpassing/eval-okay-zipAttrsWith.nix rename to snix/eval/src/tests/nix_tests/notyetpassing/eval-okay-zipAttrsWith.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-dup-attrs-1.nix b/snix/eval/src/tests/nix_tests/parse-fail-dup-attrs-1.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-dup-attrs-1.nix rename to snix/eval/src/tests/nix_tests/parse-fail-dup-attrs-1.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-dup-attrs-2.nix b/snix/eval/src/tests/nix_tests/parse-fail-dup-attrs-2.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-dup-attrs-2.nix rename to snix/eval/src/tests/nix_tests/parse-fail-dup-attrs-2.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-dup-attrs-3.nix b/snix/eval/src/tests/nix_tests/parse-fail-dup-attrs-3.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-dup-attrs-3.nix rename to snix/eval/src/tests/nix_tests/parse-fail-dup-attrs-3.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-dup-attrs-4.nix b/snix/eval/src/tests/nix_tests/parse-fail-dup-attrs-4.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-dup-attrs-4.nix rename to snix/eval/src/tests/nix_tests/parse-fail-dup-attrs-4.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-dup-attrs-7.nix b/snix/eval/src/tests/nix_tests/parse-fail-dup-attrs-7.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-dup-attrs-7.nix rename to snix/eval/src/tests/nix_tests/parse-fail-dup-attrs-7.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-dup-formals.nix b/snix/eval/src/tests/nix_tests/parse-fail-dup-formals.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-dup-formals.nix rename to snix/eval/src/tests/nix_tests/parse-fail-dup-formals.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-eof-in-string.nix b/snix/eval/src/tests/nix_tests/parse-fail-eof-in-string.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-eof-in-string.nix rename to snix/eval/src/tests/nix_tests/parse-fail-eof-in-string.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-mixed-nested-attrs1.nix b/snix/eval/src/tests/nix_tests/parse-fail-mixed-nested-attrs1.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-mixed-nested-attrs1.nix rename to snix/eval/src/tests/nix_tests/parse-fail-mixed-nested-attrs1.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-mixed-nested-attrs2.nix b/snix/eval/src/tests/nix_tests/parse-fail-mixed-nested-attrs2.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-mixed-nested-attrs2.nix rename to snix/eval/src/tests/nix_tests/parse-fail-mixed-nested-attrs2.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-patterns-1.nix b/snix/eval/src/tests/nix_tests/parse-fail-patterns-1.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-patterns-1.nix rename to snix/eval/src/tests/nix_tests/parse-fail-patterns-1.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-regression-20060610.nix b/snix/eval/src/tests/nix_tests/parse-fail-regression-20060610.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-regression-20060610.nix rename to snix/eval/src/tests/nix_tests/parse-fail-regression-20060610.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-uft8.nix b/snix/eval/src/tests/nix_tests/parse-fail-uft8.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-uft8.nix rename to snix/eval/src/tests/nix_tests/parse-fail-uft8.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-undef-var-2.nix b/snix/eval/src/tests/nix_tests/parse-fail-undef-var-2.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-undef-var-2.nix rename to snix/eval/src/tests/nix_tests/parse-fail-undef-var-2.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-fail-undef-var.nix b/snix/eval/src/tests/nix_tests/parse-fail-undef-var.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-fail-undef-var.nix rename to snix/eval/src/tests/nix_tests/parse-fail-undef-var.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-okay-1.nix b/snix/eval/src/tests/nix_tests/parse-okay-1.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-okay-1.nix rename to snix/eval/src/tests/nix_tests/parse-okay-1.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-okay-crlf.nix b/snix/eval/src/tests/nix_tests/parse-okay-crlf.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-okay-crlf.nix rename to snix/eval/src/tests/nix_tests/parse-okay-crlf.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-okay-dup-attrs-5.nix b/snix/eval/src/tests/nix_tests/parse-okay-dup-attrs-5.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-okay-dup-attrs-5.nix rename to snix/eval/src/tests/nix_tests/parse-okay-dup-attrs-5.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-okay-dup-attrs-6.nix b/snix/eval/src/tests/nix_tests/parse-okay-dup-attrs-6.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-okay-dup-attrs-6.nix rename to snix/eval/src/tests/nix_tests/parse-okay-dup-attrs-6.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-okay-mixed-nested-attrs-1.nix b/snix/eval/src/tests/nix_tests/parse-okay-mixed-nested-attrs-1.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-okay-mixed-nested-attrs-1.nix rename to snix/eval/src/tests/nix_tests/parse-okay-mixed-nested-attrs-1.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-okay-mixed-nested-attrs-2.nix b/snix/eval/src/tests/nix_tests/parse-okay-mixed-nested-attrs-2.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-okay-mixed-nested-attrs-2.nix rename to snix/eval/src/tests/nix_tests/parse-okay-mixed-nested-attrs-2.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-okay-mixed-nested-attrs-3.nix b/snix/eval/src/tests/nix_tests/parse-okay-mixed-nested-attrs-3.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-okay-mixed-nested-attrs-3.nix rename to snix/eval/src/tests/nix_tests/parse-okay-mixed-nested-attrs-3.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-okay-regression-20041027.nix b/snix/eval/src/tests/nix_tests/parse-okay-regression-20041027.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-okay-regression-20041027.nix rename to snix/eval/src/tests/nix_tests/parse-okay-regression-20041027.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-okay-regression-751.nix b/snix/eval/src/tests/nix_tests/parse-okay-regression-751.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-okay-regression-751.nix rename to snix/eval/src/tests/nix_tests/parse-okay-regression-751.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-okay-subversion.nix b/snix/eval/src/tests/nix_tests/parse-okay-subversion.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-okay-subversion.nix rename to snix/eval/src/tests/nix_tests/parse-okay-subversion.nix diff --git a/tvix/eval/src/tests/nix_tests/parse-okay-url.nix b/snix/eval/src/tests/nix_tests/parse-okay-url.nix similarity index 100% rename from tvix/eval/src/tests/nix_tests/parse-okay-url.nix rename to snix/eval/src/tests/nix_tests/parse-okay-url.nix diff --git a/tvix/eval/src/tests/nix_tests/readDir/bar b/snix/eval/src/tests/nix_tests/readDir/bar similarity index 100% rename from tvix/eval/src/tests/nix_tests/readDir/bar rename to snix/eval/src/tests/nix_tests/readDir/bar diff --git a/tvix/eval/src/tests/nix_tests/readDir/foo/git-hates-directories b/snix/eval/src/tests/nix_tests/readDir/foo/git-hates-directories similarity index 100% rename from tvix/eval/src/tests/nix_tests/readDir/foo/git-hates-directories rename to snix/eval/src/tests/nix_tests/readDir/foo/git-hates-directories diff --git a/tvix/eval/src/tests/nix_tests/readDir/ldir b/snix/eval/src/tests/nix_tests/readDir/ldir similarity index 100% rename from tvix/eval/src/tests/nix_tests/readDir/ldir rename to snix/eval/src/tests/nix_tests/readDir/ldir diff --git a/tvix/eval/src/tests/nix_tests/readDir/linked b/snix/eval/src/tests/nix_tests/readDir/linked similarity index 100% rename from tvix/eval/src/tests/nix_tests/readDir/linked rename to snix/eval/src/tests/nix_tests/readDir/linked diff --git a/tvix/eval/src/tests/one_offs.rs b/snix/eval/src/tests/one_offs.rs similarity index 100% rename from tvix/eval/src/tests/one_offs.rs rename to snix/eval/src/tests/one_offs.rs diff --git a/tvix/eval/src/tests/tvix_tests/README.md b/snix/eval/src/tests/snix_tests/README.md similarity index 100% rename from tvix/eval/src/tests/tvix_tests/README.md rename to snix/eval/src/tests/snix_tests/README.md diff --git a/tvix/eval/src/tests/tvix_tests/directory/default.nix b/snix/eval/src/tests/snix_tests/directory/default.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/directory/default.nix rename to snix/eval/src/tests/snix_tests/directory/default.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-builtins-substring-negative-start.nix b/snix/eval/src/tests/snix_tests/eval-fail-builtins-substring-negative-start.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-builtins-substring-negative-start.nix rename to snix/eval/src/tests/snix_tests/eval-fail-builtins-substring-negative-start.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-builtins-thunk-error.nix b/snix/eval/src/tests/snix_tests/eval-fail-builtins-thunk-error.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-builtins-thunk-error.nix rename to snix/eval/src/tests/snix_tests/eval-fail-builtins-thunk-error.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-builtins-tojson-tostring-notcallable.nix b/snix/eval/src/tests/snix_tests/eval-fail-builtins-tojson-tostring-notcallable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-builtins-tojson-tostring-notcallable.nix rename to snix/eval/src/tests/snix_tests/eval-fail-builtins-tojson-tostring-notcallable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-builtins-tojson-tostring-strong.nix b/snix/eval/src/tests/snix_tests/eval-fail-builtins-tojson-tostring-strong.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-builtins-tojson-tostring-strong.nix rename to snix/eval/src/tests/snix_tests/eval-fail-builtins-tojson-tostring-strong.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-closed-formals.nix b/snix/eval/src/tests/snix_tests/eval-fail-closed-formals.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-closed-formals.nix rename to snix/eval/src/tests/snix_tests/eval-fail-closed-formals.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-deep-forced-thunk-error.nix b/snix/eval/src/tests/snix_tests/eval-fail-deep-forced-thunk-error.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-deep-forced-thunk-error.nix rename to snix/eval/src/tests/snix_tests/eval-fail-deep-forced-thunk-error.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-deepseq.nix b/snix/eval/src/tests/snix_tests/eval-fail-deepseq.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-deepseq.nix rename to snix/eval/src/tests/snix_tests/eval-fail-deepseq.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-division-by-zero-float.nix b/snix/eval/src/tests/snix_tests/eval-fail-division-by-zero-float.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-division-by-zero-float.nix rename to snix/eval/src/tests/snix_tests/eval-fail-division-by-zero-float.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-division-by-zero-int.nix b/snix/eval/src/tests/snix_tests/eval-fail-division-by-zero-int.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-division-by-zero-int.nix rename to snix/eval/src/tests/snix_tests/eval-fail-division-by-zero-int.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-foldlStrict-strict-op-application.nix b/snix/eval/src/tests/snix_tests/eval-fail-foldlStrict-strict-op-application.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-foldlStrict-strict-op-application.nix rename to snix/eval/src/tests/snix_tests/eval-fail-foldlStrict-strict-op-application.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-force-before-value-pointer-equality.nix b/snix/eval/src/tests/snix_tests/eval-fail-force-before-value-pointer-equality.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-force-before-value-pointer-equality.nix rename to snix/eval/src/tests/snix_tests/eval-fail-force-before-value-pointer-equality.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-function-formals-typecheck.nix b/snix/eval/src/tests/snix_tests/eval-fail-function-formals-typecheck.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-function-formals-typecheck.nix rename to snix/eval/src/tests/snix_tests/eval-fail-function-formals-typecheck.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-getEnv-coercion.nix b/snix/eval/src/tests/snix_tests/eval-fail-getEnv-coercion.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-getEnv-coercion.nix rename to snix/eval/src/tests/snix_tests/eval-fail-getEnv-coercion.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-infinite-recursion.nix b/snix/eval/src/tests/snix_tests/eval-fail-infinite-recursion.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-infinite-recursion.nix rename to snix/eval/src/tests/snix_tests/eval-fail-infinite-recursion.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-outer-value-never-pointer-equal.nix b/snix/eval/src/tests/snix_tests/eval-fail-outer-value-never-pointer-equal.nix similarity index 64% rename from tvix/eval/src/tests/tvix_tests/eval-fail-outer-value-never-pointer-equal.nix rename to snix/eval/src/tests/snix_tests/eval-fail-outer-value-never-pointer-equal.nix index a8c3cedf6..f15a8c8a2 100644 --- a/tvix/eval/src/tests/tvix_tests/eval-fail-outer-value-never-pointer-equal.nix +++ b/snix/eval/src/tests/snix_tests/eval-fail-outer-value-never-pointer-equal.nix @@ -1,4 +1,4 @@ -# For an explanation of this behavior see //tvix/docs/value-pointer-equality.md +# For an explanation of this behavior see //snix/docs/value-pointer-equality.md let x = { foo = throw "foo"; }; in diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-parsedrvname-coerce.nix b/snix/eval/src/tests/snix_tests/eval-fail-parsedrvname-coerce.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-parsedrvname-coerce.nix rename to snix/eval/src/tests/snix_tests/eval-fail-parsedrvname-coerce.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-remove.nix b/snix/eval/src/tests/snix_tests/eval-fail-remove.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-remove.nix rename to snix/eval/src/tests/snix_tests/eval-fail-remove.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-seq.nix b/snix/eval/src/tests/snix_tests/eval-fail-seq.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-seq.nix rename to snix/eval/src/tests/snix_tests/eval-fail-seq.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-fail-throw-abort-cannot-be-caught.nix b/snix/eval/src/tests/snix_tests/eval-fail-throw-abort-cannot-be-caught.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-fail-throw-abort-cannot-be-caught.nix rename to snix/eval/src/tests/snix_tests/eval-fail-throw-abort-cannot-be-caught.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-abort-throw-can-be-caught.exp b/snix/eval/src/tests/snix_tests/eval-okay-abort-throw-can-be-caught.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-abort-throw-can-be-caught.exp rename to snix/eval/src/tests/snix_tests/eval-okay-abort-throw-can-be-caught.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-abort-throw-can-be-caught.nix b/snix/eval/src/tests/snix_tests/eval-okay-abort-throw-can-be-caught.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-abort-throw-can-be-caught.nix rename to snix/eval/src/tests/snix_tests/eval-okay-abort-throw-can-be-caught.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-access-strange-identifier.exp b/snix/eval/src/tests/snix_tests/eval-okay-access-strange-identifier.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-access-strange-identifier.exp rename to snix/eval/src/tests/snix_tests/eval-okay-access-strange-identifier.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-access-strange-identifier.nix b/snix/eval/src/tests/snix_tests/eval-okay-access-strange-identifier.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-access-strange-identifier.nix rename to snix/eval/src/tests/snix_tests/eval-okay-access-strange-identifier.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-add-paths.exp b/snix/eval/src/tests/snix_tests/eval-okay-add-paths.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-add-paths.exp rename to snix/eval/src/tests/snix_tests/eval-okay-add-paths.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-add-paths.nix b/snix/eval/src/tests/snix_tests/eval-okay-add-paths.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-add-paths.nix rename to snix/eval/src/tests/snix_tests/eval-okay-add-paths.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-arithmetic-float.exp b/snix/eval/src/tests/snix_tests/eval-okay-arithmetic-float.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-arithmetic-float.exp rename to snix/eval/src/tests/snix_tests/eval-okay-arithmetic-float.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-arithmetic-float.nix b/snix/eval/src/tests/snix_tests/eval-okay-arithmetic-float.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-arithmetic-float.nix rename to snix/eval/src/tests/snix_tests/eval-okay-arithmetic-float.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-arithmetic-int.exp b/snix/eval/src/tests/snix_tests/eval-okay-arithmetic-int.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-arithmetic-int.exp rename to snix/eval/src/tests/snix_tests/eval-okay-arithmetic-int.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-arithmetic-int.nix b/snix/eval/src/tests/snix_tests/eval-okay-arithmetic-int.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-arithmetic-int.nix rename to snix/eval/src/tests/snix_tests/eval-okay-arithmetic-int.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-assert-thunk-condition.exp b/snix/eval/src/tests/snix_tests/eval-okay-assert-thunk-condition.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-assert-thunk-condition.exp rename to snix/eval/src/tests/snix_tests/eval-okay-assert-thunk-condition.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-assert-thunk-condition.nix b/snix/eval/src/tests/snix_tests/eval-okay-assert-thunk-condition.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-assert-thunk-condition.nix rename to snix/eval/src/tests/snix_tests/eval-okay-assert-thunk-condition.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attempt-to-call-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-attempt-to-call-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attempt-to-call-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-attempt-to-call-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attempt-to-call-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-attempt-to-call-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attempt-to-call-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-attempt-to-call-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attr-key-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-attr-key-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attr-key-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-attr-key-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attr-key-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-attr-key-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attr-key-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-attr-key-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attrs-inherit-literal.exp b/snix/eval/src/tests/snix_tests/eval-okay-attrs-inherit-literal.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attrs-inherit-literal.exp rename to snix/eval/src/tests/snix_tests/eval-okay-attrs-inherit-literal.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attrs-inherit-literal.nix b/snix/eval/src/tests/snix_tests/eval-okay-attrs-inherit-literal.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attrs-inherit-literal.nix rename to snix/eval/src/tests/snix_tests/eval-okay-attrs-inherit-literal.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attrs-simple-inherit.exp b/snix/eval/src/tests/snix_tests/eval-okay-attrs-simple-inherit.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attrs-simple-inherit.exp rename to snix/eval/src/tests/snix_tests/eval-okay-attrs-simple-inherit.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attrs-simple-inherit.nix b/snix/eval/src/tests/snix_tests/eval-okay-attrs-simple-inherit.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attrs-simple-inherit.nix rename to snix/eval/src/tests/snix_tests/eval-okay-attrs-simple-inherit.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update-empty-lhs.exp b/snix/eval/src/tests/snix_tests/eval-okay-attrs-update-empty-lhs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update-empty-lhs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-attrs-update-empty-lhs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update-empty-lhs.nix b/snix/eval/src/tests/snix_tests/eval-okay-attrs-update-empty-lhs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update-empty-lhs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-attrs-update-empty-lhs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update-empty-rhs.exp b/snix/eval/src/tests/snix_tests/eval-okay-attrs-update-empty-rhs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update-empty-rhs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-attrs-update-empty-rhs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update-empty-rhs.nix b/snix/eval/src/tests/snix_tests/eval-okay-attrs-update-empty-rhs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update-empty-rhs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-attrs-update-empty-rhs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update-kv-lhs.exp b/snix/eval/src/tests/snix_tests/eval-okay-attrs-update-kv-lhs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update-kv-lhs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-attrs-update-kv-lhs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update-kv-lhs.nix b/snix/eval/src/tests/snix_tests/eval-okay-attrs-update-kv-lhs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update-kv-lhs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-attrs-update-kv-lhs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update.exp b/snix/eval/src/tests/snix_tests/eval-okay-attrs-update.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update.exp rename to snix/eval/src/tests/snix_tests/eval-okay-attrs-update.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update.nix b/snix/eval/src/tests/snix_tests/eval-okay-attrs-update.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-attrs-update.nix rename to snix/eval/src/tests/snix_tests/eval-okay-attrs-update.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-basenameof-propagate-catchables.exp b/snix/eval/src/tests/snix_tests/eval-okay-basenameof-propagate-catchables.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-basenameof-propagate-catchables.exp rename to snix/eval/src/tests/snix_tests/eval-okay-basenameof-propagate-catchables.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-basenameof-propagate-catchables.nix b/snix/eval/src/tests/snix_tests/eval-okay-basenameof-propagate-catchables.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-basenameof-propagate-catchables.nix rename to snix/eval/src/tests/snix_tests/eval-okay-basenameof-propagate-catchables.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-basenameof.exp b/snix/eval/src/tests/snix_tests/eval-okay-basenameof.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-basenameof.exp rename to snix/eval/src/tests/snix_tests/eval-okay-basenameof.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-basenameof.nix b/snix/eval/src/tests/snix_tests/eval-okay-basenameof.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-basenameof.nix rename to snix/eval/src/tests/snix_tests/eval-okay-basenameof.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-add.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-add.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-add.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-add.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-add.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-add.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-add.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-add.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-all-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-all-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-all-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-all-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-all-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-all-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-all-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-all-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-all.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-all.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-all.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-all.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-all.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-all.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-all.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-all.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-any-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-any-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-any-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-any-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-any-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-any-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-any-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-any-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-any.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-any.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-any.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-any.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-any.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-any.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-any.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-any.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-attrnames.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-attrnames.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-attrnames.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-attrnames.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-attrnames.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-attrnames.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-attrnames.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-attrnames.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-attrvalues-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-attrvalues-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-attrvalues-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-attrvalues-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-attrvalues-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-attrvalues-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-attrvalues-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-attrvalues-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-attrvalues.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-attrvalues.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-attrvalues.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-attrvalues.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-attrvalues.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-attrvalues.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-attrvalues.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-attrvalues.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-bitand.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-bitand.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-bitand.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-bitand.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-bitand.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-bitand.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-bitand.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-bitand.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-bitor.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-bitor.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-bitor.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-bitor.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-bitor.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-bitor.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-bitor.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-bitor.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-bitxor.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-bitxor.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-bitxor.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-bitxor.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-bitxor.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-bitxor.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-bitxor.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-bitxor.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-builtins.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-builtins.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-builtins.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-builtins.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-builtins.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-builtins.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-builtins.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-builtins.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-catAttrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-catAttrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-catAttrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-catAttrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-catAttrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-catAttrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-catAttrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-catAttrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-catattrs-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-catattrs-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-catattrs-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-catattrs-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-catattrs-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-catattrs-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-catattrs-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-catattrs-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-compareVersions.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-compareVersions.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-compareVersions.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-compareVersions.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-compareVersions.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-compareVersions.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-compareVersions.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-compareVersions.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-lists-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-lists-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-lists-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-lists-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-lists-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-lists-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-lists-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-lists-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-lists.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-lists.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-lists.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-lists.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-lists.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-lists.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-lists.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-lists.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-map-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-map-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-map-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-map-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-map-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-map-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-map-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-map-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-strings-sep-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-strings-sep-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-strings-sep-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-strings-sep-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-strings-sep-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-strings-sep-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-concat-strings-sep-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-concat-strings-sep-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-div.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-div.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-div.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-div.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-div.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-div.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-div.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-div.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-elemAt-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-elemAt-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-elemAt-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-elemAt-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-elemAt-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-elemAt-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-elemAt-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-elemAt-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-elemat.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-elemat.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-elemat.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-elemat.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-elemat.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-elemat.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-elemat.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-elemat.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-filter-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-filter-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-filter-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-filter-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-filter-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-filter-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-filter-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-filter-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-filter-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-filter-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-filter-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-filter-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-filter-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-filter-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-filter-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-filter-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-filter.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-filter.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-filter.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-filter.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-filter.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-filter.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-filter.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-filter.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-foldl-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-foldl-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-foldl-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-foldl-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-foldl-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-foldl-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-foldl-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-foldl-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-from-json-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-from-json-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-from-json-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-from-json-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-from-json-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-from-json-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-from-json-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-from-json-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-function-args-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-function-args-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-function-args-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-function-args-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-function-args-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-function-args-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-function-args-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-function-args-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-gen-list-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-gen-list-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-gen-list-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-gen-list-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-gen-list-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-gen-list-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-gen-list-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-gen-list-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-genList-function-strictness.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-genList-function-strictness.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-genList-function-strictness.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-genList-function-strictness.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-genList-function-strictness.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-genList-function-strictness.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-genList-function-strictness.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-genList-function-strictness.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-genericClosure-pointer-equality.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-genericClosure-pointer-equality.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-genericClosure-pointer-equality.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-genericClosure-pointer-equality.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-genericClosure-pointer-equality.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-genericClosure-pointer-equality.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-genericClosure-pointer-equality.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-genericClosure-pointer-equality.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-genericClosure-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-genericClosure-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-genericClosure-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-genericClosure-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-genericClosure-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-genericClosure-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-genericClosure-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-genericClosure-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-getAttr-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-getAttr-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-getAttr-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-getAttr-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-getAttr-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-getAttr-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-getAttr-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-getAttr-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-getContext-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-getContext-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-getContext-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-getContext-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-getContext-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-getContext-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-getContext-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-getContext-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-getattr.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-getattr.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-getattr.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-getattr.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-getattr.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-getattr.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-getattr.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-getattr.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-group-by-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-group-by-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-group-by-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-group-by-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-group-by-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-group-by-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-group-by-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-group-by-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-groupby-thunk.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-groupby-thunk.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-groupby-thunk.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-groupby-thunk.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-groupby-thunk.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-groupby-thunk.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-groupby-thunk.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-groupby-thunk.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-hasContext-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-hasContext-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-hasContext-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-hasContext-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-hasContext-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-hasContext-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-hasContext-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-hasContext-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-hasattr.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-hasattr.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-hasattr.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-hasattr.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-hasattr.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-hasattr.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-hasattr.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-hasattr.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-hashString.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-hashString.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-hashString.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-hashString.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-hashString.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-hashString.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-hashString.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-hashString.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-head-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-head-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-head-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-head-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-head-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-head-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-head-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-head-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-head.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-head.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-head.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-head.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-head.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-head.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-head.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-head.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-isType-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-isType-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-isType-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-isType-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-isType-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-isType-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-isType-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-isType-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-length-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-length-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-length-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-length-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-length-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-length-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-length-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-length-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-length.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-length.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-length.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-length.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-length.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-length.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-length.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-length.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-lessThan.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-lessThan.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-lessThan.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-lessThan.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-lessThan.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-lessThan.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-lessThan.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-lessThan.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-list-to-attrs-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-list-to-attrs-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-list-to-attrs-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-list-to-attrs-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-list-to-attrs-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-list-to-attrs-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-list-to-attrs-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-list-to-attrs-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-map-function-strictness.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-map-function-strictness.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-map-function-strictness.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-map-function-strictness.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-map-function-strictness.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-map-function-strictness.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-map-function-strictness.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-map-function-strictness.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-map-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-map-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-map-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-map-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-map-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-map-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-map-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-map-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-map.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-map.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-map.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-map.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-map.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-map.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-map.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-map.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-mapAttrs-function-strictness.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-mapAttrs-function-strictness.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-mapAttrs-function-strictness.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-mapAttrs-function-strictness.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-mapAttrs-function-strictness.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-mapAttrs-function-strictness.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-mapAttrs-function-strictness.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-mapAttrs-function-strictness.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-match-propagate-catchables.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-match-propagate-catchables.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-match-propagate-catchables.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-match-propagate-catchables.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-match-propagate-catchables.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-match-propagate-catchables.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-match-propagate-catchables.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-match-propagate-catchables.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-mul.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-mul.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-mul.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-mul.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-mul.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-mul.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-mul.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-mul.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-parse-drv-name-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-parse-drv-name-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-parse-drv-name-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-parse-drv-name-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-parse-drv-name-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-parse-drv-name-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-parse-drv-name-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-parse-drv-name-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-partition-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-partition-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-partition-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-partition-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-partition-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-partition-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-partition-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-partition-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-partition.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-partition.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-partition.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-partition.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-partition.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-partition.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-partition.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-partition.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-remove-attrs-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-remove-attrs-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-remove-attrs-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-remove-attrs-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-remove-attrs-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-remove-attrs-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-remove-attrs-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-remove-attrs-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-replace-strings-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-replace-strings-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-replace-strings-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-replace-strings-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-replace-strings-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-replace-strings-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-replace-strings-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-replace-strings-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-replaceStrings.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-replaceStrings.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-replaceStrings.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-replaceStrings.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-replaceStrings.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-replaceStrings.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-replaceStrings.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-replaceStrings.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-sort-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-sort-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-sort-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-sort-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-sort-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-sort-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-sort-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-sort-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-split-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-split-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-split-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-split-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-split-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-split-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-split-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-split-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-split.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-split.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-split.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-split.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-split.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-split.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-split.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-split.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-splitVersion.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-splitVersion.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-splitVersion.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-splitVersion.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-splitVersion.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-splitVersion.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-splitVersion.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-splitVersion.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-splitversion-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-splitversion-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-splitversion-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-splitversion-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-splitversion-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-splitversion-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-splitversion-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-splitversion-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-string-length-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-string-length-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-string-length-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-string-length-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-string-length-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-string-length-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-string-length-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-string-length-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-string-length.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-string-length.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-string-length.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-string-length.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-string-length.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-string-length.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-string-length.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-string-length.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-sub.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-sub.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-sub.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-sub.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-sub.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-sub.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-sub.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-sub.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-substring-coerce.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-substring-coerce.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-substring-coerce.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-substring-coerce.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-substring-coerce.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-substring-coerce.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-substring-coerce.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-substring-coerce.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-substring-negative-length.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-substring-negative-length.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-substring-negative-length.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-substring-negative-length.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-substring-negative-length.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-substring-negative-length.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-substring-negative-length.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-substring-negative-length.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-substring.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-substring.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-substring.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-substring.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-substring.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-substring.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-substring.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-substring.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tail-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tail-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tail-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tail-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tail-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tail-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tail-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tail-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tail.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tail.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tail.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tail.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tail.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tail.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tail.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tail.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-thunked-function-calls.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-thunked-function-calls.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-thunked-function-calls.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-thunked-function-calls.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-thunked-function-calls.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-thunked-function-calls.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-thunked-function-calls.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-thunked-function-calls.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-json-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-to-json-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-json-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-to-json-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-json-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-to-json-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-json-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-to-json-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-path-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-to-path-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-path-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-to-path-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-path-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-to-path-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-path-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-to-path-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-string-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-to-string-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-string-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-to-string-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-string-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-to-string-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-string-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-to-string-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-xml-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-to-xml-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-xml-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-to-xml-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-xml-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-to-xml-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-to-xml-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-to-xml-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-toString.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-toString.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-toString.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-toString.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-toString.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-toString.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-toString.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-toString.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-literals.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-literals.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-literals.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-literals.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-literals.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-literals.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-literals.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-literals.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-outpath-nested.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-outpath-nested.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-outpath-nested.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-outpath-nested.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-outpath-nested.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-outpath-nested.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-outpath-nested.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-outpath-nested.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-outpath.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-outpath.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-outpath.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-outpath.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-outpath.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-outpath.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-outpath.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-outpath.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-thunks.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-thunks.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-thunks.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-thunks.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-thunks.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-thunks.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-thunks.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-thunks.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-tostring.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-tostring.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-tostring.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-tostring.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-tostring.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-tostring.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-tojson-tostring.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-tojson-tostring.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-type-of-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-type-of-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-type-of-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-type-of-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-type-of-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-type-of-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-type-of-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-type-of-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-type-of.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-type-of.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-type-of.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-type-of.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-type-of.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-type-of.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-type-of.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-type-of.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-type-predicates.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-type-predicates.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-type-predicates.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-type-predicates.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-type-predicates.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-type-predicates.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-type-predicates.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-type-predicates.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-unsafe-discard-string-context-propagate-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-builtins-unsafe-discard-string-context-propagate-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-unsafe-discard-string-context-propagate-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-unsafe-discard-string-context-propagate-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-builtins-unsafe-discard-string-context-propagate-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-builtins-unsafe-discard-string-context-propagate-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-builtins-unsafe-discard-string-context-propagate-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-builtins-unsafe-discard-string-context-propagate-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-double-throw.exp b/snix/eval/src/tests/snix_tests/eval-okay-catchable-double-throw.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-double-throw.exp rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-double-throw.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-double-throw.nix b/snix/eval/src/tests/snix_tests/eval-okay-catchable-double-throw.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-double-throw.nix rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-double-throw.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-attrNames.exp b/snix/eval/src/tests/snix_tests/eval-okay-catchable-in-attrNames.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-attrNames.exp rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-in-attrNames.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-attrNames.nix b/snix/eval/src/tests/snix_tests/eval-okay-catchable-in-attrNames.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-attrNames.nix rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-in-attrNames.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-inequality.exp b/snix/eval/src/tests/snix_tests/eval-okay-catchable-in-inequality.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-inequality.exp rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-in-inequality.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-inequality.nix b/snix/eval/src/tests/snix_tests/eval-okay-catchable-in-inequality.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-inequality.nix rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-in-inequality.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-intersectattrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-catchable-in-intersectattrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-intersectattrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-in-intersectattrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-intersectattrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-catchable-in-intersectattrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-intersectattrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-in-intersectattrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-string-interpolation.exp b/snix/eval/src/tests/snix_tests/eval-okay-catchable-in-string-interpolation.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-string-interpolation.exp rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-in-string-interpolation.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-string-interpolation.nix b/snix/eval/src/tests/snix_tests/eval-okay-catchable-in-string-interpolation.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-string-interpolation.nix rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-in-string-interpolation.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-update-attrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-catchable-in-update-attrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-update-attrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-in-update-attrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-update-attrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-catchable-in-update-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-in-update-attrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-in-update-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-passed-to-function-with-formals.exp b/snix/eval/src/tests/snix_tests/eval-okay-catchable-passed-to-function-with-formals.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-passed-to-function-with-formals.exp rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-passed-to-function-with-formals.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-catchable-passed-to-function-with-formals.nix b/snix/eval/src/tests/snix_tests/eval-okay-catchable-passed-to-function-with-formals.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-catchable-passed-to-function-with-formals.nix rename to snix/eval/src/tests/snix_tests/eval-okay-catchable-passed-to-function-with-formals.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-ceil.exp b/snix/eval/src/tests/snix_tests/eval-okay-ceil.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-ceil.exp rename to snix/eval/src/tests/snix_tests/eval-okay-ceil.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-ceil.nix b/snix/eval/src/tests/snix_tests/eval-okay-ceil.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-ceil.nix rename to snix/eval/src/tests/snix_tests/eval-okay-ceil.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-closure-pointer-compare.exp b/snix/eval/src/tests/snix_tests/eval-okay-closure-pointer-compare.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-closure-pointer-compare.exp rename to snix/eval/src/tests/snix_tests/eval-okay-closure-pointer-compare.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-closure-pointer-compare.nix b/snix/eval/src/tests/snix_tests/eval-okay-closure-pointer-compare.nix similarity index 71% rename from tvix/eval/src/tests/tvix_tests/eval-okay-closure-pointer-compare.nix rename to snix/eval/src/tests/snix_tests/eval-okay-closure-pointer-compare.nix index 639191be5..6b8beda43 100644 --- a/tvix/eval/src/tests/tvix_tests/eval-okay-closure-pointer-compare.nix +++ b/snix/eval/src/tests/snix_tests/eval-okay-closure-pointer-compare.nix @@ -1,4 +1,4 @@ -# For an explanation of this behavior see //tvix/docs/value-pointer-equality.md +# For an explanation of this behavior see //snix/docs/value-pointer-equality.md let g = x: owo: "th" + x; diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-closure-self.exp b/snix/eval/src/tests/snix_tests/eval-okay-closure-self.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-closure-self.exp rename to snix/eval/src/tests/snix_tests/eval-okay-closure-self.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-closure-self.nix b/snix/eval/src/tests/snix_tests/eval-okay-closure-self.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-closure-self.nix rename to snix/eval/src/tests/snix_tests/eval-okay-closure-self.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-closure-with-shadowing.exp b/snix/eval/src/tests/snix_tests/eval-okay-closure-with-shadowing.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-closure-with-shadowing.exp rename to snix/eval/src/tests/snix_tests/eval-okay-closure-with-shadowing.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-closure-with-shadowing.nix b/snix/eval/src/tests/snix_tests/eval-okay-closure-with-shadowing.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-closure-with-shadowing.nix rename to snix/eval/src/tests/snix_tests/eval-okay-closure-with-shadowing.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-float-false.exp b/snix/eval/src/tests/snix_tests/eval-okay-cmp-float-false.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-float-false.exp rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-float-false.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-float-false.nix b/snix/eval/src/tests/snix_tests/eval-okay-cmp-float-false.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-float-false.nix rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-float-false.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-float-true.exp b/snix/eval/src/tests/snix_tests/eval-okay-cmp-float-true.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-float-true.exp rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-float-true.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-float-true.nix b/snix/eval/src/tests/snix_tests/eval-okay-cmp-float-true.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-float-true.nix rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-float-true.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-int-false.exp b/snix/eval/src/tests/snix_tests/eval-okay-cmp-int-false.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-int-false.exp rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-int-false.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-int-false.nix b/snix/eval/src/tests/snix_tests/eval-okay-cmp-int-false.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-int-false.nix rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-int-false.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-int-true.exp b/snix/eval/src/tests/snix_tests/eval-okay-cmp-int-true.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-int-true.exp rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-int-true.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-int-true.nix b/snix/eval/src/tests/snix_tests/eval-okay-cmp-int-true.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-int-true.nix rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-int-true.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-num-false.exp b/snix/eval/src/tests/snix_tests/eval-okay-cmp-num-false.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-num-false.exp rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-num-false.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-num-false.nix b/snix/eval/src/tests/snix_tests/eval-okay-cmp-num-false.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-num-false.nix rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-num-false.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-num-true.exp b/snix/eval/src/tests/snix_tests/eval-okay-cmp-num-true.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-num-true.exp rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-num-true.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-num-true.nix b/snix/eval/src/tests/snix_tests/eval-okay-cmp-num-true.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-num-true.nix rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-num-true.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-str-false.exp b/snix/eval/src/tests/snix_tests/eval-okay-cmp-str-false.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-str-false.exp rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-str-false.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-str-false.nix b/snix/eval/src/tests/snix_tests/eval-okay-cmp-str-false.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-str-false.nix rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-str-false.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-str-true.exp b/snix/eval/src/tests/snix_tests/eval-okay-cmp-str-true.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-str-true.exp rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-str-true.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-cmp-str-true.nix b/snix/eval/src/tests/snix_tests/eval-okay-cmp-str-true.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-cmp-str-true.nix rename to snix/eval/src/tests/snix_tests/eval-okay-cmp-str-true.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-coerce-opadd.exp b/snix/eval/src/tests/snix_tests/eval-okay-coerce-opadd.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-coerce-opadd.exp rename to snix/eval/src/tests/snix_tests/eval-okay-coerce-opadd.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-coerce-opadd.nix b/snix/eval/src/tests/snix_tests/eval-okay-coerce-opadd.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-coerce-opadd.nix rename to snix/eval/src/tests/snix_tests/eval-okay-coerce-opadd.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-compare-lists.exp b/snix/eval/src/tests/snix_tests/eval-okay-compare-lists.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-compare-lists.exp rename to snix/eval/src/tests/snix_tests/eval-okay-compare-lists.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-compare-lists.nix b/snix/eval/src/tests/snix_tests/eval-okay-compare-lists.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-compare-lists.nix rename to snix/eval/src/tests/snix_tests/eval-okay-compare-lists.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-compare-ordering-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-compare-ordering-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-compare-ordering-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-compare-ordering-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-compare-ordering-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-compare-ordering-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-compare-ordering-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-compare-ordering-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-concat-lists.exp b/snix/eval/src/tests/snix_tests/eval-okay-concat-lists.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-concat-lists.exp rename to snix/eval/src/tests/snix_tests/eval-okay-concat-lists.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-concat-lists.nix b/snix/eval/src/tests/snix_tests/eval-okay-concat-lists.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-concat-lists.nix rename to snix/eval/src/tests/snix_tests/eval-okay-concat-lists.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-concat-strings.exp b/snix/eval/src/tests/snix_tests/eval-okay-concat-strings.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-concat-strings.exp rename to snix/eval/src/tests/snix_tests/eval-okay-concat-strings.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-concat-strings.nix b/snix/eval/src/tests/snix_tests/eval-okay-concat-strings.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-concat-strings.nix rename to snix/eval/src/tests/snix_tests/eval-okay-concat-strings.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-concatmap.exp b/snix/eval/src/tests/snix_tests/eval-okay-concatmap.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-concatmap.exp rename to snix/eval/src/tests/snix_tests/eval-okay-concatmap.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-concatmap.nix b/snix/eval/src/tests/snix_tests/eval-okay-concatmap.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-concatmap.nix rename to snix/eval/src/tests/snix_tests/eval-okay-concatmap.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-concatstringssep.exp b/snix/eval/src/tests/snix_tests/eval-okay-concatstringssep.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-concatstringssep.exp rename to snix/eval/src/tests/snix_tests/eval-okay-concatstringssep.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-concatstringssep.nix b/snix/eval/src/tests/snix_tests/eval-okay-concatstringssep.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-concatstringssep.nix rename to snix/eval/src/tests/snix_tests/eval-okay-concatstringssep.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-contains-nested-non-set.exp b/snix/eval/src/tests/snix_tests/eval-okay-contains-nested-non-set.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-contains-nested-non-set.exp rename to snix/eval/src/tests/snix_tests/eval-okay-contains-nested-non-set.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-contains-nested-non-set.nix b/snix/eval/src/tests/snix_tests/eval-okay-contains-nested-non-set.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-contains-nested-non-set.nix rename to snix/eval/src/tests/snix_tests/eval-okay-contains-nested-non-set.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-contains-non-set.exp b/snix/eval/src/tests/snix_tests/eval-okay-contains-non-set.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-contains-non-set.exp rename to snix/eval/src/tests/snix_tests/eval-okay-contains-non-set.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-contains-non-set.nix b/snix/eval/src/tests/snix_tests/eval-okay-contains-non-set.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-contains-non-set.nix rename to snix/eval/src/tests/snix_tests/eval-okay-contains-non-set.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-deeply-nested-attrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-deeply-nested-attrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-deeply-nested-attrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-deeply-nested-attrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-deeply-nested-attrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-deeply-nested-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-deeply-nested-attrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-deeply-nested-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-deeply-nested-with-closure.exp b/snix/eval/src/tests/snix_tests/eval-okay-deeply-nested-with-closure.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-deeply-nested-with-closure.exp rename to snix/eval/src/tests/snix_tests/eval-okay-deeply-nested-with-closure.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-deeply-nested-with-closure.nix b/snix/eval/src/tests/snix_tests/eval-okay-deeply-nested-with-closure.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-deeply-nested-with-closure.nix rename to snix/eval/src/tests/snix_tests/eval-okay-deeply-nested-with-closure.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-deeply-nested-with.exp b/snix/eval/src/tests/snix_tests/eval-okay-deeply-nested-with.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-deeply-nested-with.exp rename to snix/eval/src/tests/snix_tests/eval-okay-deeply-nested-with.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-deeply-nested-with.nix b/snix/eval/src/tests/snix_tests/eval-okay-deeply-nested-with.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-deeply-nested-with.nix rename to snix/eval/src/tests/snix_tests/eval-okay-deeply-nested-with.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-deepseq.exp b/snix/eval/src/tests/snix_tests/eval-okay-deepseq.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-deepseq.exp rename to snix/eval/src/tests/snix_tests/eval-okay-deepseq.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-deepseq.nix b/snix/eval/src/tests/snix_tests/eval-okay-deepseq.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-deepseq.nix rename to snix/eval/src/tests/snix_tests/eval-okay-deepseq.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-deferred-unary-formals.exp b/snix/eval/src/tests/snix_tests/eval-okay-deferred-unary-formals.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-deferred-unary-formals.exp rename to snix/eval/src/tests/snix_tests/eval-okay-deferred-unary-formals.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-deferred-unary-formals.nix b/snix/eval/src/tests/snix_tests/eval-okay-deferred-unary-formals.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-deferred-unary-formals.nix rename to snix/eval/src/tests/snix_tests/eval-okay-deferred-unary-formals.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-deferred-with.exp b/snix/eval/src/tests/snix_tests/eval-okay-deferred-with.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-deferred-with.exp rename to snix/eval/src/tests/snix_tests/eval-okay-deferred-with.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-deferred-with.nix b/snix/eval/src/tests/snix_tests/eval-okay-deferred-with.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-deferred-with.nix rename to snix/eval/src/tests/snix_tests/eval-okay-deferred-with.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-dirof.exp b/snix/eval/src/tests/snix_tests/eval-okay-dirof.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-dirof.exp rename to snix/eval/src/tests/snix_tests/eval-okay-dirof.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-dirof.nix b/snix/eval/src/tests/snix_tests/eval-okay-dirof.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-dirof.nix rename to snix/eval/src/tests/snix_tests/eval-okay-dirof.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-elem.exp b/snix/eval/src/tests/snix_tests/eval-okay-elem.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-elem.exp rename to snix/eval/src/tests/snix_tests/eval-okay-elem.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-elem.nix b/snix/eval/src/tests/snix_tests/eval-okay-elem.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-elem.nix rename to snix/eval/src/tests/snix_tests/eval-okay-elem.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-empty-rec-inherit.exp b/snix/eval/src/tests/snix_tests/eval-okay-empty-rec-inherit.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-empty-rec-inherit.exp rename to snix/eval/src/tests/snix_tests/eval-okay-empty-rec-inherit.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-empty-rec-inherit.nix b/snix/eval/src/tests/snix_tests/eval-okay-empty-rec-inherit.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-empty-rec-inherit.nix rename to snix/eval/src/tests/snix_tests/eval-okay-empty-rec-inherit.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-eq-float.exp b/snix/eval/src/tests/snix_tests/eval-okay-eq-float.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-eq-float.exp rename to snix/eval/src/tests/snix_tests/eval-okay-eq-float.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-eq-float.nix b/snix/eval/src/tests/snix_tests/eval-okay-eq-float.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-eq-float.nix rename to snix/eval/src/tests/snix_tests/eval-okay-eq-float.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-eq-int.exp b/snix/eval/src/tests/snix_tests/eval-okay-eq-int.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-eq-int.exp rename to snix/eval/src/tests/snix_tests/eval-okay-eq-int.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-eq-int.nix b/snix/eval/src/tests/snix_tests/eval-okay-eq-int.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-eq-int.nix rename to snix/eval/src/tests/snix_tests/eval-okay-eq-int.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-eq-nested-list.exp b/snix/eval/src/tests/snix_tests/eval-okay-eq-nested-list.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-eq-nested-list.exp rename to snix/eval/src/tests/snix_tests/eval-okay-eq-nested-list.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-eq-nested-list.nix b/snix/eval/src/tests/snix_tests/eval-okay-eq-nested-list.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-eq-nested-list.nix rename to snix/eval/src/tests/snix_tests/eval-okay-eq-nested-list.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-equality-tolerate-catchable-in-type-field.exp b/snix/eval/src/tests/snix_tests/eval-okay-equality-tolerate-catchable-in-type-field.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-equality-tolerate-catchable-in-type-field.exp rename to snix/eval/src/tests/snix_tests/eval-okay-equality-tolerate-catchable-in-type-field.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-equality-tolerate-catchable-in-type-field.nix b/snix/eval/src/tests/snix_tests/eval-okay-equality-tolerate-catchable-in-type-field.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-equality-tolerate-catchable-in-type-field.nix rename to snix/eval/src/tests/snix_tests/eval-okay-equality-tolerate-catchable-in-type-field.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-escape-string-correct-char-boundaries.exp b/snix/eval/src/tests/snix_tests/eval-okay-escape-string-correct-char-boundaries.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-escape-string-correct-char-boundaries.exp rename to snix/eval/src/tests/snix_tests/eval-okay-escape-string-correct-char-boundaries.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-escape-string-correct-char-boundaries.nix b/snix/eval/src/tests/snix_tests/eval-okay-escape-string-correct-char-boundaries.nix similarity index 81% rename from tvix/eval/src/tests/tvix_tests/eval-okay-escape-string-correct-char-boundaries.nix rename to snix/eval/src/tests/snix_tests/eval-okay-escape-string-correct-char-boundaries.nix index 49f4b6273..70d2648c9 100644 --- a/tvix/eval/src/tests/tvix_tests/eval-okay-escape-string-correct-char-boundaries.nix +++ b/snix/eval/src/tests/snix_tests/eval-okay-escape-string-correct-char-boundaries.nix @@ -1,4 +1,4 @@ -# Regression test for a bug where tvix would crash in nix_escape_string +# Regression test for a bug where snix would crash in nix_escape_string # because it counted the string position by unicode code point count, # but then used it as a byte index for slicing. Consequently, it would # try slicing 💭 in half, thinking the first element to be escaped was diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-escapify-integer-keys.exp b/snix/eval/src/tests/snix_tests/eval-okay-escapify-integer-keys.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-escapify-integer-keys.exp rename to snix/eval/src/tests/snix_tests/eval-okay-escapify-integer-keys.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-escapify-integer-keys.nix b/snix/eval/src/tests/snix_tests/eval-okay-escapify-integer-keys.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-escapify-integer-keys.nix rename to snix/eval/src/tests/snix_tests/eval-okay-escapify-integer-keys.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-fib.exp b/snix/eval/src/tests/snix_tests/eval-okay-fib.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-fib.exp rename to snix/eval/src/tests/snix_tests/eval-okay-fib.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-fib.nix b/snix/eval/src/tests/snix_tests/eval-okay-fib.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-fib.nix rename to snix/eval/src/tests/snix_tests/eval-okay-fib.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-fix.exp b/snix/eval/src/tests/snix_tests/eval-okay-fix.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-fix.exp rename to snix/eval/src/tests/snix_tests/eval-okay-fix.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-fix.nix b/snix/eval/src/tests/snix_tests/eval-okay-fix.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-fix.nix rename to snix/eval/src/tests/snix_tests/eval-okay-fix.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-float-repr.exp b/snix/eval/src/tests/snix_tests/eval-okay-float-repr.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-float-repr.exp rename to snix/eval/src/tests/snix_tests/eval-okay-float-repr.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-float-repr.nix b/snix/eval/src/tests/snix_tests/eval-okay-float-repr.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-float-repr.nix rename to snix/eval/src/tests/snix_tests/eval-okay-float-repr.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-floor.exp b/snix/eval/src/tests/snix_tests/eval-okay-floor.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-floor.exp rename to snix/eval/src/tests/snix_tests/eval-okay-floor.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-floor.nix b/snix/eval/src/tests/snix_tests/eval-okay-floor.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-floor.nix rename to snix/eval/src/tests/snix_tests/eval-okay-floor.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-foldlStrict-lazy-elements.exp b/snix/eval/src/tests/snix_tests/eval-okay-foldlStrict-lazy-elements.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-foldlStrict-lazy-elements.exp rename to snix/eval/src/tests/snix_tests/eval-okay-foldlStrict-lazy-elements.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-foldlStrict-lazy-elements.nix b/snix/eval/src/tests/snix_tests/eval-okay-foldlStrict-lazy-elements.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-foldlStrict-lazy-elements.nix rename to snix/eval/src/tests/snix_tests/eval-okay-foldlStrict-lazy-elements.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.exp b/snix/eval/src/tests/snix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.exp rename to snix/eval/src/tests/snix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.nix b/snix/eval/src/tests/snix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.nix rename to snix/eval/src/tests/snix_tests/eval-okay-foldlStrict-lazy-initial-accumulator.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-foldlStrict.exp b/snix/eval/src/tests/snix_tests/eval-okay-foldlStrict.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-foldlStrict.exp rename to snix/eval/src/tests/snix_tests/eval-okay-foldlStrict.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-foldlStrict.nix b/snix/eval/src/tests/snix_tests/eval-okay-foldlStrict.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-foldlStrict.nix rename to snix/eval/src/tests/snix_tests/eval-okay-foldlStrict.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-formals-miscompilation-b-261-regression.exp b/snix/eval/src/tests/snix_tests/eval-okay-formals-miscompilation-b-261-regression.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-formals-miscompilation-b-261-regression.exp rename to snix/eval/src/tests/snix_tests/eval-okay-formals-miscompilation-b-261-regression.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-formals-miscompilation-b-261-regression.nix b/snix/eval/src/tests/snix_tests/eval-okay-formals-miscompilation-b-261-regression.nix similarity index 89% rename from tvix/eval/src/tests/tvix_tests/eval-okay-formals-miscompilation-b-261-regression.nix rename to snix/eval/src/tests/snix_tests/eval-okay-formals-miscompilation-b-261-regression.nix index 772fa6f38..777e39f47 100644 --- a/tvix/eval/src/tests/tvix_tests/eval-okay-formals-miscompilation-b-261-regression.nix +++ b/snix/eval/src/tests/snix_tests/eval-okay-formals-miscompilation-b-261-regression.nix @@ -1,6 +1,6 @@ # This is a regression test for https://b.tvl.fyi/261. # -# The bug occurred when Tvix would unconditionally finalise the stack slot of +# The bug occurred when Snix would unconditionally finalise the stack slot of # `finalise` (as its default expression needs a finaliser): Finalising an # manually provided, already forced thunk would cause the VM to crash. let diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-fromjson-escapes.exp b/snix/eval/src/tests/snix_tests/eval-okay-fromjson-escapes.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-fromjson-escapes.exp rename to snix/eval/src/tests/snix_tests/eval-okay-fromjson-escapes.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-fromjson-escapes.nix b/snix/eval/src/tests/snix_tests/eval-okay-fromjson-escapes.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-fromjson-escapes.nix rename to snix/eval/src/tests/snix_tests/eval-okay-fromjson-escapes.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-fromjson.exp b/snix/eval/src/tests/snix_tests/eval-okay-fromjson.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-fromjson.exp rename to snix/eval/src/tests/snix_tests/eval-okay-fromjson.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-fromjson.nix b/snix/eval/src/tests/snix_tests/eval-okay-fromjson.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-fromjson.nix rename to snix/eval/src/tests/snix_tests/eval-okay-fromjson.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-functionargs.exp b/snix/eval/src/tests/snix_tests/eval-okay-functionargs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-functionargs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-functionargs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-functionargs.nix b/snix/eval/src/tests/snix_tests/eval-okay-functionargs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-functionargs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-functionargs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-functor-call.exp b/snix/eval/src/tests/snix_tests/eval-okay-functor-call.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-functor-call.exp rename to snix/eval/src/tests/snix_tests/eval-okay-functor-call.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-functor-call.nix b/snix/eval/src/tests/snix_tests/eval-okay-functor-call.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-functor-call.nix rename to snix/eval/src/tests/snix_tests/eval-okay-functor-call.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-genlist.exp b/snix/eval/src/tests/snix_tests/eval-okay-genlist.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-genlist.exp rename to snix/eval/src/tests/snix_tests/eval-okay-genlist.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-genlist.nix b/snix/eval/src/tests/snix_tests/eval-okay-genlist.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-genlist.nix rename to snix/eval/src/tests/snix_tests/eval-okay-genlist.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-hasattr-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-hasattr-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-hasattr-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-hasattr-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-hasattr-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-hasattr-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-hasattr-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-hasattr-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-identifier-formatting.exp b/snix/eval/src/tests/snix_tests/eval-okay-identifier-formatting.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-identifier-formatting.exp rename to snix/eval/src/tests/snix_tests/eval-okay-identifier-formatting.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-identifier-formatting.nix b/snix/eval/src/tests/snix_tests/eval-okay-identifier-formatting.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-identifier-formatting.nix rename to snix/eval/src/tests/snix_tests/eval-okay-identifier-formatting.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-import-display.exp b/snix/eval/src/tests/snix_tests/eval-okay-import-display.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-import-display.exp rename to snix/eval/src/tests/snix_tests/eval-okay-import-display.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-import-display.nix b/snix/eval/src/tests/snix_tests/eval-okay-import-display.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-import-display.nix rename to snix/eval/src/tests/snix_tests/eval-okay-import-display.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-import.exp b/snix/eval/src/tests/snix_tests/eval-okay-import.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-import.exp rename to snix/eval/src/tests/snix_tests/eval-okay-import.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-import.nix b/snix/eval/src/tests/snix_tests/eval-okay-import.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-import.nix rename to snix/eval/src/tests/snix_tests/eval-okay-import.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-inherit-string-ident.exp b/snix/eval/src/tests/snix_tests/eval-okay-inherit-string-ident.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-inherit-string-ident.exp rename to snix/eval/src/tests/snix_tests/eval-okay-inherit-string-ident.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-inherit-string-ident.nix b/snix/eval/src/tests/snix_tests/eval-okay-inherit-string-ident.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-inherit-string-ident.nix rename to snix/eval/src/tests/snix_tests/eval-okay-inherit-string-ident.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-internal-formals-deferred.exp b/snix/eval/src/tests/snix_tests/eval-okay-internal-formals-deferred.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-internal-formals-deferred.exp rename to snix/eval/src/tests/snix_tests/eval-okay-internal-formals-deferred.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-internal-formals-deferred.nix b/snix/eval/src/tests/snix_tests/eval-okay-internal-formals-deferred.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-internal-formals-deferred.nix rename to snix/eval/src/tests/snix_tests/eval-okay-internal-formals-deferred.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-internal-formals.exp b/snix/eval/src/tests/snix_tests/eval-okay-internal-formals.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-internal-formals.exp rename to snix/eval/src/tests/snix_tests/eval-okay-internal-formals.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-internal-formals.nix b/snix/eval/src/tests/snix_tests/eval-okay-internal-formals.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-internal-formals.nix rename to snix/eval/src/tests/snix_tests/eval-okay-internal-formals.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-intersectattrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-intersectattrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-intersectattrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-intersectattrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-intersectattrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-intersectattrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-intersectattrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-intersectattrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-lambda-identity.exp b/snix/eval/src/tests/snix_tests/eval-okay-lambda-identity.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-lambda-identity.exp rename to snix/eval/src/tests/snix_tests/eval-okay-lambda-identity.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-lambda-identity.nix b/snix/eval/src/tests/snix_tests/eval-okay-lambda-identity.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-lambda-identity.nix rename to snix/eval/src/tests/snix_tests/eval-okay-lambda-identity.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-late-binding-closure.exp b/snix/eval/src/tests/snix_tests/eval-okay-late-binding-closure.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-late-binding-closure.exp rename to snix/eval/src/tests/snix_tests/eval-okay-late-binding-closure.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-late-binding-closure.nix b/snix/eval/src/tests/snix_tests/eval-okay-late-binding-closure.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-late-binding-closure.nix rename to snix/eval/src/tests/snix_tests/eval-okay-late-binding-closure.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-late-binding.exp b/snix/eval/src/tests/snix_tests/eval-okay-late-binding.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-late-binding.exp rename to snix/eval/src/tests/snix_tests/eval-okay-late-binding.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-late-binding.nix b/snix/eval/src/tests/snix_tests/eval-okay-late-binding.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-late-binding.nix rename to snix/eval/src/tests/snix_tests/eval-okay-late-binding.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-lazy-assert.exp b/snix/eval/src/tests/snix_tests/eval-okay-lazy-assert.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-lazy-assert.exp rename to snix/eval/src/tests/snix_tests/eval-okay-lazy-assert.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-lazy-assert.nix b/snix/eval/src/tests/snix_tests/eval-okay-lazy-assert.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-lazy-assert.nix rename to snix/eval/src/tests/snix_tests/eval-okay-lazy-assert.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-lazy-equality.exp b/snix/eval/src/tests/snix_tests/eval-okay-lazy-equality.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-lazy-equality.exp rename to snix/eval/src/tests/snix_tests/eval-okay-lazy-equality.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-lazy-equality.nix b/snix/eval/src/tests/snix_tests/eval-okay-lazy-equality.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-lazy-equality.nix rename to snix/eval/src/tests/snix_tests/eval-okay-lazy-equality.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-lazy-with-nested.exp b/snix/eval/src/tests/snix_tests/eval-okay-lazy-with-nested.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-lazy-with-nested.exp rename to snix/eval/src/tests/snix_tests/eval-okay-lazy-with-nested.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-lazy-with-nested.nix b/snix/eval/src/tests/snix_tests/eval-okay-lazy-with-nested.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-lazy-with-nested.nix rename to snix/eval/src/tests/snix_tests/eval-okay-lazy-with-nested.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-lazy-with.exp b/snix/eval/src/tests/snix_tests/eval-okay-lazy-with.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-lazy-with.exp rename to snix/eval/src/tests/snix_tests/eval-okay-lazy-with.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-lazy-with.nix b/snix/eval/src/tests/snix_tests/eval-okay-lazy-with.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-lazy-with.nix rename to snix/eval/src/tests/snix_tests/eval-okay-lazy-with.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-legacy-let-fix.exp b/snix/eval/src/tests/snix_tests/eval-okay-legacy-let-fix.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-legacy-let-fix.exp rename to snix/eval/src/tests/snix_tests/eval-okay-legacy-let-fix.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-legacy-let-fix.nix b/snix/eval/src/tests/snix_tests/eval-okay-legacy-let-fix.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-legacy-let-fix.nix rename to snix/eval/src/tests/snix_tests/eval-okay-legacy-let-fix.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-legacy-let-in-with.exp b/snix/eval/src/tests/snix_tests/eval-okay-legacy-let-in-with.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-legacy-let-in-with.exp rename to snix/eval/src/tests/snix_tests/eval-okay-legacy-let-in-with.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-legacy-let-in-with.nix b/snix/eval/src/tests/snix_tests/eval-okay-legacy-let-in-with.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-legacy-let-in-with.nix rename to snix/eval/src/tests/snix_tests/eval-okay-legacy-let-in-with.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-legacy-let.exp b/snix/eval/src/tests/snix_tests/eval-okay-legacy-let.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-legacy-let.exp rename to snix/eval/src/tests/snix_tests/eval-okay-legacy-let.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-legacy-let.nix b/snix/eval/src/tests/snix_tests/eval-okay-legacy-let.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-legacy-let.nix rename to snix/eval/src/tests/snix_tests/eval-okay-legacy-let.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-let-identifiers.exp b/snix/eval/src/tests/snix_tests/eval-okay-let-identifiers.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-let-identifiers.exp rename to snix/eval/src/tests/snix_tests/eval-okay-let-identifiers.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-let-identifiers.nix b/snix/eval/src/tests/snix_tests/eval-okay-let-identifiers.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-let-identifiers.nix rename to snix/eval/src/tests/snix_tests/eval-okay-let-identifiers.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-let-inherit-from-later-bound.exp b/snix/eval/src/tests/snix_tests/eval-okay-let-inherit-from-later-bound.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-let-inherit-from-later-bound.exp rename to snix/eval/src/tests/snix_tests/eval-okay-let-inherit-from-later-bound.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-let-inherit-from-later-bound.nix b/snix/eval/src/tests/snix_tests/eval-okay-let-inherit-from-later-bound.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-let-inherit-from-later-bound.nix rename to snix/eval/src/tests/snix_tests/eval-okay-let-inherit-from-later-bound.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-let-inherit.exp b/snix/eval/src/tests/snix_tests/eval-okay-let-inherit.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-let-inherit.exp rename to snix/eval/src/tests/snix_tests/eval-okay-let-inherit.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-let-inherit.nix b/snix/eval/src/tests/snix_tests/eval-okay-let-inherit.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-let-inherit.nix rename to snix/eval/src/tests/snix_tests/eval-okay-let-inherit.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-let-sibling-access.exp b/snix/eval/src/tests/snix_tests/eval-okay-let-sibling-access.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-let-sibling-access.exp rename to snix/eval/src/tests/snix_tests/eval-okay-let-sibling-access.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-let-sibling-access.nix b/snix/eval/src/tests/snix_tests/eval-okay-let-sibling-access.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-let-sibling-access.nix rename to snix/eval/src/tests/snix_tests/eval-okay-let-sibling-access.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-let-useful-plain-inherit-mixed.exp b/snix/eval/src/tests/snix_tests/eval-okay-let-useful-plain-inherit-mixed.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-let-useful-plain-inherit-mixed.exp rename to snix/eval/src/tests/snix_tests/eval-okay-let-useful-plain-inherit-mixed.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-let-useful-plain-inherit-mixed.nix b/snix/eval/src/tests/snix_tests/eval-okay-let-useful-plain-inherit-mixed.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-let-useful-plain-inherit-mixed.nix rename to snix/eval/src/tests/snix_tests/eval-okay-let-useful-plain-inherit-mixed.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-let-useful-plain-inherit.exp b/snix/eval/src/tests/snix_tests/eval-okay-let-useful-plain-inherit.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-let-useful-plain-inherit.exp rename to snix/eval/src/tests/snix_tests/eval-okay-let-useful-plain-inherit.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-let-useful-plain-inherit.nix b/snix/eval/src/tests/snix_tests/eval-okay-let-useful-plain-inherit.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-let-useful-plain-inherit.nix rename to snix/eval/src/tests/snix_tests/eval-okay-let-useful-plain-inherit.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-list-comparison.exp b/snix/eval/src/tests/snix_tests/eval-okay-list-comparison.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-list-comparison.exp rename to snix/eval/src/tests/snix_tests/eval-okay-list-comparison.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-list-comparison.nix b/snix/eval/src/tests/snix_tests/eval-okay-list-comparison.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-list-comparison.nix rename to snix/eval/src/tests/snix_tests/eval-okay-list-comparison.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-listtoattrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-listtoattrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-listtoattrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-listtoattrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-listtoattrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-listtoattrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-listtoattrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-listtoattrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-logical-and-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-logical-and-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-logical-and-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-logical-and-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-logical-and-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-logical-and-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-logical-and-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-logical-and-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-logical-or-catchable.exp b/snix/eval/src/tests/snix_tests/eval-okay-logical-or-catchable.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-logical-or-catchable.exp rename to snix/eval/src/tests/snix_tests/eval-okay-logical-or-catchable.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-logical-or-catchable.nix b/snix/eval/src/tests/snix_tests/eval-okay-logical-or-catchable.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-logical-or-catchable.nix rename to snix/eval/src/tests/snix_tests/eval-okay-logical-or-catchable.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-manual-rec.exp b/snix/eval/src/tests/snix_tests/eval-okay-manual-rec.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-manual-rec.exp rename to snix/eval/src/tests/snix_tests/eval-okay-manual-rec.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-manual-rec.nix b/snix/eval/src/tests/snix_tests/eval-okay-manual-rec.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-manual-rec.nix rename to snix/eval/src/tests/snix_tests/eval-okay-manual-rec.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-merge-nested-attrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-merge-nested-attrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-merge-nested-attrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-merge-nested-attrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-merge-nested-attrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-merge-nested-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-merge-nested-attrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-merge-nested-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-merge-nested-rec-attrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-merge-nested-rec-attrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-merge-nested-rec-attrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-merge-nested-rec-attrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-merge-nested-rec-attrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-merge-nested-rec-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-merge-nested-rec-attrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-merge-nested-rec-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-multiline-string.exp b/snix/eval/src/tests/snix_tests/eval-okay-multiline-string.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-multiline-string.exp rename to snix/eval/src/tests/snix_tests/eval-okay-multiline-string.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-multiline-string.nix b/snix/eval/src/tests/snix_tests/eval-okay-multiline-string.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-multiline-string.nix rename to snix/eval/src/tests/snix_tests/eval-okay-multiline-string.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-multiple-nested-attrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-multiple-nested-attrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-multiple-nested-attrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-multiple-nested-attrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-multiple-nested-attrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-multiple-nested-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-multiple-nested-attrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-multiple-nested-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-mutually-recursive-let-binding.exp b/snix/eval/src/tests/snix_tests/eval-okay-mutually-recursive-let-binding.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-mutually-recursive-let-binding.exp rename to snix/eval/src/tests/snix_tests/eval-okay-mutually-recursive-let-binding.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-mutually-recursive-let-binding.nix b/snix/eval/src/tests/snix_tests/eval-okay-mutually-recursive-let-binding.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-mutually-recursive-let-binding.nix rename to snix/eval/src/tests/snix_tests/eval-okay-mutually-recursive-let-binding.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-ne-int.exp b/snix/eval/src/tests/snix_tests/eval-okay-ne-int.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-ne-int.exp rename to snix/eval/src/tests/snix_tests/eval-okay-ne-int.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-ne-int.nix b/snix/eval/src/tests/snix_tests/eval-okay-ne-int.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-ne-int.nix rename to snix/eval/src/tests/snix_tests/eval-okay-ne-int.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-ne-string.exp b/snix/eval/src/tests/snix_tests/eval-okay-ne-string.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-ne-string.exp rename to snix/eval/src/tests/snix_tests/eval-okay-ne-string.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-ne-string.nix b/snix/eval/src/tests/snix_tests/eval-okay-ne-string.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-ne-string.nix rename to snix/eval/src/tests/snix_tests/eval-okay-ne-string.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-assertions.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-assertions.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-assertions.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-assertions.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-assertions.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-assertions.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-assertions.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-assertions.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-closure.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-closure.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-closure.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-closure.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-closure.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-closure.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-closure.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-closure.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-deferred-upvalue.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-deferred-upvalue.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-deferred-upvalue.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-deferred-upvalue.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-deferred-upvalue.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-deferred-upvalue.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-deferred-upvalue.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-deferred-upvalue.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-has-attrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-has-attrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-has-attrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-has-attrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-has-attrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-has-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-has-attrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-has-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-keys-let.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-keys-let.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-keys-let.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-keys-let.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-keys-let.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-keys-let.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-keys-let.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-keys-let.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-keys-rec.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-keys-rec.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-keys-rec.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-keys-rec.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-keys-rec.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-keys-rec.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-keys-rec.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-keys-rec.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-let-slots.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-let-slots.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-let-slots.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-let-slots.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-let-slots.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-let-slots.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-let-slots.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-let-slots.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-let.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-let.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-let.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-let.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-let.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-let.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-let.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-let.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-poisoning.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-poisoning.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-poisoning.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-poisoning.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-poisoning.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-poisoning.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-poisoning.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-poisoning.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-set-thunks.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-set-thunks.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-set-thunks.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-set-thunks.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-set-thunks.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-set-thunks.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-set-thunks.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-set-thunks.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-siblings.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-siblings.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-siblings.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-siblings.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-siblings.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-siblings.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-siblings.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-siblings.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-thunks.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-thunks.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-thunks.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-thunks.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-thunks.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-thunks.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-thunks.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-thunks.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-with.exp b/snix/eval/src/tests/snix_tests/eval-okay-nested-with.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-with.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nested-with.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nested-with.nix b/snix/eval/src/tests/snix_tests/eval-okay-nested-with.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nested-with.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nested-with.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nix-version-cmp.exp b/snix/eval/src/tests/snix_tests/eval-okay-nix-version-cmp.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nix-version-cmp.exp rename to snix/eval/src/tests/snix_tests/eval-okay-nix-version-cmp.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-nix-version-cmp.nix b/snix/eval/src/tests/snix_tests/eval-okay-nix-version-cmp.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-nix-version-cmp.nix rename to snix/eval/src/tests/snix_tests/eval-okay-nix-version-cmp.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-observable-eval-cache.exp b/snix/eval/src/tests/snix_tests/eval-okay-observable-eval-cache.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-observable-eval-cache.exp rename to snix/eval/src/tests/snix_tests/eval-okay-observable-eval-cache.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-observable-eval-cache.nix b/snix/eval/src/tests/snix_tests/eval-okay-observable-eval-cache.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-observable-eval-cache.nix rename to snix/eval/src/tests/snix_tests/eval-okay-observable-eval-cache.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-observe-infinite-attrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-observe-infinite-attrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-observe-infinite-attrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-observe-infinite-attrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-observe-infinite-attrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-observe-infinite-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-observe-infinite-attrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-observe-infinite-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-optimised-bools.exp b/snix/eval/src/tests/snix_tests/eval-okay-optimised-bools.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-optimised-bools.exp rename to snix/eval/src/tests/snix_tests/eval-okay-optimised-bools.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-optimised-bools.nix b/snix/eval/src/tests/snix_tests/eval-okay-optimised-bools.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-optimised-bools.nix rename to snix/eval/src/tests/snix_tests/eval-okay-optimised-bools.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-default.exp b/snix/eval/src/tests/snix_tests/eval-okay-or-operator-default.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-default.exp rename to snix/eval/src/tests/snix_tests/eval-okay-or-operator-default.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-default.nix b/snix/eval/src/tests/snix_tests/eval-okay-or-operator-default.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-default.nix rename to snix/eval/src/tests/snix_tests/eval-okay-or-operator-default.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-nested-default.exp b/snix/eval/src/tests/snix_tests/eval-okay-or-operator-nested-default.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-nested-default.exp rename to snix/eval/src/tests/snix_tests/eval-okay-or-operator-nested-default.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-nested-default.nix b/snix/eval/src/tests/snix_tests/eval-okay-or-operator-nested-default.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-nested-default.nix rename to snix/eval/src/tests/snix_tests/eval-okay-or-operator-nested-default.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-nested.exp b/snix/eval/src/tests/snix_tests/eval-okay-or-operator-nested.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-nested.exp rename to snix/eval/src/tests/snix_tests/eval-okay-or-operator-nested.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-nested.nix b/snix/eval/src/tests/snix_tests/eval-okay-or-operator-nested.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-nested.nix rename to snix/eval/src/tests/snix_tests/eval-okay-or-operator-nested.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.exp b/snix/eval/src/tests/snix_tests/eval-okay-or-operator-non-set.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.exp rename to snix/eval/src/tests/snix_tests/eval-okay-or-operator-non-set.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.nix b/snix/eval/src/tests/snix_tests/eval-okay-or-operator-non-set.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-or-operator-non-set.nix rename to snix/eval/src/tests/snix_tests/eval-okay-or-operator-non-set.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator.exp b/snix/eval/src/tests/snix_tests/eval-okay-or-operator.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-or-operator.exp rename to snix/eval/src/tests/snix_tests/eval-okay-or-operator.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-or-operator.nix b/snix/eval/src/tests/snix_tests/eval-okay-or-operator.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-or-operator.nix rename to snix/eval/src/tests/snix_tests/eval-okay-or-operator.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-overlapping-nested-attrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-overlapping-nested-attrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-overlapping-nested-attrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-overlapping-nested-attrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-overlapping-nested-attrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-overlapping-nested-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-overlapping-nested-attrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-overlapping-nested-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-parsedrvname.exp b/snix/eval/src/tests/snix_tests/eval-okay-parsedrvname.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-parsedrvname.exp rename to snix/eval/src/tests/snix_tests/eval-okay-parsedrvname.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-parsedrvname.nix b/snix/eval/src/tests/snix_tests/eval-okay-parsedrvname.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-parsedrvname.nix rename to snix/eval/src/tests/snix_tests/eval-okay-parsedrvname.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-path-exists-child-of-file.exp b/snix/eval/src/tests/snix_tests/eval-okay-path-exists-child-of-file.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-path-exists-child-of-file.exp rename to snix/eval/src/tests/snix_tests/eval-okay-path-exists-child-of-file.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-path-exists-child-of-file.nix b/snix/eval/src/tests/snix_tests/eval-okay-path-exists-child-of-file.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-path-exists-child-of-file.nix rename to snix/eval/src/tests/snix_tests/eval-okay-path-exists-child-of-file.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-pathexists.exp b/snix/eval/src/tests/snix_tests/eval-okay-pathexists.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-pathexists.exp rename to snix/eval/src/tests/snix_tests/eval-okay-pathexists.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-pathexists.nix b/snix/eval/src/tests/snix_tests/eval-okay-pathexists.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-pathexists.nix rename to snix/eval/src/tests/snix_tests/eval-okay-pathexists.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-poisoned-scopes.exp b/snix/eval/src/tests/snix_tests/eval-okay-poisoned-scopes.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-poisoned-scopes.exp rename to snix/eval/src/tests/snix_tests/eval-okay-poisoned-scopes.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-poisoned-scopes.nix b/snix/eval/src/tests/snix_tests/eval-okay-poisoned-scopes.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-poisoned-scopes.nix rename to snix/eval/src/tests/snix_tests/eval-okay-poisoned-scopes.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-readfile.exp b/snix/eval/src/tests/snix_tests/eval-okay-readfile.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-readfile.exp rename to snix/eval/src/tests/snix_tests/eval-okay-readfile.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-readfile.nix b/snix/eval/src/tests/snix_tests/eval-okay-readfile.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-readfile.nix rename to snix/eval/src/tests/snix_tests/eval-okay-readfile.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-rec-dynamic-keys.exp b/snix/eval/src/tests/snix_tests/eval-okay-rec-dynamic-keys.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-rec-dynamic-keys.exp rename to snix/eval/src/tests/snix_tests/eval-okay-rec-dynamic-keys.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-rec-dynamic-keys.nix b/snix/eval/src/tests/snix_tests/eval-okay-rec-dynamic-keys.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-rec-dynamic-keys.nix rename to snix/eval/src/tests/snix_tests/eval-okay-rec-dynamic-keys.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-rec-nested-access.exp b/snix/eval/src/tests/snix_tests/eval-okay-rec-nested-access.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-rec-nested-access.exp rename to snix/eval/src/tests/snix_tests/eval-okay-rec-nested-access.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-rec-nested-access.nix b/snix/eval/src/tests/snix_tests/eval-okay-rec-nested-access.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-rec-nested-access.nix rename to snix/eval/src/tests/snix_tests/eval-okay-rec-nested-access.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-recursive-attrs-all-features.exp b/snix/eval/src/tests/snix_tests/eval-okay-recursive-attrs-all-features.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-recursive-attrs-all-features.exp rename to snix/eval/src/tests/snix_tests/eval-okay-recursive-attrs-all-features.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-recursive-attrs-all-features.nix b/snix/eval/src/tests/snix_tests/eval-okay-recursive-attrs-all-features.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-recursive-attrs-all-features.nix rename to snix/eval/src/tests/snix_tests/eval-okay-recursive-attrs-all-features.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-regex-match.exp b/snix/eval/src/tests/snix_tests/eval-okay-regex-match.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-regex-match.exp rename to snix/eval/src/tests/snix_tests/eval-okay-regex-match.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-regex-match.nix b/snix/eval/src/tests/snix_tests/eval-okay-regex-match.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-regex-match.nix rename to snix/eval/src/tests/snix_tests/eval-okay-regex-match.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-remove.exp b/snix/eval/src/tests/snix_tests/eval-okay-remove.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-remove.exp rename to snix/eval/src/tests/snix_tests/eval-okay-remove.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-remove.nix b/snix/eval/src/tests/snix_tests/eval-okay-remove.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-remove.nix rename to snix/eval/src/tests/snix_tests/eval-okay-remove.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-repeated-list-to-attrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-repeated-list-to-attrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-repeated-list-to-attrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-repeated-list-to-attrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-repeated-list-to-attrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-repeated-list-to-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-repeated-list-to-attrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-repeated-list-to-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-seq.exp b/snix/eval/src/tests/snix_tests/eval-okay-seq.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-seq.exp rename to snix/eval/src/tests/snix_tests/eval-okay-seq.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-seq.nix b/snix/eval/src/tests/snix_tests/eval-okay-seq.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-seq.nix rename to snix/eval/src/tests/snix_tests/eval-okay-seq.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-simple-closure.exp b/snix/eval/src/tests/snix_tests/eval-okay-simple-closure.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-simple-closure.exp rename to snix/eval/src/tests/snix_tests/eval-okay-simple-closure.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-simple-closure.nix b/snix/eval/src/tests/snix_tests/eval-okay-simple-closure.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-simple-closure.nix rename to snix/eval/src/tests/snix_tests/eval-okay-simple-closure.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-simple-interpol.exp b/snix/eval/src/tests/snix_tests/eval-okay-simple-interpol.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-simple-interpol.exp rename to snix/eval/src/tests/snix_tests/eval-okay-simple-interpol.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-simple-interpol.nix b/snix/eval/src/tests/snix_tests/eval-okay-simple-interpol.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-simple-interpol.nix rename to snix/eval/src/tests/snix_tests/eval-okay-simple-interpol.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-simple-let.exp b/snix/eval/src/tests/snix_tests/eval-okay-simple-let.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-simple-let.exp rename to snix/eval/src/tests/snix_tests/eval-okay-simple-let.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-simple-let.nix b/snix/eval/src/tests/snix_tests/eval-okay-simple-let.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-simple-let.nix rename to snix/eval/src/tests/snix_tests/eval-okay-simple-let.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-simple-nested-attrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-simple-nested-attrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-simple-nested-attrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-simple-nested-attrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-simple-nested-attrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-simple-nested-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-simple-nested-attrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-simple-nested-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-simple-recursive-attrs.exp b/snix/eval/src/tests/snix_tests/eval-okay-simple-recursive-attrs.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-simple-recursive-attrs.exp rename to snix/eval/src/tests/snix_tests/eval-okay-simple-recursive-attrs.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-simple-recursive-attrs.nix b/snix/eval/src/tests/snix_tests/eval-okay-simple-recursive-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-simple-recursive-attrs.nix rename to snix/eval/src/tests/snix_tests/eval-okay-simple-recursive-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-simple-with.exp b/snix/eval/src/tests/snix_tests/eval-okay-simple-with.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-simple-with.exp rename to snix/eval/src/tests/snix_tests/eval-okay-simple-with.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-simple-with.nix b/snix/eval/src/tests/snix_tests/eval-okay-simple-with.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-simple-with.nix rename to snix/eval/src/tests/snix_tests/eval-okay-simple-with.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-stable-sort.exp b/snix/eval/src/tests/snix_tests/eval-okay-stable-sort.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-stable-sort.exp rename to snix/eval/src/tests/snix_tests/eval-okay-stable-sort.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-stable-sort.nix b/snix/eval/src/tests/snix_tests/eval-okay-stable-sort.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-stable-sort.nix rename to snix/eval/src/tests/snix_tests/eval-okay-stable-sort.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-substring-propagate-catchables.exp b/snix/eval/src/tests/snix_tests/eval-okay-substring-propagate-catchables.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-substring-propagate-catchables.exp rename to snix/eval/src/tests/snix_tests/eval-okay-substring-propagate-catchables.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-substring-propagate-catchables.nix b/snix/eval/src/tests/snix_tests/eval-okay-substring-propagate-catchables.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-substring-propagate-catchables.nix rename to snix/eval/src/tests/snix_tests/eval-okay-substring-propagate-catchables.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-test-catchables-in-default-args.exp b/snix/eval/src/tests/snix_tests/eval-okay-test-catchables-in-default-args.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-test-catchables-in-default-args.exp rename to snix/eval/src/tests/snix_tests/eval-okay-test-catchables-in-default-args.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-test-catchables-in-default-args.nix b/snix/eval/src/tests/snix_tests/eval-okay-test-catchables-in-default-args.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-test-catchables-in-default-args.nix rename to snix/eval/src/tests/snix_tests/eval-okay-test-catchables-in-default-args.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-test-catchables-in-implications.exp b/snix/eval/src/tests/snix_tests/eval-okay-test-catchables-in-implications.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-test-catchables-in-implications.exp rename to snix/eval/src/tests/snix_tests/eval-okay-test-catchables-in-implications.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-test-catchables-in-implications.nix b/snix/eval/src/tests/snix_tests/eval-okay-test-catchables-in-implications.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-test-catchables-in-implications.nix rename to snix/eval/src/tests/snix_tests/eval-okay-test-catchables-in-implications.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-thunked-functor.exp b/snix/eval/src/tests/snix_tests/eval-okay-thunked-functor.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-thunked-functor.exp rename to snix/eval/src/tests/snix_tests/eval-okay-thunked-functor.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-thunked-functor.nix b/snix/eval/src/tests/snix_tests/eval-okay-thunked-functor.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-thunked-functor.nix rename to snix/eval/src/tests/snix_tests/eval-okay-thunked-functor.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-thunked-if.exp b/snix/eval/src/tests/snix_tests/eval-okay-thunked-if.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-thunked-if.exp rename to snix/eval/src/tests/snix_tests/eval-okay-thunked-if.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-thunked-if.nix b/snix/eval/src/tests/snix_tests/eval-okay-thunked-if.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-thunked-if.nix rename to snix/eval/src/tests/snix_tests/eval-okay-thunked-if.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-thunked-string-interpolation.exp b/snix/eval/src/tests/snix_tests/eval-okay-thunked-string-interpolation.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-thunked-string-interpolation.exp rename to snix/eval/src/tests/snix_tests/eval-okay-thunked-string-interpolation.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-thunked-string-interpolation.nix b/snix/eval/src/tests/snix_tests/eval-okay-thunked-string-interpolation.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-thunked-string-interpolation.nix rename to snix/eval/src/tests/snix_tests/eval-okay-thunked-string-interpolation.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-thunked-with.exp b/snix/eval/src/tests/snix_tests/eval-okay-thunked-with.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-thunked-with.exp rename to snix/eval/src/tests/snix_tests/eval-okay-thunked-with.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-thunked-with.nix b/snix/eval/src/tests/snix_tests/eval-okay-thunked-with.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-thunked-with.nix rename to snix/eval/src/tests/snix_tests/eval-okay-thunked-with.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-toplevel-finaliser.exp b/snix/eval/src/tests/snix_tests/eval-okay-toplevel-finaliser.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-toplevel-finaliser.exp rename to snix/eval/src/tests/snix_tests/eval-okay-toplevel-finaliser.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-toplevel-finaliser.nix b/snix/eval/src/tests/snix_tests/eval-okay-toplevel-finaliser.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-toplevel-finaliser.nix rename to snix/eval/src/tests/snix_tests/eval-okay-toplevel-finaliser.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-toxml-empty.exp.xml b/snix/eval/src/tests/snix_tests/eval-okay-toxml-empty.exp.xml similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-toxml-empty.exp.xml rename to snix/eval/src/tests/snix_tests/eval-okay-toxml-empty.exp.xml diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-toxml-empty.nix b/snix/eval/src/tests/snix_tests/eval-okay-toxml-empty.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-toxml-empty.nix rename to snix/eval/src/tests/snix_tests/eval-okay-toxml-empty.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-toxml.exp b/snix/eval/src/tests/snix_tests/eval-okay-toxml.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-toxml.exp rename to snix/eval/src/tests/snix_tests/eval-okay-toxml.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-toxml.nix b/snix/eval/src/tests/snix_tests/eval-okay-toxml.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-toxml.nix rename to snix/eval/src/tests/snix_tests/eval-okay-toxml.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-tryeval-thunk-twice.exp b/snix/eval/src/tests/snix_tests/eval-okay-tryeval-thunk-twice.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-tryeval-thunk-twice.exp rename to snix/eval/src/tests/snix_tests/eval-okay-tryeval-thunk-twice.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-tryeval-thunk-twice.nix b/snix/eval/src/tests/snix_tests/eval-okay-tryeval-thunk-twice.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-tryeval-thunk-twice.nix rename to snix/eval/src/tests/snix_tests/eval-okay-tryeval-thunk-twice.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-tryeval.exp b/snix/eval/src/tests/snix_tests/eval-okay-tryeval.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-tryeval.exp rename to snix/eval/src/tests/snix_tests/eval-okay-tryeval.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-tryeval.nix b/snix/eval/src/tests/snix_tests/eval-okay-tryeval.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-tryeval.nix rename to snix/eval/src/tests/snix_tests/eval-okay-tryeval.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-unpoison-scope.exp b/snix/eval/src/tests/snix_tests/eval-okay-unpoison-scope.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-unpoison-scope.exp rename to snix/eval/src/tests/snix_tests/eval-okay-unpoison-scope.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-unpoison-scope.nix b/snix/eval/src/tests/snix_tests/eval-okay-unpoison-scope.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-unpoison-scope.nix rename to snix/eval/src/tests/snix_tests/eval-okay-unpoison-scope.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-useless-inherit-with.exp b/snix/eval/src/tests/snix_tests/eval-okay-useless-inherit-with.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-useless-inherit-with.exp rename to snix/eval/src/tests/snix_tests/eval-okay-useless-inherit-with.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-useless-inherit-with.nix b/snix/eval/src/tests/snix_tests/eval-okay-useless-inherit-with.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-useless-inherit-with.nix rename to snix/eval/src/tests/snix_tests/eval-okay-useless-inherit-with.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-value-display.exp b/snix/eval/src/tests/snix_tests/eval-okay-value-display.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-value-display.exp rename to snix/eval/src/tests/snix_tests/eval-okay-value-display.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-value-display.nix b/snix/eval/src/tests/snix_tests/eval-okay-value-display.nix similarity index 78% rename from tvix/eval/src/tests/tvix_tests/eval-okay-value-display.nix rename to snix/eval/src/tests/snix_tests/eval-okay-value-display.nix index d34ed1697..b3f5fda17 100644 --- a/tvix/eval/src/tests/tvix_tests/eval-okay-value-display.nix +++ b/snix/eval/src/tests/snix_tests/eval-okay-value-display.nix @@ -1,4 +1,4 @@ -# Sanity check of how values are rendered by tvix vs. nix-instantiate(1). +# Sanity check of how values are rendered by snix vs. nix-instantiate(1). # Ensures that we can use this test suite to compare against C++ Nix. [ null diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-value-pointer-compare.exp b/snix/eval/src/tests/snix_tests/eval-okay-value-pointer-compare.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-value-pointer-compare.exp rename to snix/eval/src/tests/snix_tests/eval-okay-value-pointer-compare.exp diff --git a/snix/eval/src/tests/snix_tests/eval-okay-value-pointer-compare.nix b/snix/eval/src/tests/snix_tests/eval-okay-value-pointer-compare.nix new file mode 100644 index 000000000..de9652ea3 --- /dev/null +++ b/snix/eval/src/tests/snix_tests/eval-okay-value-pointer-compare.nix @@ -0,0 +1,6 @@ +# For an explanation of this behavior see //snix/docs/value-pointer-equality.md +let + f = owo: "thia"; +in + +[ f 42 ] > [ f 21 ] diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-value-pointer-equality.exp b/snix/eval/src/tests/snix_tests/eval-okay-value-pointer-equality.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-value-pointer-equality.exp rename to snix/eval/src/tests/snix_tests/eval-okay-value-pointer-equality.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-value-pointer-equality.nix b/snix/eval/src/tests/snix_tests/eval-okay-value-pointer-equality.nix similarity index 92% rename from tvix/eval/src/tests/tvix_tests/eval-okay-value-pointer-equality.nix rename to snix/eval/src/tests/snix_tests/eval-okay-value-pointer-equality.nix index b5cfbeb12..4f8e30e18 100644 --- a/tvix/eval/src/tests/tvix_tests/eval-okay-value-pointer-equality.nix +++ b/snix/eval/src/tests/snix_tests/eval-okay-value-pointer-equality.nix @@ -1,4 +1,4 @@ -# For an explanation of this behavior see //tvix/docs/value-pointer-equality.md +# For an explanation of this behavior see //snix/docs/value-pointer-equality.md let # Some incomparable values f = MC: "Boing"; diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-with-closure.exp b/snix/eval/src/tests/snix_tests/eval-okay-with-closure.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-with-closure.exp rename to snix/eval/src/tests/snix_tests/eval-okay-with-closure.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-with-closure.nix b/snix/eval/src/tests/snix_tests/eval-okay-with-closure.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-with-closure.nix rename to snix/eval/src/tests/snix_tests/eval-okay-with-closure.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-with-in-dynamic-key.exp b/snix/eval/src/tests/snix_tests/eval-okay-with-in-dynamic-key.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-with-in-dynamic-key.exp rename to snix/eval/src/tests/snix_tests/eval-okay-with-in-dynamic-key.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-with-in-dynamic-key.nix b/snix/eval/src/tests/snix_tests/eval-okay-with-in-dynamic-key.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-with-in-dynamic-key.nix rename to snix/eval/src/tests/snix_tests/eval-okay-with-in-dynamic-key.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-with-in-list.exp b/snix/eval/src/tests/snix_tests/eval-okay-with-in-list.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-with-in-list.exp rename to snix/eval/src/tests/snix_tests/eval-okay-with-in-list.exp diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-with-in-list.nix b/snix/eval/src/tests/snix_tests/eval-okay-with-in-list.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-with-in-list.nix rename to snix/eval/src/tests/snix_tests/eval-okay-with-in-list.nix diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-xml.exp.xml b/snix/eval/src/tests/snix_tests/eval-okay-xml.exp.xml similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-xml.exp.xml rename to snix/eval/src/tests/snix_tests/eval-okay-xml.exp.xml diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-xml.nix b/snix/eval/src/tests/snix_tests/eval-okay-xml.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/eval-okay-xml.nix rename to snix/eval/src/tests/snix_tests/eval-okay-xml.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-bool-false.nix b/snix/eval/src/tests/snix_tests/identity-bool-false.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-bool-false.nix rename to snix/eval/src/tests/snix_tests/identity-bool-false.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-bool-true.nix b/snix/eval/src/tests/snix_tests/identity-bool-true.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-bool-true.nix rename to snix/eval/src/tests/snix_tests/identity-bool-true.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-dollar-escape.nix b/snix/eval/src/tests/snix_tests/identity-dollar-escape.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-dollar-escape.nix rename to snix/eval/src/tests/snix_tests/identity-dollar-escape.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-empty-attrs.nix b/snix/eval/src/tests/snix_tests/identity-empty-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-empty-attrs.nix rename to snix/eval/src/tests/snix_tests/identity-empty-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-empty-list.nix b/snix/eval/src/tests/snix_tests/identity-empty-list.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-empty-list.nix rename to snix/eval/src/tests/snix_tests/identity-empty-list.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-flat-attrs.nix b/snix/eval/src/tests/snix_tests/identity-flat-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-flat-attrs.nix rename to snix/eval/src/tests/snix_tests/identity-flat-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-float.nix b/snix/eval/src/tests/snix_tests/identity-float.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-float.nix rename to snix/eval/src/tests/snix_tests/identity-float.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-heterogeneous-list.nix b/snix/eval/src/tests/snix_tests/identity-heterogeneous-list.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-heterogeneous-list.nix rename to snix/eval/src/tests/snix_tests/identity-heterogeneous-list.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-homogeneous-float-list.nix b/snix/eval/src/tests/snix_tests/identity-homogeneous-float-list.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-homogeneous-float-list.nix rename to snix/eval/src/tests/snix_tests/identity-homogeneous-float-list.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-homogeneous-int-list.nix b/snix/eval/src/tests/snix_tests/identity-homogeneous-int-list.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-homogeneous-int-list.nix rename to snix/eval/src/tests/snix_tests/identity-homogeneous-int-list.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-homogeneous-string-list.nix b/snix/eval/src/tests/snix_tests/identity-homogeneous-string-list.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-homogeneous-string-list.nix rename to snix/eval/src/tests/snix_tests/identity-homogeneous-string-list.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-int.nix b/snix/eval/src/tests/snix_tests/identity-int.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-int.nix rename to snix/eval/src/tests/snix_tests/identity-int.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-kv-attrs.nix b/snix/eval/src/tests/snix_tests/identity-kv-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-kv-attrs.nix rename to snix/eval/src/tests/snix_tests/identity-kv-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-nested-attrs.nix b/snix/eval/src/tests/snix_tests/identity-nested-attrs.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-nested-attrs.nix rename to snix/eval/src/tests/snix_tests/identity-nested-attrs.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-null.nix b/snix/eval/src/tests/snix_tests/identity-null.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-null.nix rename to snix/eval/src/tests/snix_tests/identity-null.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-assert.nix b/snix/eval/src/tests/snix_tests/identity-quoted-attrname-assert.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-assert.nix rename to snix/eval/src/tests/snix_tests/identity-quoted-attrname-assert.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-else.nix b/snix/eval/src/tests/snix_tests/identity-quoted-attrname-else.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-else.nix rename to snix/eval/src/tests/snix_tests/identity-quoted-attrname-else.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-if.nix b/snix/eval/src/tests/snix_tests/identity-quoted-attrname-if.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-if.nix rename to snix/eval/src/tests/snix_tests/identity-quoted-attrname-if.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-in.nix b/snix/eval/src/tests/snix_tests/identity-quoted-attrname-in.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-in.nix rename to snix/eval/src/tests/snix_tests/identity-quoted-attrname-in.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-inherit.nix b/snix/eval/src/tests/snix_tests/identity-quoted-attrname-inherit.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-inherit.nix rename to snix/eval/src/tests/snix_tests/identity-quoted-attrname-inherit.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-let.nix b/snix/eval/src/tests/snix_tests/identity-quoted-attrname-let.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-let.nix rename to snix/eval/src/tests/snix_tests/identity-quoted-attrname-let.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-rec.nix b/snix/eval/src/tests/snix_tests/identity-quoted-attrname-rec.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-rec.nix rename to snix/eval/src/tests/snix_tests/identity-quoted-attrname-rec.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-then.nix b/snix/eval/src/tests/snix_tests/identity-quoted-attrname-then.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-then.nix rename to snix/eval/src/tests/snix_tests/identity-quoted-attrname-then.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-with.nix b/snix/eval/src/tests/snix_tests/identity-quoted-attrname-with.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-quoted-attrname-with.nix rename to snix/eval/src/tests/snix_tests/identity-quoted-attrname-with.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-signed-float.nix b/snix/eval/src/tests/snix_tests/identity-signed-float.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-signed-float.nix rename to snix/eval/src/tests/snix_tests/identity-signed-float.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-signed-int.nix b/snix/eval/src/tests/snix_tests/identity-signed-int.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-signed-int.nix rename to snix/eval/src/tests/snix_tests/identity-signed-int.nix diff --git a/tvix/eval/src/tests/tvix_tests/identity-string.nix b/snix/eval/src/tests/snix_tests/identity-string.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/identity-string.nix rename to snix/eval/src/tests/snix_tests/identity-string.nix diff --git a/tvix/eval/src/tests/tvix_tests/lib.nix b/snix/eval/src/tests/snix_tests/lib.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/lib.nix rename to snix/eval/src/tests/snix_tests/lib.nix diff --git a/tvix/eval/src/tests/tvix_tests/notyetpassing/eval-fail-builtins-genericClosure-uncomparable-keys.nix b/snix/eval/src/tests/snix_tests/notyetpassing/eval-fail-builtins-genericClosure-uncomparable-keys.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/notyetpassing/eval-fail-builtins-genericClosure-uncomparable-keys.nix rename to snix/eval/src/tests/snix_tests/notyetpassing/eval-fail-builtins-genericClosure-uncomparable-keys.nix diff --git a/tvix/eval/src/tests/tvix_tests/notyetpassing/eval-fail-builtins-genericClosure-uncomparable-keys2.nix b/snix/eval/src/tests/snix_tests/notyetpassing/eval-fail-builtins-genericClosure-uncomparable-keys2.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/notyetpassing/eval-fail-builtins-genericClosure-uncomparable-keys2.nix rename to snix/eval/src/tests/snix_tests/notyetpassing/eval-fail-builtins-genericClosure-uncomparable-keys2.nix diff --git a/tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-builtins-set-pointer-equality.exp b/snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-builtins-set-pointer-equality.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-builtins-set-pointer-equality.exp rename to snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-builtins-set-pointer-equality.exp diff --git a/tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-builtins-set-pointer-equality.nix b/snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-builtins-set-pointer-equality.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-builtins-set-pointer-equality.nix rename to snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-builtins-set-pointer-equality.nix diff --git a/tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-cycle-display-cpp-nix-2.13.exp b/snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-cycle-display-cpp-nix-2.13.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-cycle-display-cpp-nix-2.13.exp rename to snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-cycle-display-cpp-nix-2.13.exp diff --git a/tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-cycle-display-cpp-nix-2.13.nix b/snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-cycle-display-cpp-nix-2.13.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-cycle-display-cpp-nix-2.13.nix rename to snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-cycle-display-cpp-nix-2.13.nix diff --git a/tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-minimal-2.3-builtins.exp b/snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-minimal-2.3-builtins.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-minimal-2.3-builtins.exp rename to snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-minimal-2.3-builtins.exp diff --git a/tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-minimal-2.3-builtins.nix b/snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-minimal-2.3-builtins.nix similarity index 94% rename from tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-minimal-2.3-builtins.nix rename to snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-minimal-2.3-builtins.nix index 4480daecd..c9a32d097 100644 --- a/tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-minimal-2.3-builtins.nix +++ b/snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-minimal-2.3-builtins.nix @@ -1,10 +1,10 @@ # This tests verifies that the Nix implementation evaluating this has at least # all the builtins given in `minimalBuiltins`. We don't test a precise list of # builtins since we accept that there will always be difference between the -# builtins sets of Tvix, C++ Nix 2.3 and newer C++ Nix versions, as new builtins +# builtins sets of Snix, C++ Nix 2.3 and newer C++ Nix versions, as new builtins # are added. # -# Tvix also may choose never to implement some builtins if they are only useful +# Snix also may choose never to implement some builtins if they are only useful # for flakes or perform well enough via the shims nixpkgs usually provides. let diff --git a/tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-non-identifier-pointer-inequality.exp b/snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-non-identifier-pointer-inequality.exp similarity index 100% rename from tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-non-identifier-pointer-inequality.exp rename to snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-non-identifier-pointer-inequality.exp diff --git a/tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-non-identifier-pointer-inequality.nix b/snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-non-identifier-pointer-inequality.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/notyetpassing/eval-okay-non-identifier-pointer-inequality.nix rename to snix/eval/src/tests/snix_tests/notyetpassing/eval-okay-non-identifier-pointer-inequality.nix diff --git a/tvix/eval/src/tests/tvix_tests/observable-eval-cache1.nix b/snix/eval/src/tests/snix_tests/observable-eval-cache1.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/observable-eval-cache1.nix rename to snix/eval/src/tests/snix_tests/observable-eval-cache1.nix diff --git a/tvix/eval/src/tests/tvix_tests/observable-eval-cache2.nix b/snix/eval/src/tests/snix_tests/observable-eval-cache2.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/observable-eval-cache2.nix rename to snix/eval/src/tests/snix_tests/observable-eval-cache2.nix diff --git a/tvix/eval/src/tests/tvix_tests/observable-eval-cache3.nix b/snix/eval/src/tests/snix_tests/observable-eval-cache3.nix similarity index 100% rename from tvix/eval/src/tests/tvix_tests/observable-eval-cache3.nix rename to snix/eval/src/tests/snix_tests/observable-eval-cache3.nix diff --git a/tvix/eval/src/upvalues.rs b/snix/eval/src/upvalues.rs similarity index 100% rename from tvix/eval/src/upvalues.rs rename to snix/eval/src/upvalues.rs diff --git a/tvix/eval/src/value/arbitrary.rs b/snix/eval/src/value/arbitrary.rs similarity index 100% rename from tvix/eval/src/value/arbitrary.rs rename to snix/eval/src/value/arbitrary.rs diff --git a/tvix/eval/src/value/attrs.rs b/snix/eval/src/value/attrs.rs similarity index 100% rename from tvix/eval/src/value/attrs.rs rename to snix/eval/src/value/attrs.rs diff --git a/tvix/eval/src/value/attrs/tests.rs b/snix/eval/src/value/attrs/tests.rs similarity index 100% rename from tvix/eval/src/value/attrs/tests.rs rename to snix/eval/src/value/attrs/tests.rs diff --git a/tvix/eval/src/value/builtin.rs b/snix/eval/src/value/builtin.rs similarity index 98% rename from tvix/eval/src/value/builtin.rs rename to snix/eval/src/value/builtin.rs index 346f06cb7..fe577052b 100644 --- a/tvix/eval/src/value/builtin.rs +++ b/snix/eval/src/value/builtin.rs @@ -98,7 +98,7 @@ impl Builtin { debug_assert!( self.0.partials.len() <= self.0.arg_count, - "Tvix bug: pushed too many arguments to builtin" + "Snix bug: pushed too many arguments to builtin" ); } diff --git a/tvix/eval/src/value/function.rs b/snix/eval/src/value/function.rs similarity index 100% rename from tvix/eval/src/value/function.rs rename to snix/eval/src/value/function.rs diff --git a/tvix/eval/src/value/json.rs b/snix/eval/src/value/json.rs similarity index 100% rename from tvix/eval/src/value/json.rs rename to snix/eval/src/value/json.rs diff --git a/tvix/eval/src/value/list.rs b/snix/eval/src/value/list.rs similarity index 100% rename from tvix/eval/src/value/list.rs rename to snix/eval/src/value/list.rs diff --git a/tvix/eval/src/value/mod.rs b/snix/eval/src/value/mod.rs similarity index 98% rename from tvix/eval/src/value/mod.rs rename to snix/eval/src/value/mod.rs index db754790e..a4877a805 100644 --- a/tvix/eval/src/value/mod.rs +++ b/snix/eval/src/value/mod.rs @@ -166,7 +166,7 @@ macro_rules! gen_is { #[derive(Clone, Copy, PartialEq, Eq, Debug)] pub struct CoercionKind { /// If false only coerce already "stringly" types like strings and paths, but - /// also coerce sets that have a `__toString` attribute. In Tvix, this is + /// also coerce sets that have a `__toString` attribute. In Snix, this is /// usually called a weak coercion. Equivalent to passing `false` as the /// `coerceMore` argument of `EvalState::coerceToString` in C++ Nix. /// @@ -208,7 +208,7 @@ where /// Controls what kind of by-pointer equality comparison is allowed. /// -/// See `//tvix/docs/value-pointer-equality.md` for details. +/// See `//snix/docs/value-pointer-equality.md` for details. #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] pub enum PointerEquality { /// Pointer equality not allowed at all. @@ -289,7 +289,7 @@ impl Value { continue; } - Value::Thunk(_) => panic!("Tvix bug: force_value() returned a thunk"), + Value::Thunk(_) => panic!("Snix bug: force_value() returned a thunk"), Value::Catchable(_) => return Ok(Some(value)), @@ -298,7 +298,7 @@ impl Value { | Value::DeferredUpvalue(_) | Value::UnresolvedPath(_) | Value::FinaliseRequest(_) => panic!( - "Tvix bug: internal value left on stack: {}", + "Snix bug: internal value left on stack: {}", value.type_of() ), } @@ -348,8 +348,8 @@ impl Value { // TODO(sterni): Think about proper encoding handling here. This needs // general consideration anyways, since one current discrepancy between - // C++ Nix and Tvix is that the former's strings are arbitrary byte - // sequences without NUL bytes, whereas Tvix only allows valid + // C++ Nix and Snix is that the former's strings are arbitrary byte + // sequences without NUL bytes, whereas Snix only allows valid // Unicode. See also b/189. ( Value::Path(p), @@ -427,7 +427,7 @@ impl Value { continue; } - (Value::Thunk(_), _) => panic!("Tvix bug: force returned unforced thunk"), + (Value::Thunk(_), _) => panic!("Snix bug: force returned unforced thunk"), val @ (Value::Closure(_), _) | val @ (Value::Builtin(_), _) @@ -447,7 +447,7 @@ impl Value { | (Value::DeferredUpvalue(_), _) | (Value::UnresolvedPath(_), _) | (Value::FinaliseRequest(_), _) => { - panic!("tvix bug: .coerce_to_string() called on internal value") + panic!("Snix bug: .coerce_to_string() called on internal value") } }; @@ -482,7 +482,7 @@ impl Value { /// /// The `top_level` parameter controls whether this invocation is the top-level /// comparison, or a nested value comparison. See - /// `//tvix/docs/value-pointer-equality.md` + /// `//snix/docs/value-pointer-equality.md` pub(crate) async fn nix_eq( self, other: Value, @@ -877,12 +877,12 @@ impl Value { | Value::Blueprint(_) | Value::DeferredUpvalue(_) | Value::UnresolvedPath(_) - | Value::FinaliseRequest(_) => "an internal Tvix evaluator value".into(), + | Value::FinaliseRequest(_) => "an internal Snix evaluator value".into(), } } /// Constructs a thunk that will be evaluated lazily at runtime. This lets - /// users of Tvix implement their own lazy builtins and so on. + /// users of Snix implement their own lazy builtins and so on. pub fn suspended_native_thunk(native: Box Result>) -> Self { Value::Thunk(Thunk::new_suspended_native(native)) } diff --git a/tvix/eval/src/value/path.rs b/snix/eval/src/value/path.rs similarity index 100% rename from tvix/eval/src/value/path.rs rename to snix/eval/src/value/path.rs diff --git a/tvix/eval/src/value/string/context.rs b/snix/eval/src/value/string/context.rs similarity index 98% rename from tvix/eval/src/value/string/context.rs rename to snix/eval/src/value/string/context.rs index e1c04735d..1d2845efa 100644 --- a/tvix/eval/src/value/string/context.rs +++ b/snix/eval/src/value/string/context.rs @@ -19,7 +19,7 @@ pub enum NixContextElement { Derivation(String), } -/// Nix context strings representation in Tvix. This tracks a set of different kinds of string +/// Nix context strings representation. This tracks a set of different kinds of string /// dependencies that we can come across during manipulation of our language primitives, mostly /// strings. There's some simple algebra of context strings and how they propagate w.r.t. primitive /// operations, e.g. concatenation, interpolation and other string operations. diff --git a/tvix/eval/src/value/string/mod.rs b/snix/eval/src/value/string/mod.rs similarity index 100% rename from tvix/eval/src/value/string/mod.rs rename to snix/eval/src/value/string/mod.rs diff --git a/tvix/eval/src/value/thunk.rs b/snix/eval/src/value/thunk.rs similarity index 99% rename from tvix/eval/src/value/thunk.rs rename to snix/eval/src/value/thunk.rs index 4b915019d..8ec2be42d 100644 --- a/tvix/eval/src/value/thunk.rs +++ b/snix/eval/src/value/thunk.rs @@ -372,7 +372,7 @@ impl Thunk { } /// Do not use this without first reading and understanding - /// `tvix/docs/value-pointer-equality.md`. + /// `snix/docs/value-pointer-equality.md`. pub(crate) fn ptr_eq(&self, other: &Self) -> bool { if Rc::ptr_eq(&self.0, &other.0) { return true; diff --git a/tvix/eval/src/vm/generators.rs b/snix/eval/src/vm/generators.rs similarity index 95% rename from tvix/eval/src/vm/generators.rs rename to snix/eval/src/vm/generators.rs index 9c9c8a7b8..bd096b30f 100644 --- a/tvix/eval/src/vm/generators.rs +++ b/snix/eval/src/vm/generators.rs @@ -341,7 +341,7 @@ where self.reenqueue_generator(name, span, generator); let call_frame = self.last_call_frame() - .expect("Tvix bug: generator requested captured with-value, but there is no call frame"); + .expect("Snix bug: generator requested captured with-value, but there is no call frame"); let value = call_frame.upvalues.with_stack().unwrap()[idx].clone(); self.enqueue_generator("force", span, |co| { @@ -529,7 +529,7 @@ pub async fn request_stack_push(co: &GenCo, val: Value) { match co.yield_(VMRequest::StackPush(val)).await { VMResponse::Empty => {} msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -541,7 +541,7 @@ pub async fn request_stack_pop(co: &GenCo) -> Value { match co.yield_(VMRequest::StackPop).await { VMResponse::Value(value) => value, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -553,7 +553,7 @@ pub async fn request_force(co: &GenCo, val: Value) -> Value { match co.yield_(VMRequest::ForceValue(val)).await { VMResponse::Value(value) => value, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -568,7 +568,7 @@ pub(crate) async fn request_try_force(co: &GenCo, val: Value) -> Value { match co.yield_(VMRequest::TryForce(val)).await { VMResponse::Value(value) => value, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -584,7 +584,7 @@ pub async fn request_call(co: &GenCo, val: Value) -> Value { match co.yield_(VMRequest::Call(val)).await { VMResponse::Value(value) => value, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -626,7 +626,7 @@ pub async fn request_string_coerce( .to_contextful_str() .expect("coerce_to_string always returns a string")), msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), }, @@ -638,7 +638,7 @@ pub async fn request_deep_force(co: &GenCo, val: Value) -> Value { match co.yield_(VMRequest::DeepForceValue(val)).await { VMResponse::Value(value) => value, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -658,7 +658,7 @@ pub(crate) async fn check_equality( VMResponse::Value(Value::Bool(b)) => Ok(Ok(b)), VMResponse::Value(Value::Catchable(cek)) => Ok(Err(*cek)), msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -669,7 +669,7 @@ pub(crate) async fn emit_warning(co: &GenCo, warning: EvalWarning) { match co.yield_(VMRequest::EmitWarning(warning)).await { VMResponse::Empty => {} msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -680,7 +680,7 @@ pub async fn emit_warning_kind(co: &GenCo, kind: WarningKind) { match co.yield_(VMRequest::EmitWarningKind(kind)).await { VMResponse::Empty => {} msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -702,7 +702,7 @@ pub(crate) async fn request_enter_lambda( match co.yield_(msg).await { VMResponse::Value(value) => value, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -714,7 +714,7 @@ pub(crate) async fn request_import_cache_lookup(co: &GenCo, path: PathBuf) -> Op VMResponse::Value(value) => Some(value), VMResponse::Empty => None, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -725,7 +725,7 @@ pub(crate) async fn request_import_cache_put(co: &GenCo, path: PathBuf, value: V match co.yield_(VMRequest::ImportCachePut(path, value)).await { VMResponse::Empty => {} msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -736,7 +736,7 @@ pub(crate) async fn request_path_import(co: &GenCo, path: PathBuf) -> PathBuf { match co.yield_(VMRequest::PathImport(path)).await { VMResponse::Path(path) => path, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -747,7 +747,7 @@ pub async fn request_open_file(co: &GenCo, path: PathBuf) -> Box value, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -758,7 +758,7 @@ pub(crate) async fn request_path_exists(co: &GenCo, path: PathBuf) -> Value { match co.yield_(VMRequest::PathExists(path)).await { VMResponse::Value(value) => value, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -769,7 +769,7 @@ pub(crate) async fn request_read_dir(co: &GenCo, path: PathBuf) -> Vec<(bytes::B match co.yield_(VMRequest::ReadDir(path)).await { VMResponse::Directory(dir) => dir, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -779,7 +779,7 @@ pub(crate) async fn request_span(co: &GenCo) -> Span { match co.yield_(VMRequest::Span).await { VMResponse::Span(span) => span, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -790,7 +790,7 @@ pub(crate) async fn request_read_file_type(co: &GenCo, path: PathBuf) -> FileTyp match co.yield_(VMRequest::ReadFileType(path)).await { VMResponse::FileType(file_type) => file_type, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } diff --git a/tvix/eval/src/vm/macros.rs b/snix/eval/src/vm/macros.rs similarity index 100% rename from tvix/eval/src/vm/macros.rs rename to snix/eval/src/vm/macros.rs diff --git a/tvix/eval/src/vm/mod.rs b/snix/eval/src/vm/mod.rs similarity index 98% rename from tvix/eval/src/vm/mod.rs rename to snix/eval/src/vm/mod.rs index 5b0d196c2..ab693efb0 100644 --- a/tvix/eval/src/vm/mod.rs +++ b/snix/eval/src/vm/mod.rs @@ -1,4 +1,4 @@ -//! This module implements the abstract/virtual machine that runs Tvix +//! This module implements the abstract/virtual machine that runs Snix //! bytecode. //! //! The operation of the VM is facilitated by the [`Frame`] type, @@ -194,7 +194,7 @@ impl CallFrame { /// When a frame has been fully executed, it is removed from the VM's frame /// stack and expected to leave a result [`Value`] on the top of the stack. enum Frame { - /// CallFrame represents the execution of Tvix bytecode within a thunk, + /// CallFrame represents the execution of Snix bytecode within a thunk, /// function or closure. CallFrame { /// The call frame itself, separated out into another type to pass it @@ -435,14 +435,14 @@ where let value = self .stack .pop() - .expect("tvix bug: runtime stack empty after execution"); + .expect("Snix bug: runtime stack empty after execution"); Ok(RuntimeResult { value, warnings: self.warnings, }) } - /// Run the VM's inner execution loop, processing Tvix bytecode from a + /// Run the VM's inner execution loop, processing Snix bytecode from a /// chunk. This function returns if: /// /// 1. The code has run to the end, and has left a value on the top of the @@ -642,7 +642,7 @@ where frame.ip += offset; } }, - val => panic!("Tvix bug: OpJumIfNoFinaliseRequest: expected FinaliseRequest, but got {}", val.type_of()), + val => panic!("Snix bug: OpJumIfNoFinaliseRequest: expected FinaliseRequest, but got {}", val.type_of()), } } @@ -933,7 +933,7 @@ where self.stack.push(resolved.into()); } - _ => panic!("tvix compiler bug: OpFindFile called on non-UnresolvedPath"), + _ => panic!("Snix bug: OpFindFile called on non-UnresolvedPath"), }, Op::ResolveHomePath => match self.stack_pop() { @@ -955,7 +955,7 @@ where } _ => { - panic!("tvix compiler bug: OpResolveHomePath called on non-UnresolvedPath") + panic!("Snix bug: OpResolveHomePath called on non-UnresolvedPath") } }, @@ -975,7 +975,7 @@ where // Encountering an invalid opcode is a critical error in the // VM/compiler. Op::Invalid => { - panic!("Tvix bug: attempted to execute invalid opcode") + panic!("Snix bug: attempted to execute invalid opcode") } } } @@ -1061,7 +1061,7 @@ where /// Apply an argument from the stack to a builtin, and attempt to call it. /// - /// All calls are tail-calls in Tvix, as every function application is a + /// All calls are tail-calls in Snix, as every function application is a /// separate thunk and OpCall is thus the last result in the thunk. /// /// Due to this, once control flow exits this function, the generator will @@ -1193,7 +1193,7 @@ where None => { return frame.error( self, - ErrorKind::TvixBug { + ErrorKind::SnixBug { msg: "upvalue to be captured was missing on stack", metadata: Some(Rc::new(json!({ "ip": format!("{:#x}", frame.ip.0 - 1), @@ -1219,7 +1219,7 @@ where continue; } - panic!("Tvix bug: invalid capture position emitted") + panic!("Snix bug: invalid capture position emitted") } Ok(()) @@ -1240,7 +1240,7 @@ async fn resolve_with( match co.yield_(VMRequest::WithValue(idx)).await { VMResponse::Value(value) => value, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } @@ -1251,7 +1251,7 @@ async fn resolve_with( match co.yield_(VMRequest::CapturedWithValue(idx)).await { VMResponse::Value(value) => value, msg => panic!( - "Tvix bug: VM responded with incorrect generator message: {}", + "Snix bug: VM responded with incorrect generator message: {}", msg ), } diff --git a/tvix/eval/src/warnings.rs b/snix/eval/src/warnings.rs similarity index 96% rename from tvix/eval/src/warnings.rs rename to snix/eval/src/warnings.rs index f537aa913..33f1daecc 100644 --- a/tvix/eval/src/warnings.rs +++ b/snix/eval/src/warnings.rs @@ -1,5 +1,5 @@ //! Implements warnings that are emitted in cases where code passed to -//! Tvix exhibits problems that the user could address. +//! Snix exhibits problems that the user could address. use codemap_diagnostic::{ColorConfig, Diagnostic, Emitter, Level, SpanLabel, SpanStyle}; @@ -20,7 +20,7 @@ pub enum WarningKind { ShadowedOutput(String), SRIHashWrongPadding, - /// Tvix internal warning for features triggered by users that are + /// Snix internal warning for features triggered by users that are /// not actually implemented yet, but do not cause runtime failures. NotImplemented(&'static str), } @@ -109,7 +109,7 @@ impl EvalWarning { WarningKind::SRIHashWrongPadding => "SRI hash has wrong padding".to_string(), WarningKind::NotImplemented(what) => { - format!("feature not yet implemented in tvix: {}", what) + format!("feature not yet implemented in snix: {}", what) } } } diff --git a/tvix/eval/tests/nix_oracle.rs b/snix/eval/tests/nix_oracle.rs similarity index 92% rename from tvix/eval/tests/nix_oracle.rs rename to snix/eval/tests/nix_oracle.rs index 137dff6b0..50a9274be 100644 --- a/tvix/eval/tests/nix_oracle.rs +++ b/snix/eval/tests/nix_oracle.rs @@ -53,32 +53,32 @@ fn nix_eval(expr: &str, strictness: Strictness) -> String { } /// Compare the evaluation of the given nix expression in nix (using the -/// `NIX_INSTANTIATE_BINARY_PATH` env var to resolve the `nix-instantiate` binary) and tvix, and +/// `NIX_INSTANTIATE_BINARY_PATH` env var to resolve the `nix-instantiate` binary) and snix, and /// assert that the result is identical #[track_caller] #[cfg(feature = "impure")] fn compare_eval(expr: &str, strictness: Strictness) { - use tvix_eval::{EvalIO, EvalMode}; + use snix_eval::{EvalIO, EvalMode}; let nix_result = nix_eval(expr, strictness); - let mut eval_builder = tvix_eval::Evaluation::builder_pure(); + let mut eval_builder = snix_eval::Evaluation::builder_pure(); if matches!(strictness, Strictness::Strict) { eval_builder = eval_builder.mode(EvalMode::Strict); } let eval = eval_builder - .io_handle(Box::new(tvix_eval::StdIO) as Box) + .io_handle(Box::new(snix_eval::StdIO) as Box) .build(); - let tvix_result = eval + let snix_result = eval .evaluate(expr, None) .value - .expect("tvix evaluation should succeed") + .expect("snix evaluation should succeed") .to_string(); - assert_eq!(nix_result.trim(), tvix_result); + assert_eq!(nix_result.trim(), snix_result); } -/// Generate a suite of tests which call [`compare_eval`] on expressions, checking that nix and tvix +/// Generate a suite of tests which call [`compare_eval`] on expressions, checking that nix and snix /// return identical results. macro_rules! compare_eval_tests { ($strictness:expr, {}) => {}; @@ -121,7 +121,7 @@ compare_strict_eval_tests! { ]"#); } -// TODO(sterni): tvix_tests should gain support for something similar in the future, +// TODO(sterni): snix_tests should gain support for something similar in the future, // but this requires messing with the path naming which would break compat with // C++ Nix's test suite compare_lazy_eval_tests! { diff --git a/tvix/glue/Cargo.toml b/snix/glue/Cargo.toml similarity index 80% rename from tvix/glue/Cargo.toml rename to snix/glue/Cargo.toml index a51dde3c7..3a9958aec 100644 --- a/tvix/glue/Cargo.toml +++ b/snix/glue/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tvix-glue" +name = "snix-glue" version = "0.1.0" edition = "2021" @@ -13,11 +13,11 @@ magic.workspace = true nix-compat = { path = "../nix-compat" } pin-project.workspace = true reqwest = { workspace = true, features = ["rustls-tls-native-roots"] } -tvix-build = { path = "../build", default-features = false, features = []} -tvix-eval = { path = "../eval" } -tvix-castore = { path = "../castore" } -tvix-store = { path = "../store", default-features = false, features = []} -tvix-tracing = { path = "../tracing" } +snix-build = { path = "../build", default-features = false, features = []} +snix-eval = { path = "../eval" } +snix-castore = { path = "../castore" } +snix-store = { path = "../store", default-features = false, features = []} +snix-tracing = { path = "../tracing" } tracing.workspace = true tracing-indicatif.workspace = true tokio.workspace = true @@ -45,7 +45,7 @@ tempfile.workspace = true [features] default = ["nix_tests"] # Enables running the Nix language test suite from the original C++ -# Nix implementation (at version 2.3) against Tvix. +# Nix implementation (at version 2.3) against Snix. nix_tests = [] [[bench]] diff --git a/tvix/glue/benches/eval.rs b/snix/glue/benches/eval.rs similarity index 75% rename from tvix/glue/benches/eval.rs rename to snix/glue/benches/eval.rs index ce14bdcc1..4013b9474 100644 --- a/tvix/glue/benches/eval.rs +++ b/snix/glue/benches/eval.rs @@ -1,17 +1,17 @@ use clap::Parser; use criterion::{black_box, criterion_group, criterion_main, Criterion}; use mimalloc::MiMalloc; -use std::sync::LazyLock; -use std::{env, rc::Rc, sync::Arc, time::Duration}; -use tvix_build::buildservice::DummyBuildService; -use tvix_eval::{builtins::impure_builtins, EvalIO}; -use tvix_glue::{ +use snix_build::buildservice::DummyBuildService; +use snix_eval::{builtins::impure_builtins, EvalIO}; +use snix_glue::{ builtins::{add_derivation_builtins, add_fetcher_builtins, add_import_builtins}, configure_nix_path, - tvix_io::TvixIO, - tvix_store_io::TvixStoreIO, + snix_io::SnixIO, + snix_store_io::SnixStoreIO, }; -use tvix_store::utils::{construct_services, ServiceUrlsMemory}; +use snix_store::utils::{construct_services, ServiceUrlsMemory}; +use std::sync::LazyLock; +use std::{env, rc::Rc, sync::Arc, time::Duration}; #[global_allocator] static GLOBAL: MiMalloc = MiMalloc; @@ -31,7 +31,7 @@ fn interpret(code: &str) { .unwrap(); // We assemble a complete store in memory. - let tvix_store_io = Rc::new(TvixStoreIO::new( + let snix_store_io = Rc::new(SnixStoreIO::new( blob_service, directory_service, path_info_service, @@ -40,20 +40,20 @@ fn interpret(code: &str) { TOKIO_RUNTIME.handle().clone(), )); - let mut eval_builder = tvix_eval::Evaluation::builder(Box::new(TvixIO::new( - tvix_store_io.clone() as Rc, + let mut eval_builder = snix_eval::Evaluation::builder(Box::new(SnixIO::new( + snix_store_io.clone() as Rc, )) as Box) .enable_import() .add_builtins(impure_builtins()); - eval_builder = add_derivation_builtins(eval_builder, Rc::clone(&tvix_store_io)); - eval_builder = add_fetcher_builtins(eval_builder, Rc::clone(&tvix_store_io)); - eval_builder = add_import_builtins(eval_builder, tvix_store_io); + eval_builder = add_derivation_builtins(eval_builder, Rc::clone(&snix_store_io)); + eval_builder = add_fetcher_builtins(eval_builder, Rc::clone(&snix_store_io)); + eval_builder = add_import_builtins(eval_builder, snix_store_io); eval_builder = configure_nix_path( eval_builder, - // The benchmark requires TVIX_BENCH_NIX_PATH to be set, so barf out - // early, rather than benchmarking tvix returning an error. - &Some(env::var("TVIX_BENCH_NIX_PATH").expect("TVIX_BENCH_NIX_PATH must be set")), + // The benchmark requires SNIX_BENCH_NIX_PATH to be set, so barf out + // early, rather than benchmarking snix returning an error. + &Some(env::var("SNIX_BENCH_NIX_PATH").expect("SNIX_BENCH_NIX_PATH must be set")), ); let eval = eval_builder.build(); diff --git a/tvix/glue/build.rs b/snix/glue/build.rs similarity index 72% rename from tvix/glue/build.rs rename to snix/glue/build.rs index 544c34a6c..cc49e8489 100644 --- a/tvix/glue/build.rs +++ b/snix/glue/build.rs @@ -2,5 +2,5 @@ fn main() { // Pick up new test case files // https://github.com/la10736/rstest/issues/256 println!("cargo:rerun-if-changed=src/tests/nix_tests"); - println!("cargo:rerun-if-changed=src/tests/tvix_tests") + println!("cargo:rerun-if-changed=src/tests/snix_tests") } diff --git a/tvix/glue/default.nix b/snix/glue/default.nix similarity index 70% rename from tvix/glue/default.nix rename to snix/glue/default.nix index 0ead94a50..d5047b0b0 100644 --- a/tvix/glue/default.nix +++ b/snix/glue/default.nix @@ -1,13 +1,13 @@ -{ depot, pkgs, lib, ... }: +{ depot, lib, ... }: -(depot.tvix.crates.workspaceMembers.tvix-glue.build.override { +(depot.snix.crates.workspaceMembers.snix-glue.build.override { runTests = true; testPreRun = '' export SSL_CERT_FILE=/dev/null ''; }).overrideAttrs (old: rec { meta.ci.targets = lib.filter (x: lib.hasPrefix "with-features" x || x == "no-features") (lib.attrNames passthru); - passthru = old.passthru // (depot.tvix.utils.mkFeaturePowerset { + passthru = old.passthru // (depot.snix.utils.mkFeaturePowerset { inherit (old) crateName; features = [ "nix_tests" ]; override.testPreRun = '' diff --git a/tvix/glue/src/.skip-subtree b/snix/glue/src/.skip-subtree similarity index 100% rename from tvix/glue/src/.skip-subtree rename to snix/glue/src/.skip-subtree diff --git a/tvix/glue/src/builtins/derivation.nix b/snix/glue/src/builtins/derivation.nix similarity index 100% rename from tvix/glue/src/builtins/derivation.nix rename to snix/glue/src/builtins/derivation.nix diff --git a/tvix/glue/src/builtins/derivation.rs b/snix/glue/src/builtins/derivation.rs similarity index 97% rename from tvix/glue/src/builtins/derivation.rs rename to snix/glue/src/builtins/derivation.rs index 8ee003dc2..d715dc440 100644 --- a/tvix/glue/src/builtins/derivation.rs +++ b/snix/glue/src/builtins/derivation.rs @@ -1,18 +1,18 @@ //! Implements `builtins.derivation`, the core of what makes Nix build packages. use crate::builtins::DerivationError; use crate::known_paths::KnownPaths; -use crate::tvix_store_io::TvixStoreIO; +use crate::snix_store_io::SnixStoreIO; use bstr::BString; use nix_compat::derivation::{Derivation, Output}; use nix_compat::nixhash; use nix_compat::store_path::{StorePath, StorePathRef}; -use std::collections::{btree_map, BTreeSet}; -use std::rc::Rc; -use tvix_eval::builtin_macros::builtins; -use tvix_eval::generators::{self, emit_warning_kind, GenCo}; -use tvix_eval::{ +use snix_eval::builtin_macros::builtins; +use snix_eval::generators::{self, emit_warning_kind, GenCo}; +use snix_eval::{ AddContext, ErrorKind, NixAttrs, NixContext, NixContextElement, Value, WarningKind, }; +use std::collections::{btree_map, BTreeSet}; +use std::rc::Rc; // Constants used for strangely named fields in derivation inputs. const STRUCTURED_ATTRS: &str = "__structuredAttrs"; @@ -165,15 +165,15 @@ fn handle_fixed_output( Ok(None) } -#[builtins(state = "Rc")] +#[builtins(state = "Rc")] pub(crate) mod derivation_builtins { use std::collections::BTreeMap; use bstr::ByteSlice; use nix_compat::store_path::hash_placeholder; - use tvix_eval::generators::Gen; - use tvix_eval::{NixContext, NixContextElement, NixString}; + use snix_eval::generators::Gen; + use snix_eval::{NixContext, NixContextElement, NixString}; use crate::builtins::utils::{select_string, strong_importing_coerce_to_string}; use crate::fetchurl::fetchurl_derivation_to_fetch; @@ -202,7 +202,7 @@ pub(crate) mod derivation_builtins { /// use the higher-level `builtins.derivation` instead. #[builtin("derivationStrict")] async fn builtin_derivation_strict( - state: Rc, + state: Rc, co: GenCo, input: Value, ) -> Result { @@ -509,11 +509,11 @@ pub(crate) mod derivation_builtins { // synthesize a [Fetch] and add it there, too. if drv.builder == "builtin:fetchurl" { let (name, fetch) = - fetchurl_derivation_to_fetch(&drv).map_err(|e| ErrorKind::TvixError(Rc::new(e)))?; + fetchurl_derivation_to_fetch(&drv).map_err(|e| ErrorKind::SnixError(Rc::new(e)))?; known_paths .add_fetch(fetch, &name) - .map_err(|e| ErrorKind::TvixError(Rc::new(e)))?; + .map_err(|e| ErrorKind::SnixError(Rc::new(e)))?; } // Register the Derivation in known_paths. diff --git a/tvix/glue/src/builtins/errors.rs b/snix/glue/src/builtins/errors.rs similarity index 88% rename from tvix/glue/src/builtins/errors.rs rename to snix/glue/src/builtins/errors.rs index ec85942bb..a1e4c560e 100644 --- a/tvix/glue/src/builtins/errors.rs +++ b/snix/glue/src/builtins/errors.rs @@ -4,9 +4,9 @@ use nix_compat::{ store_path::BuildStorePathError, }; use reqwest::Url; +use snix_castore::import; use std::{path::PathBuf, rc::Rc}; use thiserror::Error; -use tvix_castore::import; /// Errors related to derivation construction #[derive(Debug, Error)] @@ -25,9 +25,9 @@ pub enum DerivationError { InvalidOutputHashMode(String), } -impl From for tvix_eval::ErrorKind { +impl From for snix_eval::ErrorKind { fn from(err: DerivationError) -> Self { - tvix_eval::ErrorKind::TvixError(Rc::new(err)) + snix_eval::ErrorKind::SnixError(Rc::new(err)) } } @@ -53,7 +53,7 @@ pub enum FetcherError { Io(#[from] std::io::Error), #[error(transparent)] - Import(#[from] tvix_castore::import::IngestionError), + Import(#[from] snix_castore::import::IngestionError), #[error("Error calculating store path for fetcher output: {0}")] StorePath(#[from] BuildStorePathError), @@ -73,8 +73,8 @@ pub enum ImportError { PathNotAbsoluteOrInvalid(PathBuf), } -impl From for tvix_eval::ErrorKind { +impl From for snix_eval::ErrorKind { fn from(err: ImportError) -> Self { - tvix_eval::ErrorKind::TvixError(Rc::new(err)) + snix_eval::ErrorKind::SnixError(Rc::new(err)) } } diff --git a/tvix/glue/src/builtins/fetchers.rs b/snix/glue/src/builtins/fetchers.rs similarity index 89% rename from tvix/glue/src/builtins/fetchers.rs rename to snix/glue/src/builtins/fetchers.rs index 2d9b30586..b3c8b3885 100644 --- a/tvix/glue/src/builtins/fetchers.rs +++ b/snix/glue/src/builtins/fetchers.rs @@ -3,14 +3,14 @@ use super::utils::select_string; use crate::{ fetchers::{url_basename, Fetch}, - tvix_store_io::TvixStoreIO, + snix_store_io::SnixStoreIO, }; use nix_compat::nixhash; +use snix_eval::builtin_macros::builtins; +use snix_eval::generators::Gen; +use snix_eval::generators::GenCo; +use snix_eval::{CatchableErrorKind, ErrorKind, Value}; use std::rc::Rc; -use tvix_eval::builtin_macros::builtins; -use tvix_eval::generators::Gen; -use tvix_eval::generators::GenCo; -use tvix_eval::{CatchableErrorKind, ErrorKind, Value}; use url::Url; // Used as a return type for extract_fetch_args, which is sharing some @@ -33,7 +33,7 @@ async fn extract_fetch_args( String::from_utf8(url_str.as_bytes().to_vec()).map_err(|_| ErrorKind::Utf8)?; // Parse the URL. - let url = Url::parse(&url_str).map_err(|e| ErrorKind::TvixError(Rc::new(e)))?; + let url = Url::parse(&url_str).map_err(|e| ErrorKind::SnixError(Rc::new(e)))?; return Ok(Ok(NixFetchArgs { url, @@ -81,13 +81,13 @@ async fn extract_fetch_args( }; // Parse the URL. - let url = Url::parse(&url_str).map_err(|e| ErrorKind::TvixError(Rc::new(e)))?; + let url = Url::parse(&url_str).map_err(|e| ErrorKind::SnixError(Rc::new(e)))?; Ok(Ok(NixFetchArgs { url, name, sha256 })) } #[allow(unused_variables)] // for the `state` arg, for now -#[builtins(state = "Rc")] +#[builtins(state = "Rc")] pub(crate) mod fetcher_builtins { use nix_compat::nixhash::NixHash; @@ -98,10 +98,10 @@ pub(crate) mod fetcher_builtins { /// queue the fetch to be fetched lazily, and return the store path. /// If there's not enough info to calculate it, do the fetch now, and then /// return the store path. - fn fetch_lazy(state: Rc, name: String, fetch: Fetch) -> Result { + fn fetch_lazy(state: Rc, name: String, fetch: Fetch) -> Result { match fetch .store_path(&name) - .map_err(|e| ErrorKind::TvixError(Rc::new(e)))? + .map_err(|e| ErrorKind::SnixError(Rc::new(e)))? { Some(store_path) => { // Move the fetch to KnownPaths, so it can be actually fetched later. @@ -109,7 +109,7 @@ pub(crate) mod fetcher_builtins { .known_paths .borrow_mut() .add_fetch(fetch, &name) - .expect("Tvix bug: should only fail if the store path cannot be calculated"); + .expect("Snix bug: should only fail if the store path cannot be calculated"); debug_assert_eq!( sp, store_path, @@ -124,7 +124,7 @@ pub(crate) mod fetcher_builtins { let (store_path, _root_node) = state .tokio_handle .block_on(async { state.fetcher.ingest_and_persist(&name, fetch).await }) - .map_err(|e| ErrorKind::TvixError(Rc::new(e)))?; + .map_err(|e| ErrorKind::SnixError(Rc::new(e)))?; Ok(Value::Path(Box::new(store_path.to_absolute_path().into()))) } @@ -133,7 +133,7 @@ pub(crate) mod fetcher_builtins { #[builtin("fetchurl")] async fn builtin_fetchurl( - state: Rc, + state: Rc, co: GenCo, args: Value, ) -> Result { @@ -159,7 +159,7 @@ pub(crate) mod fetcher_builtins { #[builtin("fetchTarball")] async fn builtin_fetch_tarball( - state: Rc, + state: Rc, co: GenCo, args: Value, ) -> Result { @@ -186,7 +186,7 @@ pub(crate) mod fetcher_builtins { #[builtin("fetchGit")] async fn builtin_fetch_git( - state: Rc, + state: Rc, co: GenCo, args: Value, ) -> Result { diff --git a/tvix/glue/src/builtins/import.rs b/snix/glue/src/builtins/import.rs similarity index 92% rename from tvix/glue/src/builtins/import.rs rename to snix/glue/src/builtins/import.rs index bdcfd06ab..4fd9b582f 100644 --- a/tvix/glue/src/builtins/import.rs +++ b/snix/glue/src/builtins/import.rs @@ -1,19 +1,19 @@ //! Implements builtins used to import paths in the store. -use crate::tvix_store_io::TvixStoreIO; -use std::path::Path; -use tvix_castore::import::ingest_entries; -use tvix_castore::Node; -use tvix_eval::{ +use crate::snix_store_io::SnixStoreIO; +use snix_castore::import::ingest_entries; +use snix_castore::Node; +use snix_eval::{ builtin_macros::builtins, generators::{self, GenCo}, ErrorKind, EvalIO, Value, }; +use std::path::Path; use std::rc::Rc; async fn filtered_ingest( - state: Rc, + state: Rc, co: GenCo, path: &Path, filter: Option<&Value>, @@ -89,7 +89,7 @@ async fn filtered_ingest( let dir_entries = entries.into_iter().rev().map(Ok); state.tokio_handle.block_on(async { - let entries = tvix_castore::import::fs::dir_entries_to_ingestion_stream::<'_, _, _, &[u8]>( + let entries = snix_castore::import::fs::dir_entries_to_ingestion_stream::<'_, _, _, &[u8]>( &state.blob_service, dir_entries, path, @@ -104,24 +104,24 @@ async fn filtered_ingest( }) } -#[builtins(state = "Rc")] +#[builtins(state = "Rc")] mod import_builtins { use super::*; use crate::builtins::ImportError; - use crate::tvix_store_io::TvixStoreIO; + use crate::snix_store_io::SnixStoreIO; use bstr::ByteSlice; use nix_compat::nixhash::{CAHash, NixHash}; use nix_compat::store_path::{build_ca_path, StorePath, StorePathRef}; use sha2::Digest; + use snix_castore::blobservice::BlobService; + use snix_eval::builtins::coerce_value_to_path; + use snix_eval::generators::Gen; + use snix_eval::{generators::GenCo, ErrorKind, Value}; + use snix_eval::{AddContext, FileType, NixContext, NixContextElement, NixString}; + use snix_store::path_info::PathInfo; use std::rc::Rc; use tokio::io::AsyncWriteExt; - use tvix_castore::blobservice::BlobService; - use tvix_eval::builtins::coerce_value_to_path; - use tvix_eval::generators::Gen; - use tvix_eval::{generators::GenCo, ErrorKind, Value}; - use tvix_eval::{AddContext, FileType, NixContext, NixContextElement, NixString}; - use tvix_store::path_info::PathInfo; /// Helper function dealing with uploading something from a std::io::Read to /// the passed [BlobService], returning the B3Digest and size. @@ -133,7 +133,7 @@ mod import_builtins { blob_service: impl BlobService, mut r: impl std::io::Read, mut inspect_f: F, - ) -> std::io::Result<(tvix_castore::B3Digest, u64)> + ) -> std::io::Result<(snix_castore::B3Digest, u64)> where F: FnMut(&[u8]), { @@ -171,7 +171,7 @@ mod import_builtins { // This is a helper used by both builtins.path and builtins.filterSource. async fn import_helper( - state: Rc, + state: Rc, co: GenCo, path: std::path::PathBuf, name: Option<&Value>, @@ -185,7 +185,7 @@ mod import_builtins { .to_str()? .as_bstr() .to_string(), - None => tvix_store::import::path_to_name(&path) + None => snix_store::import::path_to_name(&path) .expect("Failed to derive the default name out of the path") .to_string(), }; @@ -250,7 +250,7 @@ mod import_builtins { FileType::Symlink => { // FUTUREWORK: Nix follows a symlink if it's at the root, // except if it's not resolve-able (NixOS/nix#7761).i - return Err(tvix_eval::ErrorKind::IO { + return Err(snix_eval::ErrorKind::IO { path: Some(path), error: Rc::new(std::io::Error::new( std::io::ErrorKind::Unsupported, @@ -259,7 +259,7 @@ mod import_builtins { }); } FileType::Unknown => { - return Err(tvix_eval::ErrorKind::IO { + return Err(snix_eval::ErrorKind::IO { path: Some(path), error: Rc::new(std::io::Error::new( std::io::ErrorKind::Unsupported, @@ -279,7 +279,7 @@ mod import_builtins { .calculate_nar(&root_node) .await }) - .map_err(|e| tvix_eval::ErrorKind::TvixError(Rc::new(e)))?; + .map_err(|e| snix_eval::ErrorKind::SnixError(Rc::new(e)))?; // Calculate the CA hash for the recursive cases, this is only already // `Some(_)` for flat ingestion. @@ -302,7 +302,7 @@ mod import_builtins { }; let store_path = build_ca_path(&name, &ca, Vec::<&str>::new(), false) - .map_err(|e| tvix_eval::ErrorKind::TvixError(Rc::new(e)))?; + .map_err(|e| snix_eval::ErrorKind::SnixError(Rc::new(e)))?; let path_info = state .tokio_handle @@ -323,7 +323,7 @@ mod import_builtins { }) .await }) - .map_err(|e| tvix_eval::ErrorKind::IO { + .map_err(|e| snix_eval::ErrorKind::IO { path: Some(path), error: Rc::new(e.into()), })?; @@ -339,7 +339,7 @@ mod import_builtins { #[builtin("path")] async fn builtin_path( - state: Rc, + state: Rc, co: GenCo, args: Value, ) -> Result { @@ -391,7 +391,7 @@ mod import_builtins { #[builtin("filterSource")] async fn builtin_filter_source( - state: Rc, + state: Rc, co: GenCo, #[lazy] filter: Value, path: Value, @@ -407,7 +407,7 @@ mod import_builtins { #[builtin("storePath")] async fn builtin_store_path( - state: Rc, + state: Rc, co: GenCo, path: Value, ) -> Result { @@ -441,7 +441,7 @@ mod import_builtins { #[builtin("toFile")] async fn builtin_to_file( - state: Rc, + state: Rc, co: GenCo, name: Value, content: Value, @@ -487,7 +487,7 @@ mod import_builtins { .nar_calculation_service .calculate_nar(&root_node) .await - .map_err(|e| ErrorKind::TvixError(Rc::new(e)))?; + .map_err(|e| ErrorKind::SnixError(Rc::new(e)))?; let ca_hash = CAHash::Text(h.finalize().into()); @@ -514,7 +514,7 @@ mod import_builtins { .iter_ctx_plain() .map(|elem| StorePath::from_absolute_path(elem.as_bytes())) .collect::>() - .map_err(|e| ErrorKind::TvixError(Rc::new(e)))?, + .map_err(|e| ErrorKind::SnixError(Rc::new(e)))?, nar_size, nar_sha256, signatures: vec![], @@ -522,7 +522,7 @@ mod import_builtins { ca: Some(ca_hash), }), ) - .map_err(|e| ErrorKind::TvixError(Rc::new(e))) + .map_err(|e| ErrorKind::SnixError(Rc::new(e))) .map(|path_info| path_info.store_path)?; let abs_path = store_path.to_absolute_path(); diff --git a/tvix/glue/src/builtins/mod.rs b/snix/glue/src/builtins/mod.rs similarity index 96% rename from tvix/glue/src/builtins/mod.rs rename to snix/glue/src/builtins/mod.rs index 3aa64f707..e2335c6e1 100644 --- a/tvix/glue/src/builtins/mod.rs +++ b/snix/glue/src/builtins/mod.rs @@ -2,7 +2,7 @@ use std::rc::Rc; -use crate::tvix_store_io::TvixStoreIO; +use crate::snix_store_io::SnixStoreIO; mod derivation; mod errors; @@ -12,7 +12,7 @@ mod utils; pub use errors::{DerivationError, FetcherError, ImportError}; -/// Adds derivation-related builtins to the passed [tvix_eval::EvaluationBuilder]: +/// Adds derivation-related builtins to the passed [snix_eval::EvaluationBuilder]: /// /// * `derivation` /// * `derivationStrict` @@ -21,39 +21,39 @@ pub use errors::{DerivationError, FetcherError, ImportError}; /// As they need to interact with `known_paths`, we also need to pass in /// `known_paths`. pub fn add_derivation_builtins<'co, 'ro, 'env, IO>( - eval_builder: tvix_eval::EvaluationBuilder<'co, 'ro, 'env, IO>, - io: Rc, -) -> tvix_eval::EvaluationBuilder<'co, 'ro, 'env, IO> { + eval_builder: snix_eval::EvaluationBuilder<'co, 'ro, 'env, IO>, + io: Rc, +) -> snix_eval::EvaluationBuilder<'co, 'ro, 'env, IO> { eval_builder .add_builtins(derivation::derivation_builtins::builtins(Rc::clone(&io))) // Add the actual `builtins.derivation` from compiled Nix code .add_src_builtin("derivation", include_str!("derivation.nix")) } -/// Adds fetcher builtins to the passed [tvix_eval::EvaluationBuilder]: +/// Adds fetcher builtins to the passed [snix_eval::EvaluationBuilder]: /// /// * `fetchurl` /// * `fetchTarball` /// * `fetchGit` pub fn add_fetcher_builtins<'co, 'ro, 'env, IO>( - eval_builder: tvix_eval::EvaluationBuilder<'co, 'ro, 'env, IO>, - io: Rc, -) -> tvix_eval::EvaluationBuilder<'co, 'ro, 'env, IO> { + eval_builder: snix_eval::EvaluationBuilder<'co, 'ro, 'env, IO>, + io: Rc, +) -> snix_eval::EvaluationBuilder<'co, 'ro, 'env, IO> { eval_builder.add_builtins(fetchers::fetcher_builtins::builtins(Rc::clone(&io))) } -/// Adds import-related builtins to the passed [tvix_eval::EvaluationBuilder]: +/// Adds import-related builtins to the passed [snix_eval::EvaluationBuilder]: /// /// /// * `filterSource` /// * `path` /// * `storePath` /// -/// As they need to interact with the store implementation, we pass [`TvixStoreIO`]. +/// As they need to interact with the store implementation, we pass [`SnixStoreIO`]. pub fn add_import_builtins<'co, 'ro, 'env, IO>( - eval_builder: tvix_eval::EvaluationBuilder<'co, 'ro, 'env, IO>, - io: Rc, -) -> tvix_eval::EvaluationBuilder<'co, 'ro, 'env, IO> { + eval_builder: snix_eval::EvaluationBuilder<'co, 'ro, 'env, IO>, + io: Rc, +) -> snix_eval::EvaluationBuilder<'co, 'ro, 'env, IO> { eval_builder.add_builtins(import::import_builtins(io)) } @@ -61,16 +61,16 @@ pub fn add_import_builtins<'co, 'ro, 'env, IO>( mod tests { use std::{fs, rc::Rc, sync::Arc}; - use crate::tvix_store_io::TvixStoreIO; + use crate::snix_store_io::SnixStoreIO; use super::{add_derivation_builtins, add_fetcher_builtins, add_import_builtins}; use clap::Parser; use nix_compat::store_path::hash_placeholder; use rstest::rstest; + use snix_build::buildservice::DummyBuildService; + use snix_eval::{EvalIO, EvaluationResult}; + use snix_store::utils::{construct_services, ServiceUrlsMemory}; use tempfile::TempDir; - use tvix_build::buildservice::DummyBuildService; - use tvix_eval::{EvalIO, EvaluationResult}; - use tvix_store::utils::{construct_services, ServiceUrlsMemory}; /// evaluates a given nix expression and returns the result. /// Takes care of setting up the evaluator so it knows about the @@ -84,7 +84,7 @@ mod tests { }) .expect("Failed to construct store services in memory"); - let io = Rc::new(TvixStoreIO::new( + let io = Rc::new(SnixStoreIO::new( blob_service, directory_service, path_info_service, @@ -93,7 +93,7 @@ mod tests { runtime.handle().clone(), )); - let mut eval_builder = tvix_eval::Evaluation::builder(io.clone() as Rc); + let mut eval_builder = snix_eval::Evaluation::builder(io.clone() as Rc); eval_builder = add_derivation_builtins(eval_builder, Rc::clone(&io)); eval_builder = add_fetcher_builtins(eval_builder, Rc::clone(&io)); eval_builder = add_import_builtins(eval_builder, io); @@ -113,7 +113,7 @@ mod tests { let value = result.value.expect("must be some"); match value { - tvix_eval::Value::String(s) => { + snix_eval::Value::String(s) => { assert_eq!(*s, "/nix/store/xpcvxsx5sw4rbq666blz6sxqlmsqphmr-foo",); } _ => panic!("unexpected value type: {:?}", value), @@ -200,7 +200,7 @@ mod tests { let value = eval(code).value.expect("must succeed"); match value { - tvix_eval::Value::String(s) => { + snix_eval::Value::String(s) => { assert_eq!(*s, expected_path); } _ => panic!("unexpected value type: {:?}", value), @@ -232,7 +232,7 @@ mod tests { let value = eval(code).value.expect("must succeed"); match value { - tvix_eval::Value::Bool(v) => { + snix_eval::Value::Bool(v) => { assert!(v); } _ => panic!("unexpected value type: {:?}", value), @@ -250,7 +250,7 @@ mod tests { let value = eval(code).value.expect("must succeed"); match value { - tvix_eval::Value::Bool(v) => { + snix_eval::Value::Bool(v) => { assert!(v); } _ => panic!("unexpected value type: {:?}", value), @@ -272,7 +272,7 @@ mod tests { let value = eval(code).value.expect("must succeed"); match value { - tvix_eval::Value::Bool(v) => { + snix_eval::Value::Bool(v) => { assert!(v); } _ => panic!("unexpected value type: {:?}", value), @@ -293,7 +293,7 @@ mod tests { let value = eval(code).value.expect("must succeed"); match value { - tvix_eval::Value::Bool(v) => { + snix_eval::Value::Bool(v) => { assert!(v); } _ => panic!("unexpected value type: {:?}", value), @@ -325,7 +325,7 @@ mod tests { let value = eval_result.value.expect("must succeed"); match value { - tvix_eval::Value::String(s) => { + snix_eval::Value::String(s) => { assert_eq!(*s, expected_drvpath); } @@ -358,7 +358,7 @@ mod tests { let value = eval_result.value.expect("must succeed"); match value { - tvix_eval::Value::String(s) => { + snix_eval::Value::String(s) => { assert_eq!(*s, expected_path); } _ => panic!("unexpected value type: {:?}", value), @@ -532,7 +532,7 @@ mod tests { let value = eval_result.value.expect("must succeed"); match value { - tvix_eval::Value::String(s) => { + snix_eval::Value::String(s) => { assert_eq!(expected_outpath, s.as_bstr()); } _ => panic!("unexpected value type: {:?}", value), @@ -573,7 +573,7 @@ mod tests { if success { match value.expect("expected successful evaluation on legal rename") { - tvix_eval::Value::String(s) => { + snix_eval::Value::String(s) => { assert_eq!( "/nix/store/nd5z11x7zjqqz44rkbhc6v7yifdkn659-valid-name", s.as_bstr() @@ -619,7 +619,7 @@ mod tests { if success { match value.expect("expected successful evaluation on legal rename") { - tvix_eval::Value::String(s) => { + snix_eval::Value::String(s) => { assert_eq!( "/nix/store/il2rmfbqgs37rshr8w7x64hd4d3b4bsa-valid-name", s.as_bstr() @@ -710,7 +710,7 @@ mod tests { let value = eval_result.value.expect("must succeed"); match value { - tvix_eval::Value::String(s) => { + snix_eval::Value::String(s) => { assert_eq!(expected_outpath, s.as_bstr()); } _ => panic!("unexpected value type: {:?}", value), diff --git a/tvix/glue/src/builtins/utils.rs b/snix/glue/src/builtins/utils.rs similarity index 98% rename from tvix/glue/src/builtins/utils.rs rename to snix/glue/src/builtins/utils.rs index 586169bee..887b0a9cd 100644 --- a/tvix/glue/src/builtins/utils.rs +++ b/snix/glue/src/builtins/utils.rs @@ -1,5 +1,5 @@ use bstr::ByteSlice; -use tvix_eval::{ +use snix_eval::{ generators::{self, GenCo}, CatchableErrorKind, CoercionKind, ErrorKind, NixAttrs, NixString, Value, }; diff --git a/tvix/glue/src/fetchers/decompression.rs b/snix/glue/src/fetchers/decompression.rs similarity index 100% rename from tvix/glue/src/fetchers/decompression.rs rename to snix/glue/src/fetchers/decompression.rs diff --git a/tvix/glue/src/fetchers/mod.rs b/snix/glue/src/fetchers/mod.rs similarity index 98% rename from tvix/glue/src/fetchers/mod.rs rename to snix/glue/src/fetchers/mod.rs index 7050ad48f..5d1296afc 100644 --- a/tvix/glue/src/fetchers/mod.rs +++ b/snix/glue/src/fetchers/mod.rs @@ -6,15 +6,15 @@ use nix_compat::{ }; use sha1::Sha1; use sha2::{digest::Output, Digest, Sha256, Sha512}; +use snix_castore::{blobservice::BlobService, directoryservice::DirectoryService, Node}; +use snix_store::{ + nar::{NarCalculationService, NarIngestionError}, + pathinfoservice::{PathInfo, PathInfoService}, +}; use tokio::io::{AsyncBufRead, AsyncRead, AsyncWrite, AsyncWriteExt, BufReader}; use tokio_util::io::{InspectReader, InspectWriter}; use tracing::{instrument, warn, Span}; use tracing_indicatif::span_ext::IndicatifSpanExt; -use tvix_castore::{blobservice::BlobService, directoryservice::DirectoryService, Node}; -use tvix_store::{ - nar::{NarCalculationService, NarIngestionError}, - pathinfoservice::{PathInfo, PathInfoService}, -}; use url::Url; use crate::builtins::FetcherError; @@ -224,7 +224,7 @@ impl Fetcher { .await?; span.pb_set_length(f.metadata().await?.len()); - span.pb_set_style(&tvix_tracing::PB_TRANSFER_STYLE); + span.pb_set_style(&snix_tracing::PB_TRANSFER_STYLE); span.pb_start(); Ok(Box::new(tokio::io::BufReader::new(InspectReader::new( f, @@ -238,9 +238,9 @@ impl Fetcher { if let Some(content_length) = resp.content_length() { span.pb_set_length(content_length); - span.pb_set_style(&tvix_tracing::PB_TRANSFER_STYLE); + span.pb_set_style(&snix_tracing::PB_TRANSFER_STYLE); } else { - span.pb_set_style(&tvix_tracing::PB_TRANSFER_STYLE); + span.pb_set_style(&snix_tracing::PB_TRANSFER_STYLE); } span.pb_start(); @@ -355,7 +355,7 @@ where let archive = tokio_tar::Archive::new(r); // Ingest the archive, get the root node. - let node = tvix_castore::import::archive::ingest_archive( + let node = snix_castore::import::archive::ingest_archive( self.blob_service.clone(), self.directory_service.clone(), archive, @@ -403,7 +403,7 @@ where // Ingest the NAR, get the root node. let (root_node, _actual_nar_sha256, actual_nar_size) = - tvix_store::nar::ingest_nar_and_hash( + snix_store::nar::ingest_nar_and_hash( self.blob_service.clone(), self.directory_service.clone(), &mut r, @@ -468,7 +468,7 @@ where .blob_service .open_read(&blob_digest) .await? - .expect("Tvix bug: just-uploaded blob not found"); + .expect("Snix bug: just-uploaded blob not found"); node.file(true, file_size, &mut BufReader::new(blob_reader)) .await?; @@ -544,7 +544,7 @@ where .calculate_nar(&node) .await .map_err(|e| FetcherError::Io(e.into()))?, - CAHash::Text(_) => unreachable!("Tvix bug: fetch returned CAHash::Text"), + CAHash::Text(_) => unreachable!("Snix bug: fetch returned CAHash::Text"), }; // Construct the PathInfo and persist it. diff --git a/tvix/glue/src/fetchurl.nix b/snix/glue/src/fetchurl.nix similarity index 100% rename from tvix/glue/src/fetchurl.nix rename to snix/glue/src/fetchurl.nix diff --git a/tvix/glue/src/fetchurl.rs b/snix/glue/src/fetchurl.rs similarity index 97% rename from tvix/glue/src/fetchurl.rs rename to snix/glue/src/fetchurl.rs index 9f57868b1..b47408324 100644 --- a/tvix/glue/src/fetchurl.rs +++ b/snix/glue/src/fetchurl.rs @@ -57,7 +57,7 @@ pub(crate) fn fetchurl_derivation_to_fetch(drv: &Derivation) -> Result<(String, } } // you can't construct derivations containing this - CAHash::Text(_) => panic!("Tvix bug: got CaHash::Text in drv"), + CAHash::Text(_) => panic!("Snix bug: got CaHash::Text in drv"), } } diff --git a/tvix/glue/src/known_paths.rs b/snix/glue/src/known_paths.rs similarity index 98% rename from tvix/glue/src/known_paths.rs rename to snix/glue/src/known_paths.rs index 7934bfe0b..c7b61b4b1 100644 --- a/tvix/glue/src/known_paths.rs +++ b/snix/glue/src/known_paths.rs @@ -1,7 +1,7 @@ //! This module implements logic required for persisting known paths //! during an evaluation. //! -//! Tvix needs to be able to keep track of each Nix store path that it +//! Snix needs to be able to keep track of each Nix store path that it //! knows about during the scope of a single evaluation and its //! related builds. //! @@ -117,7 +117,7 @@ impl KnownPaths { ) -> Result, BuildStorePathError> { let store_path = fetch .store_path(name)? - .expect("Tvix bug: fetch must have an expected hash"); + .expect("Snix bug: fetch must have an expected hash"); // insert the fetch. self.outputs_to_fetches .insert(store_path.to_owned(), (name.to_owned(), fetch)); diff --git a/tvix/glue/src/lib.rs b/snix/glue/src/lib.rs similarity index 74% rename from tvix/glue/src/lib.rs rename to snix/glue/src/lib.rs index 8f72424d5..4387a5e0d 100644 --- a/tvix/glue/src/lib.rs +++ b/snix/glue/src/lib.rs @@ -1,9 +1,9 @@ pub mod builtins; pub mod fetchers; pub mod known_paths; -pub mod tvix_build; -pub mod tvix_io; -pub mod tvix_store_io; +pub mod snix_build; +pub mod snix_io; +pub mod snix_store_io; mod fetchurl; @@ -14,12 +14,12 @@ const USER_AGENT: &str = concat!(env!("CARGO_PKG_NAME"), "/", env!("CARGO_PKG_VE mod tests; /// Tell the Evaluator to resolve `` to the path `/__corepkgs__`, -/// which has special handling in [tvix_io::TvixIO]. +/// which has special handling in [snix_io::SnixIO]. /// This is used in nixpkgs to import `fetchurl.nix` from ``. pub fn configure_nix_path<'co, 'ro, 'env, IO>( - eval_builder: tvix_eval::EvaluationBuilder<'co, 'ro, 'env, IO>, + eval_builder: snix_eval::EvaluationBuilder<'co, 'ro, 'env, IO>, nix_search_path: &Option, -) -> tvix_eval::EvaluationBuilder<'co, 'ro, 'env, IO> { +) -> snix_eval::EvaluationBuilder<'co, 'ro, 'env, IO> { eval_builder.nix_path( nix_search_path .as_ref() diff --git a/tvix/glue/src/tvix_build.rs b/snix/glue/src/snix_build.rs similarity index 97% rename from tvix/glue/src/tvix_build.rs rename to snix/glue/src/snix_build.rs index fa7322499..3efa0c93f 100644 --- a/tvix/glue/src/tvix_build.rs +++ b/snix/glue/src/snix_build.rs @@ -1,5 +1,5 @@ //! This module contains glue code translating from -//! [nix_compat::derivation::Derivation] to [tvix_build::buildservice::BuildRequest]. +//! [nix_compat::derivation::Derivation] to [snix_build::buildservice::BuildRequest]. use std::collections::{BTreeMap, HashSet}; use std::path::PathBuf; @@ -7,8 +7,8 @@ use std::path::PathBuf; use bytes::Bytes; use nix_compat::{derivation::Derivation, nixbase32, store_path::StorePath}; use sha2::{Digest, Sha256}; -use tvix_build::buildservice::{AdditionalFile, BuildConstraints, BuildRequest, EnvVar}; -use tvix_castore::Node; +use snix_build::buildservice::{AdditionalFile, BuildConstraints, BuildRequest, EnvVar}; +use snix_castore::Node; /// These are the environment variables that Nix sets in its sandbox for every /// build. @@ -96,7 +96,7 @@ pub(crate) fn derivation_to_build_request( && derivation .outputs .get("out") - .expect("Tvix bug: Derivation has no out output") + .expect("Snix bug: Derivation has no out output") .is_fixed() { constraints.insert(BuildConstraints::NetworkAccess); @@ -135,7 +135,7 @@ pub(crate) fn derivation_to_build_request( path.to_string() .as_str() .try_into() - .expect("Tvix bug: unable to convert store path basename to PathComponent"), + .expect("Snix bug: unable to convert store path basename to PathComponent"), node, ) }) @@ -216,14 +216,14 @@ fn calculate_pass_as_file_env(k: &str) -> (String, String) { mod test { use bytes::Bytes; use nix_compat::{derivation::Derivation, store_path::StorePath}; + use snix_castore::fixtures::DUMMY_DIGEST; + use snix_castore::{Node, PathComponent}; use std::collections::{BTreeMap, HashSet}; use std::sync::LazyLock; - use tvix_castore::fixtures::DUMMY_DIGEST; - use tvix_castore::{Node, PathComponent}; - use tvix_build::buildservice::{AdditionalFile, BuildConstraints, BuildRequest, EnvVar}; + use snix_build::buildservice::{AdditionalFile, BuildConstraints, BuildRequest, EnvVar}; - use crate::tvix_build::NIX_ENVIRONMENT_VARS; + use crate::snix_build::NIX_ENVIRONMENT_VARS; use super::derivation_to_build_request; diff --git a/tvix/glue/src/tvix_io.rs b/snix/glue/src/snix_io.rs similarity index 83% rename from tvix/glue/src/tvix_io.rs rename to snix/glue/src/snix_io.rs index 323fa8d20..8663e3ad4 100644 --- a/tvix/glue/src/tvix_io.rs +++ b/snix/glue/src/snix_io.rs @@ -1,28 +1,28 @@ -//! This module implements a wrapper around tvix-eval's [EvalIO] type, -//! adding functionality which is required by tvix-cli: +//! This module implements a wrapper around snix-eval's [EvalIO] type, +//! adding functionality which is required by snix-cli: //! //! 1. Handling the C++ Nix `__corepkgs__`-hack for nixpkgs bootstrapping. //! -//! All uses of [EvalIO] in tvix-cli must make use of this wrapper, +//! All uses of [EvalIO] in snix-cli must make use of this wrapper, //! otherwise nixpkgs bootstrapping will not work. +use snix_eval::{EvalIO, FileType}; use std::io::{self, Cursor}; use std::path::{Path, PathBuf}; -use tvix_eval::{EvalIO, FileType}; -// TODO: Merge this together with TvixStoreIO? -pub struct TvixIO { +// TODO: Merge this together with SnixStoreIO? +pub struct SnixIO { // Actual underlying [EvalIO] implementation. actual: T, } -impl TvixIO { +impl SnixIO { pub fn new(actual: T) -> Self { Self { actual } } } -impl EvalIO for TvixIO +impl EvalIO for SnixIO where T: AsRef, { diff --git a/tvix/glue/src/tvix_store_io.rs b/snix/glue/src/snix_store_io.rs similarity index 95% rename from tvix/glue/src/tvix_store_io.rs rename to snix/glue/src/snix_store_io.rs index 7e160a100..ecc5e2944 100644 --- a/tvix/glue/src/tvix_store_io.rs +++ b/snix/glue/src/snix_store_io.rs @@ -1,6 +1,9 @@ -//! This module provides an implementation of EvalIO talking to tvix-store. +//! This module provides an implementation of EvalIO talking to snix-store. use futures::{StreamExt, TryStreamExt}; use nix_compat::{nixhash::CAHash, store_path::StorePath}; +use snix_build::buildservice::BuildService; +use snix_eval::{EvalIO, FileType, StdIO}; +use snix_store::nar::NarCalculationService; use std::collections::BTreeMap; use std::{ cell::RefCell, @@ -11,20 +14,17 @@ use std::{ use tokio_util::io::SyncIoBridge; use tracing::{error, instrument, warn, Level, Span}; use tracing_indicatif::span_ext::IndicatifSpanExt; -use tvix_build::buildservice::BuildService; -use tvix_eval::{EvalIO, FileType, StdIO}; -use tvix_store::nar::NarCalculationService; -use tvix_castore::{ +use snix_castore::{ blobservice::BlobService, directoryservice::{self, DirectoryService}, Node, }; -use tvix_store::pathinfoservice::{PathInfo, PathInfoService}; +use snix_store::pathinfoservice::{PathInfo, PathInfoService}; use crate::fetchers::Fetcher; use crate::known_paths::KnownPaths; -use crate::tvix_build::derivation_to_build_request; +use crate::snix_build::derivation_to_build_request; /// Implements [EvalIO], asking given [PathInfoService], [DirectoryService] /// and [BlobService]. @@ -39,9 +39,9 @@ use crate::tvix_build::derivation_to_build_request; /// /// In the future, we may revisit that coupling and figure out how to generalize this interface and /// hide this implementation detail of the glue itself so that glue can be used with more than one -/// implementation of "Tvix Store IO" which does not necessarily bring the concept of blob service, +/// implementation of "Snix Store IO" which does not necessarily bring the concept of blob service, /// directory service or path info service. -pub struct TvixStoreIO { +pub struct SnixStoreIO { // This is public so helper functions can interact with the stores directly. pub(crate) blob_service: Arc, pub(crate) directory_service: Arc, @@ -65,7 +65,7 @@ pub struct TvixStoreIO { pub known_paths: RefCell, } -impl TvixStoreIO { +impl SnixStoreIO { pub fn new( blob_service: Arc, directory_service: Arc, @@ -121,9 +121,9 @@ impl TvixStoreIO { // If there's no PathInfo found, this normally means we have to // trigger the build (and insert into PathInfoService, after // reference scanning). - // However, as Tvix is (currently) not managing /nix/store itself, + // However, as Snix is (currently) not managing /nix/store itself, // we return Ok(None) to let std_io take over. - // While reading from store paths that are not known to Tvix during + // While reading from store paths that are not known to Snix during // that evaluation clearly is an impurity, we still need to support // it for things like pointing to a store path. // In the future, these things will (need to) have PathInfo. @@ -174,7 +174,7 @@ impl TvixStoreIO { }; let span = Span::current(); span.pb_start(); - span.pb_set_style(&tvix_tracing::PB_SPINNER_STYLE); + span.pb_set_style(&snix_tracing::PB_SPINNER_STYLE); span.pb_set_message(&format!("⏳Waiting for inputs {}", &store_path)); // derivation_to_build_request needs castore nodes for all inputs. @@ -282,7 +282,7 @@ impl TvixStoreIO { // Used to map back to the actual store path from the found needles // Importantly, this must match the order of the needles generated in derivation_to_build_request let refscan_needles = - crate::tvix_build::get_refscan_needles(&drv).collect::>(); + crate::snix_build::get_refscan_needles(&drv).collect::>(); // For each output, insert a PathInfo. for ((output, output_needles), drv_output) in build_result @@ -324,7 +324,7 @@ impl TvixStoreIO { .as_ref() .ok_or(std::io::Error::new( std::io::ErrorKind::Other, - "Tvix bug: missing output store path", + "Snix bug: missing output store path", ))? .to_owned(), node: output_node, @@ -344,7 +344,7 @@ impl TvixStoreIO { *drv_path.digest(), ) .expect( - "Tvix bug: StorePath without .drv suffix must be valid", + "Snix bug: StorePath without .drv suffix must be valid", ), ), ca: drv.fod_digest().map(|fod_digest| { @@ -377,7 +377,7 @@ impl TvixStoreIO { // now with the root_node and sub_path, descend to the node requested. // We convert sub_path to the castore model here. - let sub_path = tvix_castore::PathBuf::from_host_path(sub_path, true)?; + let sub_path = snix_castore::PathBuf::from_host_path(sub_path, true)?; directoryservice::descend_to(&self.directory_service, root_node, sub_path) .await @@ -385,7 +385,7 @@ impl TvixStoreIO { } } -impl EvalIO for TvixStoreIO { +impl EvalIO for SnixStoreIO { #[instrument(skip(self), ret(level = Level::TRACE), err)] fn path_exists(&self, path: &Path) -> io::Result { if let Ok((store_path, sub_path)) = StorePath::from_absolute_path_full(path) { @@ -396,7 +396,7 @@ impl EvalIO for TvixStoreIO { { Ok(true) } else { - // As tvix-store doesn't manage /nix/store on the filesystem, + // As snix-store doesn't manage /nix/store on the filesystem, // we still need to also ask self.std_io here. self.std_io.path_exists(path) } @@ -450,7 +450,7 @@ impl EvalIO for TvixStoreIO { ))?, } } else { - // As tvix-store doesn't manage /nix/store on the filesystem, + // As snix-store doesn't manage /nix/store on the filesystem, // we still need to also ask self.std_io here. self.std_io.open(path) } @@ -539,9 +539,9 @@ impl EvalIO for TvixStoreIO { #[instrument(skip(self), ret(level = Level::TRACE), err)] fn import_path(&self, path: &Path) -> io::Result { let path_info = self.tokio_handle.block_on({ - tvix_store::import::import_path_as_nar_ca( + snix_store::import::import_path_as_nar_ca( path, - tvix_store::import::path_to_name(path)?, + snix_store::import::path_to_name(path)?, &self.blob_service, &self.directory_service, &self.path_info_service, @@ -565,12 +565,12 @@ mod tests { use bstr::ByteSlice; use clap::Parser; + use snix_build::buildservice::DummyBuildService; + use snix_eval::{EvalIO, EvaluationResult}; + use snix_store::utils::{construct_services, ServiceUrlsMemory}; use tempfile::TempDir; - use tvix_build::buildservice::DummyBuildService; - use tvix_eval::{EvalIO, EvaluationResult}; - use tvix_store::utils::{construct_services, ServiceUrlsMemory}; - use super::TvixStoreIO; + use super::SnixStoreIO; use crate::builtins::{add_derivation_builtins, add_fetcher_builtins, add_import_builtins}; /// evaluates a given nix expression and returns the result. @@ -586,7 +586,7 @@ mod tests { }) .unwrap(); - let io = Rc::new(TvixStoreIO::new( + let io = Rc::new(SnixStoreIO::new( blob_service, directory_service, path_info_service, @@ -596,7 +596,7 @@ mod tests { )); let mut eval_builder = - tvix_eval::Evaluation::builder(io.clone() as Rc).enable_import(); + snix_eval::Evaluation::builder(io.clone() as Rc).enable_import(); eval_builder = add_derivation_builtins(eval_builder, Rc::clone(&io)); eval_builder = add_fetcher_builtins(eval_builder, Rc::clone(&io)); eval_builder = add_import_builtins(eval_builder, io); @@ -606,7 +606,7 @@ mod tests { eval.evaluate(str, None) } - /// Helper function that takes a &Path, and invokes a tvix evaluator coercing that path to a string + /// Helper function that takes a &Path, and invokes a snix evaluator coercing that path to a string /// (via "${/this/path}"). The path can be both absolute or not. /// It returns Option, depending on whether the evaluation succeeded or not. fn import_path_and_compare>(p: P) -> Option { @@ -622,7 +622,7 @@ mod tests { let value = result.value.expect("must be some"); match value { - tvix_eval::Value::String(s) => Some(s.to_str_lossy().into_owned()), + snix_eval::Value::String(s) => Some(s.to_str_lossy().into_owned()), _ => panic!("unexpected value type: {:?}", value), } } @@ -687,7 +687,7 @@ mod tests { let value = result.value.expect("must be some"); match value { - tvix_eval::Value::String(s) => { + snix_eval::Value::String(s) => { assert_eq!(*s, "/deep/thought"); } _ => panic!("unexpected value type: {:?}", value), diff --git a/tvix/glue/src/tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv b/snix/glue/src/tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv similarity index 100% rename from tvix/glue/src/tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv rename to snix/glue/src/tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv diff --git a/tvix/glue/src/tests/blob.tar.bz2 b/snix/glue/src/tests/blob.tar.bz2 similarity index 100% rename from tvix/glue/src/tests/blob.tar.bz2 rename to snix/glue/src/tests/blob.tar.bz2 diff --git a/tvix/glue/src/tests/blob.tar.gz b/snix/glue/src/tests/blob.tar.gz similarity index 100% rename from tvix/glue/src/tests/blob.tar.gz rename to snix/glue/src/tests/blob.tar.gz diff --git a/tvix/glue/src/tests/blob.tar.xz b/snix/glue/src/tests/blob.tar.xz similarity index 100% rename from tvix/glue/src/tests/blob.tar.xz rename to snix/glue/src/tests/blob.tar.xz diff --git a/tvix/glue/src/tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv b/snix/glue/src/tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv similarity index 100% rename from tvix/glue/src/tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv rename to snix/glue/src/tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv diff --git a/tvix/glue/src/tests/dummy/.keep b/snix/glue/src/tests/dummy/.keep similarity index 100% rename from tvix/glue/src/tests/dummy/.keep rename to snix/glue/src/tests/dummy/.keep diff --git a/tvix/glue/src/tests/empty-file b/snix/glue/src/tests/empty-file similarity index 100% rename from tvix/glue/src/tests/empty-file rename to snix/glue/src/tests/empty-file diff --git a/tvix/glue/src/tests/mod.rs b/snix/glue/src/tests/mod.rs similarity index 86% rename from tvix/glue/src/tests/mod.rs rename to snix/glue/src/tests/mod.rs index dbde42064..2fe6fbf42 100644 --- a/tvix/glue/src/tests/mod.rs +++ b/snix/glue/src/tests/mod.rs @@ -2,18 +2,18 @@ use std::{rc::Rc, sync::Arc}; use clap::Parser; use pretty_assertions::assert_eq; +use snix_build::buildservice::DummyBuildService; +use snix_eval::{EvalIO, EvalMode, Value}; +use snix_store::utils::{construct_services, ServiceUrlsMemory}; use std::path::PathBuf; -use tvix_build::buildservice::DummyBuildService; -use tvix_eval::{EvalIO, EvalMode, Value}; -use tvix_store::utils::{construct_services, ServiceUrlsMemory}; use rstest::rstest; use crate::{ builtins::{add_derivation_builtins, add_fetcher_builtins, add_import_builtins}, configure_nix_path, - tvix_io::TvixIO, - tvix_store_io::TvixStoreIO, + snix_io::SnixIO, + snix_store_io::SnixStoreIO, }; fn eval_test(code_path: PathBuf, expect_success: bool) { @@ -41,7 +41,7 @@ fn eval_test(code_path: PathBuf, expect_success: bool) { }) .unwrap(); - let tvix_store_io = Rc::new(TvixStoreIO::new( + let snix_store_io = Rc::new(SnixStoreIO::new( blob_service, directory_service, path_info_service, @@ -49,16 +49,16 @@ fn eval_test(code_path: PathBuf, expect_success: bool) { Arc::new(DummyBuildService::default()), tokio_runtime.handle().clone(), )); - // Wrap with TvixIO, so , + // Wrap with SnixIO, so , )) as Box) .enable_import() .mode(EvalMode::Strict); - eval_builder = add_derivation_builtins(eval_builder, Rc::clone(&tvix_store_io)); - eval_builder = add_fetcher_builtins(eval_builder, Rc::clone(&tvix_store_io)); - eval_builder = add_import_builtins(eval_builder, tvix_store_io); + eval_builder = add_derivation_builtins(eval_builder, Rc::clone(&snix_store_io)); + eval_builder = add_fetcher_builtins(eval_builder, Rc::clone(&snix_store_io)); + eval_builder = add_import_builtins(eval_builder, snix_store_io); eval_builder = configure_nix_path(eval_builder, &None); let eval = eval_builder.build(); @@ -119,7 +119,7 @@ fn eval_test(code_path: PathBuf, expect_success: bool) { // These evaluations are always supposed to succeed, i.e. all snippets // are guaranteed to be valid Nix code. #[rstest] -fn eval_okay(#[files("src/tests/tvix_tests/eval-okay-*.nix")] code_path: PathBuf) { +fn eval_okay(#[files("src/tests/snix_tests/eval-okay-*.nix")] code_path: PathBuf) { eval_test(code_path, true) } @@ -130,7 +130,7 @@ fn nix_eval_okay(#[files("src/tests/nix_tests/eval-okay-*.nix")] code_path: Path eval_test(code_path, true) } -// eval-okay-* tests from the original Nix test suite which do not yet pass for tvix +// eval-okay-* tests from the original Nix test suite which do not yet pass for snix // // Eventually there will be none of these left, and this function // will disappear :) Until then, to run these tests, use `cargo test @@ -155,6 +155,6 @@ fn nix_eval_okay(#[files("src/tests/nix_tests/eval-okay-*.nix")] code_path: Path // expected to fail evaluation. The exact type of failure // (assertion, parse error, etc) is not currently checked. #[rstest] -fn eval_fail(#[files("src/tests/tvix_tests/eval-fail-*.nix")] code_path: PathBuf) { +fn eval_fail(#[files("src/tests/snix_tests/eval-fail-*.nix")] code_path: PathBuf) { eval_test(code_path, false) } diff --git a/tvix/glue/src/tests/nix_tests/eval-okay-context-introspection.exp b/snix/glue/src/tests/nix_tests/eval-okay-context-introspection.exp similarity index 100% rename from tvix/glue/src/tests/nix_tests/eval-okay-context-introspection.exp rename to snix/glue/src/tests/nix_tests/eval-okay-context-introspection.exp diff --git a/tvix/glue/src/tests/nix_tests/eval-okay-context-introspection.nix b/snix/glue/src/tests/nix_tests/eval-okay-context-introspection.nix similarity index 100% rename from tvix/glue/src/tests/nix_tests/eval-okay-context-introspection.nix rename to snix/glue/src/tests/nix_tests/eval-okay-context-introspection.nix diff --git a/tvix/glue/src/tests/nix_tests/eval-okay-context.exp b/snix/glue/src/tests/nix_tests/eval-okay-context.exp similarity index 100% rename from tvix/glue/src/tests/nix_tests/eval-okay-context.exp rename to snix/glue/src/tests/nix_tests/eval-okay-context.exp diff --git a/tvix/glue/src/tests/nix_tests/eval-okay-context.nix b/snix/glue/src/tests/nix_tests/eval-okay-context.nix similarity index 100% rename from tvix/glue/src/tests/nix_tests/eval-okay-context.nix rename to snix/glue/src/tests/nix_tests/eval-okay-context.nix diff --git a/tvix/glue/src/tests/tvix_tests/eval-fail-fetchtarball-invalid-attrs.nix b/snix/glue/src/tests/snix_tests/eval-fail-fetchtarball-invalid-attrs.nix similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-fail-fetchtarball-invalid-attrs.nix rename to snix/glue/src/tests/snix_tests/eval-fail-fetchtarball-invalid-attrs.nix diff --git a/tvix/glue/src/tests/tvix_tests/eval-fail-fetchtarball-invalid-url.nix b/snix/glue/src/tests/snix_tests/eval-fail-fetchtarball-invalid-url.nix similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-fail-fetchtarball-invalid-url.nix rename to snix/glue/src/tests/snix_tests/eval-fail-fetchtarball-invalid-url.nix diff --git a/tvix/glue/src/tests/tvix_tests/eval-fail-fetchurl-invalid-attrs.nix b/snix/glue/src/tests/snix_tests/eval-fail-fetchurl-invalid-attrs.nix similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-fail-fetchurl-invalid-attrs.nix rename to snix/glue/src/tests/snix_tests/eval-fail-fetchurl-invalid-attrs.nix diff --git a/tvix/glue/src/tests/tvix_tests/eval-fail-fetchurl-invalid-url.nix b/snix/glue/src/tests/snix_tests/eval-fail-fetchurl-invalid-url.nix similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-fail-fetchurl-invalid-url.nix rename to snix/glue/src/tests/snix_tests/eval-fail-fetchurl-invalid-url.nix diff --git a/tvix/glue/src/tests/tvix_tests/eval-fail-tofile-wrongctxtype.nix b/snix/glue/src/tests/snix_tests/eval-fail-tofile-wrongctxtype.nix similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-fail-tofile-wrongctxtype.nix rename to snix/glue/src/tests/snix_tests/eval-fail-tofile-wrongctxtype.nix diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-context-introspection.exp b/snix/glue/src/tests/snix_tests/eval-okay-context-introspection.exp similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-context-introspection.exp rename to snix/glue/src/tests/snix_tests/eval-okay-context-introspection.exp diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-context-introspection.nix b/snix/glue/src/tests/snix_tests/eval-okay-context-introspection.nix similarity index 98% rename from tvix/glue/src/tests/tvix_tests/eval-okay-context-introspection.nix rename to snix/glue/src/tests/snix_tests/eval-okay-context-introspection.nix index 3fe8b4cbb..bf27fb8e0 100644 --- a/tvix/glue/src/tests/tvix_tests/eval-okay-context-introspection.nix +++ b/snix/glue/src/tests/snix_tests/eval-okay-context-introspection.nix @@ -69,7 +69,7 @@ in (!builtins.hasAttr "allOutputs" (builtins.getContext drv.outPath)."${builtins.unsafeDiscardStringContext drv.drvPath}") (builtins.hasAttr "allOutputs" legit-context."${builtins.unsafeDiscardStringContext drv.drvPath}") (builtins.hasAttr "allOutputs" (builtins.getContext drv.drvPath)."${builtins.unsafeDiscardStringContext drv.drvPath}") - (legit-context == desired-context) # FIXME(raitobezarius): this should not use `builtins.seq`, this is a consequence of excessive laziness of Tvix, I believe. + (legit-context == desired-context) # FIXME(raitobezarius): this should not use `builtins.seq`, this is a consequence of excessive laziness of Snix, I believe. (reconstructed-path == combo-path) # These still fail with an internal error # (etaRule' "foo") diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-context-propagation.exp b/snix/glue/src/tests/snix_tests/eval-okay-context-propagation.exp similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-context-propagation.exp rename to snix/glue/src/tests/snix_tests/eval-okay-context-propagation.exp diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-context-propagation.nix b/snix/glue/src/tests/snix_tests/eval-okay-context-propagation.nix similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-context-propagation.nix rename to snix/glue/src/tests/snix_tests/eval-okay-context-propagation.nix diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-fetchtarball.exp b/snix/glue/src/tests/snix_tests/eval-okay-fetchtarball.exp similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-fetchtarball.exp rename to snix/glue/src/tests/snix_tests/eval-okay-fetchtarball.exp diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-fetchtarball.nix b/snix/glue/src/tests/snix_tests/eval-okay-fetchtarball.nix similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-fetchtarball.nix rename to snix/glue/src/tests/snix_tests/eval-okay-fetchtarball.nix diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-fetchurl.exp b/snix/glue/src/tests/snix_tests/eval-okay-fetchurl.exp similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-fetchurl.exp rename to snix/glue/src/tests/snix_tests/eval-okay-fetchurl.exp diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-fetchurl.nix b/snix/glue/src/tests/snix_tests/eval-okay-fetchurl.nix similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-fetchurl.nix rename to snix/glue/src/tests/snix_tests/eval-okay-fetchurl.nix diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-storePath.exp b/snix/glue/src/tests/snix_tests/eval-okay-storePath.exp similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-storePath.exp rename to snix/glue/src/tests/snix_tests/eval-okay-storePath.exp diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-storePath.nix b/snix/glue/src/tests/snix_tests/eval-okay-storePath.nix similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-storePath.nix rename to snix/glue/src/tests/snix_tests/eval-okay-storePath.nix diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-storePath2.exp b/snix/glue/src/tests/snix_tests/eval-okay-storePath2.exp similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-storePath2.exp rename to snix/glue/src/tests/snix_tests/eval-okay-storePath2.exp diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-storePath2.nix b/snix/glue/src/tests/snix_tests/eval-okay-storePath2.nix similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-storePath2.nix rename to snix/glue/src/tests/snix_tests/eval-okay-storePath2.nix diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-tofile.exp b/snix/glue/src/tests/snix_tests/eval-okay-tofile.exp similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-tofile.exp rename to snix/glue/src/tests/snix_tests/eval-okay-tofile.exp diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-tofile.nix b/snix/glue/src/tests/snix_tests/eval-okay-tofile.nix similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-tofile.nix rename to snix/glue/src/tests/snix_tests/eval-okay-tofile.nix diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-toxml-context.exp b/snix/glue/src/tests/snix_tests/eval-okay-toxml-context.exp similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-toxml-context.exp rename to snix/glue/src/tests/snix_tests/eval-okay-toxml-context.exp diff --git a/tvix/glue/src/tests/tvix_tests/eval-okay-toxml-context.nix b/snix/glue/src/tests/snix_tests/eval-okay-toxml-context.nix similarity index 100% rename from tvix/glue/src/tests/tvix_tests/eval-okay-toxml-context.nix rename to snix/glue/src/tests/snix_tests/eval-okay-toxml-context.nix diff --git a/tvix/glue/src/tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv b/snix/glue/src/tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv similarity index 100% rename from tvix/glue/src/tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv rename to snix/glue/src/tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv diff --git a/tvix/logo.webp b/snix/logo.webp similarity index 100% rename from tvix/logo.webp rename to snix/logo.webp diff --git a/tvix/nar-bridge/Cargo.toml b/snix/nar-bridge/Cargo.toml similarity index 84% rename from tvix/nar-bridge/Cargo.toml rename to snix/nar-bridge/Cargo.toml index e9da092c7..862dc5d63 100644 --- a/tvix/nar-bridge/Cargo.toml +++ b/snix/nar-bridge/Cargo.toml @@ -23,9 +23,9 @@ tokio-listener = { workspace = true, features = ["axum07", "clap", "multi-listen tokio-util = { workspace = true, features = ["io", "io-util", "compat"] } tonic = { workspace = true, features = ["tls", "tls-roots"] } tower-otel-http-metrics = { workspace = true, features = ["axum"], optional = true } -tvix-castore = { path = "../castore" } -tvix-store = { path = "../store" } -tvix-tracing = { path = "../tracing", features = ["tonic", "axum"] } +snix-castore = { path = "../castore" } +snix-store = { path = "../store" } +snix-tracing = { path = "../tracing", features = ["tonic", "axum"] } tracing.workspace = true tracing-subscriber.workspace = true tracing-test.workspace = true @@ -41,8 +41,8 @@ tonic-build.workspace = true [features] default = ["otlp"] -otlp = ["tvix-tracing/otlp", "tower-otel-http-metrics"] -xp-store-composition-cli = ["tvix-store/xp-composition-cli"] +otlp = ["snix-tracing/otlp", "tower-otel-http-metrics"] +xp-store-composition-cli = ["snix-store/xp-composition-cli"] [dev-dependencies] axum-test = "16.4.0" diff --git a/tvix/nar-bridge/default.nix b/snix/nar-bridge/default.nix similarity index 66% rename from tvix/nar-bridge/default.nix rename to snix/nar-bridge/default.nix index 2f1384e82..0106fb590 100644 --- a/tvix/nar-bridge/default.nix +++ b/snix/nar-bridge/default.nix @@ -1,10 +1,10 @@ { depot, lib, ... }: -(depot.tvix.crates.workspaceMembers.nar-bridge.build.override { +(depot.snix.crates.workspaceMembers.nar-bridge.build.override { runTests = true; }).overrideAttrs (old: rec { meta.ci.targets = lib.filter (x: lib.hasPrefix "with-features" x || x == "no-features") (lib.attrNames passthru); - passthru = old.passthru // (depot.tvix.utils.mkFeaturePowerset { + passthru = old.passthru // (depot.snix.utils.mkFeaturePowerset { inherit (old) crateName; features = [ "otlp" ]; }); diff --git a/tvix/nar-bridge/src/bin/nar-bridge.rs b/snix/nar-bridge/src/bin/nar-bridge.rs similarity index 90% rename from tvix/nar-bridge/src/bin/nar-bridge.rs rename to snix/nar-bridge/src/bin/nar-bridge.rs index 129e9925c..40a3ccacb 100644 --- a/tvix/nar-bridge/src/bin/nar-bridge.rs +++ b/snix/nar-bridge/src/bin/nar-bridge.rs @@ -1,16 +1,16 @@ use clap::Parser; use mimalloc::MiMalloc; use nar_bridge::AppState; +use snix_store::utils::ServiceUrlsGrpc; use std::num::NonZeroUsize; use tower::ServiceBuilder; use tower_http::trace::{DefaultMakeSpan, TraceLayer}; use tracing::info; -use tvix_store::utils::ServiceUrlsGrpc; #[global_allocator] static GLOBAL: MiMalloc = MiMalloc; -/// Expose the Nix HTTP Binary Cache protocol for a tvix-store. +/// Expose the Nix HTTP Binary Cache protocol for a snix-store. #[derive(Parser)] #[command(author, version, about, long_about = None)] struct Cli { @@ -43,7 +43,7 @@ async fn main() -> Result<(), Box> { let _tracing_handle = { #[allow(unused_mut)] - let mut builder = tvix_tracing::TracingBuilder::default(); + let mut builder = snix_tracing::TracingBuilder::default(); #[cfg(feature = "otlp")] { if cli.otlp { @@ -55,7 +55,7 @@ async fn main() -> Result<(), Box> { // initialize stores let (blob_service, directory_service, path_info_service, _nar_calculation_service) = - tvix_store::utils::construct_services(cli.service_addrs).await?; + snix_store::utils::construct_services(cli.service_addrs).await?; let state = AppState::new( blob_service, @@ -74,7 +74,7 @@ async fn main() -> Result<(), Box> { .include_headers(true), ), ) - .map_request(tvix_tracing::propagate::axum::accept_trace), + .map_request(snix_tracing::propagate::axum::accept_trace), ) .with_state(state); diff --git a/tvix/nar-bridge/src/lib.rs b/snix/nar-bridge/src/lib.rs similarity index 89% rename from tvix/nar-bridge/src/lib.rs rename to snix/nar-bridge/src/lib.rs index 68f587d58..3121dc5a6 100644 --- a/tvix/nar-bridge/src/lib.rs +++ b/snix/nar-bridge/src/lib.rs @@ -5,12 +5,12 @@ use axum::{routing::get, Router}; use lru::LruCache; use nix_compat::nix_http; use parking_lot::RwLock; +use snix_castore::blobservice::BlobService; +use snix_castore::directoryservice::DirectoryService; +use snix_castore::Node; +use snix_store::pathinfoservice::PathInfoService; use std::num::NonZeroUsize; use std::sync::Arc; -use tvix_castore::blobservice::BlobService; -use tvix_castore::directoryservice::DirectoryService; -use tvix_castore::Node; -use tvix_store::pathinfoservice::PathInfoService; mod nar; mod narinfo; @@ -57,8 +57,8 @@ pub fn gen_router(priority: u64) -> Router { .route("/nar/:nar_str", get(four_o_four)) .route("/nar/:nar_str", head(nar::head_root_nodes)) .route("/nar/:nar_str", put(nar::put)) - .route("/nar/tvix-castore/:root_node_enc", get(nar::get_head)) - .route("/nar/tvix-castore/:root_node_enc", head(nar::get_head)) + .route("/nar/snix-castore/:root_node_enc", get(nar::get_head)) + .route("/nar/snix-castore/:root_node_enc", head(nar::get_head)) .route("/:narinfo_str", get(narinfo::get)) .route("/:narinfo_str", head(narinfo::head)) .route("/:narinfo_str", put(narinfo::put)) diff --git a/tvix/nar-bridge/src/nar.rs b/snix/nar-bridge/src/nar.rs similarity index 95% rename from tvix/nar-bridge/src/nar.rs rename to snix/nar-bridge/src/nar.rs index 15aea3fa4..41e6e8694 100644 --- a/tvix/nar-bridge/src/nar.rs +++ b/snix/nar-bridge/src/nar.rs @@ -8,10 +8,10 @@ use data_encoding::BASE64URL_NOPAD; use futures::TryStreamExt; use nix_compat::{nix_http, nixbase32}; use serde::Deserialize; +use snix_store::nar::ingest_nar_and_hash; use std::io; use tokio_util::io::ReaderStream; use tracing::{instrument, warn, Span}; -use tvix_store::nar::ingest_nar_and_hash; use crate::AppState; @@ -56,7 +56,7 @@ pub async fn get_head( } // parse the proto - let root_node: tvix_castore::proto::Node = Message::decode(Bytes::from(root_node_proto)) + let root_node: snix_castore::proto::Node = Message::decode(Bytes::from(root_node_proto)) .map_err(|e| { warn!(err=%e, "unable to decode root node proto"); StatusCode::NOT_FOUND @@ -83,7 +83,7 @@ pub async fn get_head( } else if let Some(TypedHeader(ranges)) = ranges { // If this is a range request, construct a seekable NAR reader. let r = - tvix_store::nar::seekable::Reader::new(root_node, blob_service, directory_service) + snix_store::nar::seekable::Reader::new(root_node, blob_service, directory_service) .await .map_err(|e| { warn!(err=%e, "failed to construct seekable nar reader"); @@ -108,7 +108,7 @@ pub async fn get_head( // spawn a task rendering the NAR to the client. tokio::spawn(async move { if let Err(e) = - tvix_store::nar::write_nar(w, &root_node, blob_service, directory_service).await + snix_store::nar::write_nar(w, &root_node, blob_service, directory_service).await { warn!(err=%e, "failed to write out NAR"); } @@ -225,26 +225,26 @@ mod tests { use data_encoding::BASE64URL_NOPAD; use nix_compat::nixbase32; use sha2::Digest; - use tracing_test::traced_test; - use tvix_castore::{ + use snix_castore::{ blobservice::{BlobService, MemoryBlobService}, directoryservice::{DirectoryService, MemoryDirectoryService}, fixtures::HELLOWORLD_BLOB_DIGEST, }; - use tvix_store::{ + use snix_store::{ fixtures::{ CASTORE_NODE_COMPLICATED, CASTORE_NODE_SYMLINK, NAR_CONTENTS_COMPLICATED, NAR_CONTENTS_HELLOWORLD, NAR_CONTENTS_SYMLINK, }, pathinfoservice::{MemoryPathInfoService, PathInfoService}, }; + use tracing_test::traced_test; use crate::AppState; pub static NAR_STR_SYMLINK: LazyLock = LazyLock::new(|| { use prost::Message; BASE64URL_NOPAD.encode( - &tvix_castore::proto::Node::from_name_and_node("".into(), CASTORE_NODE_SYMLINK.clone()) + &snix_castore::proto::Node::from_name_and_node("".into(), CASTORE_NODE_SYMLINK.clone()) .encode_to_vec(), ) }); @@ -282,18 +282,18 @@ mod tests { async fn test_get_head() { let (server, _blob_service, _directory_service, _path_info_service) = gen_server(Router::new().route( - "/nar/tvix-castore/:root_node_enc", + "/nar/snix-castore/:root_node_enc", axum::routing::get(super::get_head), )); // Empty nar_str should be NotFound server - .method(Method::HEAD, "/nar/tvix-castore/") + .method(Method::HEAD, "/nar/snix-castore/") .expect_failure() .await .assert_status_not_found(); - let valid_url = &format!("/nar/tvix-castore/{}", &*NAR_STR_SYMLINK); + let valid_url = &format!("/nar/snix-castore/{}", &*NAR_STR_SYMLINK); let qps = &[("narsize", &NAR_CONTENTS_SYMLINK.len().to_string())]; // Missing narsize should be BadRequest @@ -305,9 +305,9 @@ mod tests { let invalid_url = { use prost::Message; - let n = tvix_castore::proto::Node { - node: Some(tvix_castore::proto::node::Node::Directory( - tvix_castore::proto::DirectoryNode { + let n = snix_castore::proto::Node { + node: Some(snix_castore::proto::node::Node::Directory( + snix_castore::proto::DirectoryNode { name: "".into(), digest: "invalid b64".into(), size: 1, @@ -315,7 +315,7 @@ mod tests { )), }; &format!( - "/nar/tvix-castore/{}", + "/nar/snix-castore/{}", BASE64URL_NOPAD.encode(&n.encode_to_vec()) ) }; @@ -433,7 +433,7 @@ mod tests { .await; let mut buf = Vec::new(); - tvix_store::nar::write_nar( + snix_store::nar::write_nar( &mut buf, &CASTORE_NODE_COMPLICATED, blob_service, diff --git a/tvix/nar-bridge/src/narinfo.rs b/snix/nar-bridge/src/narinfo.rs similarity index 97% rename from tvix/nar-bridge/src/narinfo.rs rename to snix/nar-bridge/src/narinfo.rs index 25022b89d..64e7f4814 100644 --- a/tvix/nar-bridge/src/narinfo.rs +++ b/snix/nar-bridge/src/narinfo.rs @@ -5,8 +5,8 @@ use nix_compat::{ nix_http, nixbase32, store_path::StorePath, }; +use snix_store::pathinfoservice::PathInfo; use tracing::{instrument, warn, Span}; -use tvix_store::pathinfoservice::PathInfo; use crate::AppState; @@ -101,7 +101,7 @@ pub async fn put( // Lookup root node with peek, as we don't want to update the LRU list. // We need to be careful to not hold the RwLock across the await point. - let maybe_root_node: Option = + let maybe_root_node: Option = root_nodes.read().peek(&narinfo.nar_hash).cloned(); match maybe_root_node { @@ -145,9 +145,9 @@ fn gen_narinfo_str(path_info: &PathInfo) -> String { let mut narinfo = path_info.to_narinfo(); let url = format!( - "nar/tvix-castore/{}?narsize={}", + "nar/snix-castore/{}?narsize={}", data_encoding::BASE64URL_NOPAD.encode( - &tvix_castore::proto::Node::from_name_and_node("".into(), path_info.node.to_owned()) + &snix_castore::proto::Node::from_name_and_node("".into(), path_info.node.to_owned()) .encode_to_vec() ), path_info.nar_size, @@ -166,16 +166,16 @@ mod tests { use axum::http::Method; use nix_compat::nixbase32; - use tracing_test::traced_test; - use tvix_castore::{ + use snix_castore::{ blobservice::{BlobService, MemoryBlobService}, directoryservice::{DirectoryService, MemoryDirectoryService}, }; - use tvix_store::{ + use snix_store::{ fixtures::{DUMMY_PATH_DIGEST, NAR_CONTENTS_SYMLINK, PATH_INFO, PATH_INFO_SYMLINK}, path_info::PathInfo, pathinfoservice::{MemoryPathInfoService, PathInfoService}, }; + use tracing_test::traced_test; use crate::AppState; diff --git a/tvix/nix-compat-derive-tests/Cargo.toml b/snix/nix-compat-derive-tests/Cargo.toml similarity index 100% rename from tvix/nix-compat-derive-tests/Cargo.toml rename to snix/nix-compat-derive-tests/Cargo.toml diff --git a/snix/nix-compat-derive-tests/default.nix b/snix/nix-compat-derive-tests/default.nix new file mode 100644 index 000000000..33d185e73 --- /dev/null +++ b/snix/nix-compat-derive-tests/default.nix @@ -0,0 +1,5 @@ +{ depot, ... }: + +depot.snix.crates.workspaceMembers.nix-compat-derive-tests.build.override { + runTests = true; +} diff --git a/tvix/nix-compat-derive-tests/tests/read_derive.rs b/snix/nix-compat-derive-tests/tests/read_derive.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/read_derive.rs rename to snix/nix-compat-derive-tests/tests/read_derive.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui.rs b/snix/nix-compat-derive-tests/tests/ui.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui.rs rename to snix/nix-compat-derive-tests/tests/ui.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_bad_type.rs b/snix/nix-compat-derive-tests/tests/ui/deserialize_bad_type.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_bad_type.rs rename to snix/nix-compat-derive-tests/tests/ui/deserialize_bad_type.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_bad_type.stderr b/snix/nix-compat-derive-tests/tests/ui/deserialize_bad_type.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_bad_type.stderr rename to snix/nix-compat-derive-tests/tests/ui/deserialize_bad_type.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_enum_non_exaustive.rs b/snix/nix-compat-derive-tests/tests/ui/deserialize_enum_non_exaustive.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_enum_non_exaustive.rs rename to snix/nix-compat-derive-tests/tests/ui/deserialize_enum_non_exaustive.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_enum_non_exaustive.stderr b/snix/nix-compat-derive-tests/tests/ui/deserialize_enum_non_exaustive.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_enum_non_exaustive.stderr rename to snix/nix-compat-derive-tests/tests/ui/deserialize_enum_non_exaustive.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_from_missing.rs b/snix/nix-compat-derive-tests/tests/ui/deserialize_from_missing.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_from_missing.rs rename to snix/nix-compat-derive-tests/tests/ui/deserialize_from_missing.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_from_missing.stderr b/snix/nix-compat-derive-tests/tests/ui/deserialize_from_missing.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_from_missing.stderr rename to snix/nix-compat-derive-tests/tests/ui/deserialize_from_missing.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_from_str_error_not_display.rs b/snix/nix-compat-derive-tests/tests/ui/deserialize_from_str_error_not_display.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_from_str_error_not_display.rs rename to snix/nix-compat-derive-tests/tests/ui/deserialize_from_str_error_not_display.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_from_str_error_not_display.stderr b/snix/nix-compat-derive-tests/tests/ui/deserialize_from_str_error_not_display.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_from_str_error_not_display.stderr rename to snix/nix-compat-derive-tests/tests/ui/deserialize_from_str_error_not_display.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_from_str_missing.rs b/snix/nix-compat-derive-tests/tests/ui/deserialize_from_str_missing.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_from_str_missing.rs rename to snix/nix-compat-derive-tests/tests/ui/deserialize_from_str_missing.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_from_str_missing.stderr b/snix/nix-compat-derive-tests/tests/ui/deserialize_from_str_missing.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_from_str_missing.stderr rename to snix/nix-compat-derive-tests/tests/ui/deserialize_from_str_missing.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_missing_default.rs b/snix/nix-compat-derive-tests/tests/ui/deserialize_missing_default.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_missing_default.rs rename to snix/nix-compat-derive-tests/tests/ui/deserialize_missing_default.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_missing_default.stderr b/snix/nix-compat-derive-tests/tests/ui/deserialize_missing_default.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_missing_default.stderr rename to snix/nix-compat-derive-tests/tests/ui/deserialize_missing_default.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_missing_default_path.rs b/snix/nix-compat-derive-tests/tests/ui/deserialize_missing_default_path.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_missing_default_path.rs rename to snix/nix-compat-derive-tests/tests/ui/deserialize_missing_default_path.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_missing_default_path.stderr b/snix/nix-compat-derive-tests/tests/ui/deserialize_missing_default_path.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_missing_default_path.stderr rename to snix/nix-compat-derive-tests/tests/ui/deserialize_missing_default_path.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_remote_missing_attr.rs b/snix/nix-compat-derive-tests/tests/ui/deserialize_remote_missing_attr.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_remote_missing_attr.rs rename to snix/nix-compat-derive-tests/tests/ui/deserialize_remote_missing_attr.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_remote_missing_attr.stderr b/snix/nix-compat-derive-tests/tests/ui/deserialize_remote_missing_attr.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_remote_missing_attr.stderr rename to snix/nix-compat-derive-tests/tests/ui/deserialize_remote_missing_attr.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_try_from_error_not_display.rs b/snix/nix-compat-derive-tests/tests/ui/deserialize_try_from_error_not_display.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_try_from_error_not_display.rs rename to snix/nix-compat-derive-tests/tests/ui/deserialize_try_from_error_not_display.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_try_from_error_not_display.stderr b/snix/nix-compat-derive-tests/tests/ui/deserialize_try_from_error_not_display.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_try_from_error_not_display.stderr rename to snix/nix-compat-derive-tests/tests/ui/deserialize_try_from_error_not_display.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_try_from_missing.rs b/snix/nix-compat-derive-tests/tests/ui/deserialize_try_from_missing.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_try_from_missing.rs rename to snix/nix-compat-derive-tests/tests/ui/deserialize_try_from_missing.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/deserialize_try_from_missing.stderr b/snix/nix-compat-derive-tests/tests/ui/deserialize_try_from_missing.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/deserialize_try_from_missing.stderr rename to snix/nix-compat-derive-tests/tests/ui/deserialize_try_from_missing.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/parse_bad_default.rs b/snix/nix-compat-derive-tests/tests/ui/parse_bad_default.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/parse_bad_default.rs rename to snix/nix-compat-derive-tests/tests/ui/parse_bad_default.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/parse_bad_default.stderr b/snix/nix-compat-derive-tests/tests/ui/parse_bad_default.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/parse_bad_default.stderr rename to snix/nix-compat-derive-tests/tests/ui/parse_bad_default.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/parse_bad_default_path.rs b/snix/nix-compat-derive-tests/tests/ui/parse_bad_default_path.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/parse_bad_default_path.rs rename to snix/nix-compat-derive-tests/tests/ui/parse_bad_default_path.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/parse_bad_default_path.stderr b/snix/nix-compat-derive-tests/tests/ui/parse_bad_default_path.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/parse_bad_default_path.stderr rename to snix/nix-compat-derive-tests/tests/ui/parse_bad_default_path.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/parse_bad_nix.rs b/snix/nix-compat-derive-tests/tests/ui/parse_bad_nix.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/parse_bad_nix.rs rename to snix/nix-compat-derive-tests/tests/ui/parse_bad_nix.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/parse_bad_nix.stderr b/snix/nix-compat-derive-tests/tests/ui/parse_bad_nix.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/parse_bad_nix.stderr rename to snix/nix-compat-derive-tests/tests/ui/parse_bad_nix.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/parse_bad_version.rs b/snix/nix-compat-derive-tests/tests/ui/parse_bad_version.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/parse_bad_version.rs rename to snix/nix-compat-derive-tests/tests/ui/parse_bad_version.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/parse_bad_version.stderr b/snix/nix-compat-derive-tests/tests/ui/parse_bad_version.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/parse_bad_version.stderr rename to snix/nix-compat-derive-tests/tests/ui/parse_bad_version.stderr diff --git a/tvix/nix-compat-derive-tests/tests/ui/parse_mising_version.rs b/snix/nix-compat-derive-tests/tests/ui/parse_mising_version.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/parse_mising_version.rs rename to snix/nix-compat-derive-tests/tests/ui/parse_mising_version.rs diff --git a/tvix/nix-compat-derive-tests/tests/ui/parse_mising_version.stderr b/snix/nix-compat-derive-tests/tests/ui/parse_mising_version.stderr similarity index 100% rename from tvix/nix-compat-derive-tests/tests/ui/parse_mising_version.stderr rename to snix/nix-compat-derive-tests/tests/ui/parse_mising_version.stderr diff --git a/tvix/nix-compat-derive-tests/tests/write_derive.rs b/snix/nix-compat-derive-tests/tests/write_derive.rs similarity index 100% rename from tvix/nix-compat-derive-tests/tests/write_derive.rs rename to snix/nix-compat-derive-tests/tests/write_derive.rs diff --git a/tvix/nix-compat-derive/Cargo.toml b/snix/nix-compat-derive/Cargo.toml similarity index 100% rename from tvix/nix-compat-derive/Cargo.toml rename to snix/nix-compat-derive/Cargo.toml diff --git a/snix/nix-compat-derive/default.nix b/snix/nix-compat-derive/default.nix new file mode 100644 index 000000000..357f42faa --- /dev/null +++ b/snix/nix-compat-derive/default.nix @@ -0,0 +1,5 @@ +{ depot, ... }: + +depot.snix.crates.workspaceMembers.nix-compat-derive.build.override { + runTests = true; +} diff --git a/tvix/nix-compat-derive/src/de.rs b/snix/nix-compat-derive/src/de.rs similarity index 100% rename from tvix/nix-compat-derive/src/de.rs rename to snix/nix-compat-derive/src/de.rs diff --git a/tvix/nix-compat-derive/src/internal/attrs.rs b/snix/nix-compat-derive/src/internal/attrs.rs similarity index 100% rename from tvix/nix-compat-derive/src/internal/attrs.rs rename to snix/nix-compat-derive/src/internal/attrs.rs diff --git a/tvix/nix-compat-derive/src/internal/ctx.rs b/snix/nix-compat-derive/src/internal/ctx.rs similarity index 100% rename from tvix/nix-compat-derive/src/internal/ctx.rs rename to snix/nix-compat-derive/src/internal/ctx.rs diff --git a/tvix/nix-compat-derive/src/internal/inputs.rs b/snix/nix-compat-derive/src/internal/inputs.rs similarity index 100% rename from tvix/nix-compat-derive/src/internal/inputs.rs rename to snix/nix-compat-derive/src/internal/inputs.rs diff --git a/tvix/nix-compat-derive/src/internal/mod.rs b/snix/nix-compat-derive/src/internal/mod.rs similarity index 100% rename from tvix/nix-compat-derive/src/internal/mod.rs rename to snix/nix-compat-derive/src/internal/mod.rs diff --git a/tvix/nix-compat-derive/src/internal/symbol.rs b/snix/nix-compat-derive/src/internal/symbol.rs similarity index 100% rename from tvix/nix-compat-derive/src/internal/symbol.rs rename to snix/nix-compat-derive/src/internal/symbol.rs diff --git a/tvix/nix-compat-derive/src/lib.rs b/snix/nix-compat-derive/src/lib.rs similarity index 100% rename from tvix/nix-compat-derive/src/lib.rs rename to snix/nix-compat-derive/src/lib.rs diff --git a/tvix/nix-compat-derive/src/ser.rs b/snix/nix-compat-derive/src/ser.rs similarity index 100% rename from tvix/nix-compat-derive/src/ser.rs rename to snix/nix-compat-derive/src/ser.rs diff --git a/tvix/nix-compat/Cargo.toml b/snix/nix-compat/Cargo.toml similarity index 100% rename from tvix/nix-compat/Cargo.toml rename to snix/nix-compat/Cargo.toml diff --git a/tvix/nix-compat/benches/derivation_parse_aterm.rs b/snix/nix-compat/benches/derivation_parse_aterm.rs similarity index 100% rename from tvix/nix-compat/benches/derivation_parse_aterm.rs rename to snix/nix-compat/benches/derivation_parse_aterm.rs diff --git a/tvix/nix-compat/benches/narinfo_parse.rs b/snix/nix-compat/benches/narinfo_parse.rs similarity index 100% rename from tvix/nix-compat/benches/narinfo_parse.rs rename to snix/nix-compat/benches/narinfo_parse.rs diff --git a/tvix/nix-compat/build.rs b/snix/nix-compat/build.rs similarity index 100% rename from tvix/nix-compat/build.rs rename to snix/nix-compat/build.rs diff --git a/tvix/nix-compat/default.nix b/snix/nix-compat/default.nix similarity index 67% rename from tvix/nix-compat/default.nix rename to snix/nix-compat/default.nix index 34938e3d6..cf8bff96a 100644 --- a/tvix/nix-compat/default.nix +++ b/snix/nix-compat/default.nix @@ -1,10 +1,10 @@ { depot, lib, ... }: -(depot.tvix.crates.workspaceMembers.nix-compat.build.override { +(depot.snix.crates.workspaceMembers.nix-compat.build.override { runTests = true; }).overrideAttrs (old: rec { meta.ci.targets = lib.filter (x: lib.hasPrefix "with-features" x || x == "no-features") (lib.attrNames passthru); - passthru = old.passthru // (depot.tvix.utils.mkFeaturePowerset { + passthru = old.passthru // (depot.snix.utils.mkFeaturePowerset { inherit (old) crateName; features = [ "async" "wire" ]; }); diff --git a/tvix/nix-compat/src/aterm/escape.rs b/snix/nix-compat/src/aterm/escape.rs similarity index 100% rename from tvix/nix-compat/src/aterm/escape.rs rename to snix/nix-compat/src/aterm/escape.rs diff --git a/tvix/nix-compat/src/aterm/mod.rs b/snix/nix-compat/src/aterm/mod.rs similarity index 100% rename from tvix/nix-compat/src/aterm/mod.rs rename to snix/nix-compat/src/aterm/mod.rs diff --git a/tvix/nix-compat/src/aterm/parser.rs b/snix/nix-compat/src/aterm/parser.rs similarity index 100% rename from tvix/nix-compat/src/aterm/parser.rs rename to snix/nix-compat/src/aterm/parser.rs diff --git a/tvix/nix-compat/src/bin/drvfmt.rs b/snix/nix-compat/src/bin/drvfmt.rs similarity index 100% rename from tvix/nix-compat/src/bin/drvfmt.rs rename to snix/nix-compat/src/bin/drvfmt.rs diff --git a/tvix/nix-compat/src/derivation/errors.rs b/snix/nix-compat/src/derivation/errors.rs similarity index 100% rename from tvix/nix-compat/src/derivation/errors.rs rename to snix/nix-compat/src/derivation/errors.rs diff --git a/tvix/nix-compat/src/derivation/mod.rs b/snix/nix-compat/src/derivation/mod.rs similarity index 100% rename from tvix/nix-compat/src/derivation/mod.rs rename to snix/nix-compat/src/derivation/mod.rs diff --git a/tvix/nix-compat/src/derivation/output.rs b/snix/nix-compat/src/derivation/output.rs similarity index 100% rename from tvix/nix-compat/src/derivation/output.rs rename to snix/nix-compat/src/derivation/output.rs diff --git a/tvix/nix-compat/src/derivation/parse_error.rs b/snix/nix-compat/src/derivation/parse_error.rs similarity index 100% rename from tvix/nix-compat/src/derivation/parse_error.rs rename to snix/nix-compat/src/derivation/parse_error.rs diff --git a/tvix/nix-compat/src/derivation/parser.rs b/snix/nix-compat/src/derivation/parser.rs similarity index 100% rename from tvix/nix-compat/src/derivation/parser.rs rename to snix/nix-compat/src/derivation/parser.rs diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/duplicate.drv b/snix/nix-compat/src/derivation/tests/derivation_tests/duplicate.drv similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/duplicate.drv rename to snix/nix-compat/src/derivation/tests/derivation_tests/duplicate.drv diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv.json b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv.json similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv.json rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv.json diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv.json b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv.json similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv.json rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv.json diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv.json b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv.json similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv.json rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv.json diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv.json b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv.json similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv.json rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv.json diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv.json b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv.json similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv.json rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv.json diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv.json b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv.json similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv.json rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv.json diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv.json b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv.json similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv.json rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv.json diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/m1vfixn8iprlf0v9abmlrz7mjw1xj8kp-cp1252.drv b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/m1vfixn8iprlf0v9abmlrz7mjw1xj8kp-cp1252.drv similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/m1vfixn8iprlf0v9abmlrz7mjw1xj8kp-cp1252.drv rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/m1vfixn8iprlf0v9abmlrz7mjw1xj8kp-cp1252.drv diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/m1vfixn8iprlf0v9abmlrz7mjw1xj8kp-cp1252.drv.json b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/m1vfixn8iprlf0v9abmlrz7mjw1xj8kp-cp1252.drv.json similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/m1vfixn8iprlf0v9abmlrz7mjw1xj8kp-cp1252.drv.json rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/m1vfixn8iprlf0v9abmlrz7mjw1xj8kp-cp1252.drv.json diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv.json b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv.json similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv.json rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv.json diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/x6p0hg79i3wg0kkv7699935f7rrj9jf3-latin1.drv b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/x6p0hg79i3wg0kkv7699935f7rrj9jf3-latin1.drv similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/x6p0hg79i3wg0kkv7699935f7rrj9jf3-latin1.drv rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/x6p0hg79i3wg0kkv7699935f7rrj9jf3-latin1.drv diff --git a/tvix/nix-compat/src/derivation/tests/derivation_tests/ok/x6p0hg79i3wg0kkv7699935f7rrj9jf3-latin1.drv.json b/snix/nix-compat/src/derivation/tests/derivation_tests/ok/x6p0hg79i3wg0kkv7699935f7rrj9jf3-latin1.drv.json similarity index 100% rename from tvix/nix-compat/src/derivation/tests/derivation_tests/ok/x6p0hg79i3wg0kkv7699935f7rrj9jf3-latin1.drv.json rename to snix/nix-compat/src/derivation/tests/derivation_tests/ok/x6p0hg79i3wg0kkv7699935f7rrj9jf3-latin1.drv.json diff --git a/tvix/nix-compat/src/derivation/tests/mod.rs b/snix/nix-compat/src/derivation/tests/mod.rs similarity index 100% rename from tvix/nix-compat/src/derivation/tests/mod.rs rename to snix/nix-compat/src/derivation/tests/mod.rs diff --git a/tvix/nix-compat/src/derivation/validate.rs b/snix/nix-compat/src/derivation/validate.rs similarity index 100% rename from tvix/nix-compat/src/derivation/validate.rs rename to snix/nix-compat/src/derivation/validate.rs diff --git a/tvix/nix-compat/src/derivation/write.rs b/snix/nix-compat/src/derivation/write.rs similarity index 100% rename from tvix/nix-compat/src/derivation/write.rs rename to snix/nix-compat/src/derivation/write.rs diff --git a/tvix/nix-compat/src/lib.rs b/snix/nix-compat/src/lib.rs similarity index 100% rename from tvix/nix-compat/src/lib.rs rename to snix/nix-compat/src/lib.rs diff --git a/tvix/nix-compat/src/log/mod.rs b/snix/nix-compat/src/log/mod.rs similarity index 100% rename from tvix/nix-compat/src/log/mod.rs rename to snix/nix-compat/src/log/mod.rs diff --git a/tvix/nix-compat/src/nar/listing/mod.rs b/snix/nix-compat/src/nar/listing/mod.rs similarity index 100% rename from tvix/nix-compat/src/nar/listing/mod.rs rename to snix/nix-compat/src/nar/listing/mod.rs diff --git a/tvix/nix-compat/src/nar/listing/test.rs b/snix/nix-compat/src/nar/listing/test.rs similarity index 100% rename from tvix/nix-compat/src/nar/listing/test.rs rename to snix/nix-compat/src/nar/listing/test.rs diff --git a/tvix/nix-compat/src/nar/mod.rs b/snix/nix-compat/src/nar/mod.rs similarity index 100% rename from tvix/nix-compat/src/nar/mod.rs rename to snix/nix-compat/src/nar/mod.rs diff --git a/tvix/nix-compat/src/nar/reader/async/mod.rs b/snix/nix-compat/src/nar/reader/async/mod.rs similarity index 100% rename from tvix/nix-compat/src/nar/reader/async/mod.rs rename to snix/nix-compat/src/nar/reader/async/mod.rs diff --git a/tvix/nix-compat/src/nar/reader/async/read.rs b/snix/nix-compat/src/nar/reader/async/read.rs similarity index 100% rename from tvix/nix-compat/src/nar/reader/async/read.rs rename to snix/nix-compat/src/nar/reader/async/read.rs diff --git a/tvix/nix-compat/src/nar/reader/async/test.rs b/snix/nix-compat/src/nar/reader/async/test.rs similarity index 100% rename from tvix/nix-compat/src/nar/reader/async/test.rs rename to snix/nix-compat/src/nar/reader/async/test.rs diff --git a/tvix/nix-compat/src/nar/reader/mod.rs b/snix/nix-compat/src/nar/reader/mod.rs similarity index 100% rename from tvix/nix-compat/src/nar/reader/mod.rs rename to snix/nix-compat/src/nar/reader/mod.rs diff --git a/tvix/nix-compat/src/nar/reader/read.rs b/snix/nix-compat/src/nar/reader/read.rs similarity index 100% rename from tvix/nix-compat/src/nar/reader/read.rs rename to snix/nix-compat/src/nar/reader/read.rs diff --git a/tvix/nix-compat/src/nar/reader/test.rs b/snix/nix-compat/src/nar/reader/test.rs similarity index 100% rename from tvix/nix-compat/src/nar/reader/test.rs rename to snix/nix-compat/src/nar/reader/test.rs diff --git a/tvix/nix-compat/src/nar/tests/complicated.nar b/snix/nix-compat/src/nar/tests/complicated.nar similarity index 100% rename from tvix/nix-compat/src/nar/tests/complicated.nar rename to snix/nix-compat/src/nar/tests/complicated.nar diff --git a/tvix/nix-compat/src/nar/tests/helloworld.nar b/snix/nix-compat/src/nar/tests/helloworld.nar similarity index 100% rename from tvix/nix-compat/src/nar/tests/helloworld.nar rename to snix/nix-compat/src/nar/tests/helloworld.nar diff --git a/tvix/nix-compat/src/nar/tests/nixos-release.ls b/snix/nix-compat/src/nar/tests/nixos-release.ls similarity index 100% rename from tvix/nix-compat/src/nar/tests/nixos-release.ls rename to snix/nix-compat/src/nar/tests/nixos-release.ls diff --git a/tvix/nix-compat/src/nar/tests/symlink.nar b/snix/nix-compat/src/nar/tests/symlink.nar similarity index 100% rename from tvix/nix-compat/src/nar/tests/symlink.nar rename to snix/nix-compat/src/nar/tests/symlink.nar diff --git a/tvix/nix-compat/src/nar/wire/mod.rs b/snix/nix-compat/src/nar/wire/mod.rs similarity index 100% rename from tvix/nix-compat/src/nar/wire/mod.rs rename to snix/nix-compat/src/nar/wire/mod.rs diff --git a/tvix/nix-compat/src/nar/wire/tag.rs b/snix/nix-compat/src/nar/wire/tag.rs similarity index 100% rename from tvix/nix-compat/src/nar/wire/tag.rs rename to snix/nix-compat/src/nar/wire/tag.rs diff --git a/tvix/nix-compat/src/nar/writer/async.rs b/snix/nix-compat/src/nar/writer/async.rs similarity index 100% rename from tvix/nix-compat/src/nar/writer/async.rs rename to snix/nix-compat/src/nar/writer/async.rs diff --git a/tvix/nix-compat/src/nar/writer/mod.rs b/snix/nix-compat/src/nar/writer/mod.rs similarity index 100% rename from tvix/nix-compat/src/nar/writer/mod.rs rename to snix/nix-compat/src/nar/writer/mod.rs diff --git a/tvix/nix-compat/src/nar/writer/sync.rs b/snix/nix-compat/src/nar/writer/sync.rs similarity index 100% rename from tvix/nix-compat/src/nar/writer/sync.rs rename to snix/nix-compat/src/nar/writer/sync.rs diff --git a/tvix/nix-compat/src/nar/writer/test.rs b/snix/nix-compat/src/nar/writer/test.rs similarity index 100% rename from tvix/nix-compat/src/nar/writer/test.rs rename to snix/nix-compat/src/nar/writer/test.rs diff --git a/tvix/nix-compat/src/narinfo/fingerprint.rs b/snix/nix-compat/src/narinfo/fingerprint.rs similarity index 100% rename from tvix/nix-compat/src/narinfo/fingerprint.rs rename to snix/nix-compat/src/narinfo/fingerprint.rs diff --git a/tvix/nix-compat/src/narinfo/mod.rs b/snix/nix-compat/src/narinfo/mod.rs similarity index 100% rename from tvix/nix-compat/src/narinfo/mod.rs rename to snix/nix-compat/src/narinfo/mod.rs diff --git a/tvix/nix-compat/src/narinfo/signature.rs b/snix/nix-compat/src/narinfo/signature.rs similarity index 100% rename from tvix/nix-compat/src/narinfo/signature.rs rename to snix/nix-compat/src/narinfo/signature.rs diff --git a/tvix/nix-compat/src/narinfo/signing_keys.rs b/snix/nix-compat/src/narinfo/signing_keys.rs similarity index 100% rename from tvix/nix-compat/src/narinfo/signing_keys.rs rename to snix/nix-compat/src/narinfo/signing_keys.rs diff --git a/tvix/nix-compat/src/narinfo/verifying_keys.rs b/snix/nix-compat/src/narinfo/verifying_keys.rs similarity index 100% rename from tvix/nix-compat/src/narinfo/verifying_keys.rs rename to snix/nix-compat/src/narinfo/verifying_keys.rs diff --git a/tvix/nix-compat/src/nix_daemon/framing/framed_read.rs b/snix/nix-compat/src/nix_daemon/framing/framed_read.rs similarity index 100% rename from tvix/nix-compat/src/nix_daemon/framing/framed_read.rs rename to snix/nix-compat/src/nix_daemon/framing/framed_read.rs diff --git a/tvix/nix-compat/src/nix_daemon/framing/mod.rs b/snix/nix-compat/src/nix_daemon/framing/mod.rs similarity index 100% rename from tvix/nix-compat/src/nix_daemon/framing/mod.rs rename to snix/nix-compat/src/nix_daemon/framing/mod.rs diff --git a/tvix/nix-compat/src/nix_daemon/framing/stderr_read.rs b/snix/nix-compat/src/nix_daemon/framing/stderr_read.rs similarity index 100% rename from tvix/nix-compat/src/nix_daemon/framing/stderr_read.rs rename to snix/nix-compat/src/nix_daemon/framing/stderr_read.rs diff --git a/tvix/nix-compat/src/nix_daemon/handler.rs b/snix/nix-compat/src/nix_daemon/handler.rs similarity index 100% rename from tvix/nix-compat/src/nix_daemon/handler.rs rename to snix/nix-compat/src/nix_daemon/handler.rs diff --git a/tvix/nix-compat/src/nix_daemon/mod.rs b/snix/nix-compat/src/nix_daemon/mod.rs similarity index 99% rename from tvix/nix-compat/src/nix_daemon/mod.rs rename to snix/nix-compat/src/nix_daemon/mod.rs index 4e41700a8..751375db9 100644 --- a/tvix/nix-compat/src/nix_daemon/mod.rs +++ b/snix/nix-compat/src/nix_daemon/mod.rs @@ -42,7 +42,7 @@ pub trait NixDaemonIO: Sync { ) -> impl std::future::Future>> + Send { async move { if request.substitute { - warn!("tvix does not yet support substitution, ignoring the 'substitute' flag..."); + warn!("snix does not yet support substitution, ignoring the 'substitute' flag..."); } // Using try_join_all here to avoid returning partial results to the client. // The only reason query_path_info can fail is due to transient IO errors, diff --git a/tvix/nix-compat/src/nix_daemon/types.rs b/snix/nix-compat/src/nix_daemon/types.rs similarity index 100% rename from tvix/nix-compat/src/nix_daemon/types.rs rename to snix/nix-compat/src/nix_daemon/types.rs diff --git a/tvix/nix-compat/src/nix_daemon/worker_protocol.rs b/snix/nix-compat/src/nix_daemon/worker_protocol.rs similarity index 100% rename from tvix/nix-compat/src/nix_daemon/worker_protocol.rs rename to snix/nix-compat/src/nix_daemon/worker_protocol.rs diff --git a/tvix/nix-compat/src/nix_http/mod.rs b/snix/nix-compat/src/nix_http/mod.rs similarity index 100% rename from tvix/nix-compat/src/nix_http/mod.rs rename to snix/nix-compat/src/nix_http/mod.rs diff --git a/tvix/nix-compat/src/nixbase32.rs b/snix/nix-compat/src/nixbase32.rs similarity index 100% rename from tvix/nix-compat/src/nixbase32.rs rename to snix/nix-compat/src/nixbase32.rs diff --git a/tvix/nix-compat/src/nixcpp/conf.rs b/snix/nix-compat/src/nixcpp/conf.rs similarity index 100% rename from tvix/nix-compat/src/nixcpp/conf.rs rename to snix/nix-compat/src/nixcpp/conf.rs diff --git a/tvix/nix-compat/src/nixcpp/mod.rs b/snix/nix-compat/src/nixcpp/mod.rs similarity index 100% rename from tvix/nix-compat/src/nixcpp/mod.rs rename to snix/nix-compat/src/nixcpp/mod.rs diff --git a/tvix/nix-compat/src/nixhash/algos.rs b/snix/nix-compat/src/nixhash/algos.rs similarity index 100% rename from tvix/nix-compat/src/nixhash/algos.rs rename to snix/nix-compat/src/nixhash/algos.rs diff --git a/tvix/nix-compat/src/nixhash/ca_hash.rs b/snix/nix-compat/src/nixhash/ca_hash.rs similarity index 100% rename from tvix/nix-compat/src/nixhash/ca_hash.rs rename to snix/nix-compat/src/nixhash/ca_hash.rs diff --git a/tvix/nix-compat/src/nixhash/mod.rs b/snix/nix-compat/src/nixhash/mod.rs similarity index 99% rename from tvix/nix-compat/src/nixhash/mod.rs rename to snix/nix-compat/src/nixhash/mod.rs index e5c9d110e..fdf830619 100644 --- a/tvix/nix-compat/src/nixhash/mod.rs +++ b/snix/nix-compat/src/nixhash/mod.rs @@ -307,7 +307,7 @@ pub fn from_sri_str(s: &str) -> NixHashResult { spec.check_trailing_bits = false; let encoding = spec .encoding() - .expect("Tvix bug: failed to get the special base64 encoder for Nix SRI hashes"); + .expect("Snix bug: failed to get the special base64 encoder for Nix SRI hashes"); let digest = encoding .decode(digest_str.trim_end_with(|c| c == '=')) diff --git a/tvix/nix-compat/src/path_info.rs b/snix/nix-compat/src/path_info.rs similarity index 100% rename from tvix/nix-compat/src/path_info.rs rename to snix/nix-compat/src/path_info.rs diff --git a/tvix/nix-compat/src/store_path/mod.rs b/snix/nix-compat/src/store_path/mod.rs similarity index 100% rename from tvix/nix-compat/src/store_path/mod.rs rename to snix/nix-compat/src/store_path/mod.rs diff --git a/tvix/nix-compat/src/store_path/utils.rs b/snix/nix-compat/src/store_path/utils.rs similarity index 100% rename from tvix/nix-compat/src/store_path/utils.rs rename to snix/nix-compat/src/store_path/utils.rs diff --git a/tvix/nix-compat/src/wire/bytes/mod.rs b/snix/nix-compat/src/wire/bytes/mod.rs similarity index 100% rename from tvix/nix-compat/src/wire/bytes/mod.rs rename to snix/nix-compat/src/wire/bytes/mod.rs diff --git a/tvix/nix-compat/src/wire/bytes/reader/mod.rs b/snix/nix-compat/src/wire/bytes/reader/mod.rs similarity index 100% rename from tvix/nix-compat/src/wire/bytes/reader/mod.rs rename to snix/nix-compat/src/wire/bytes/reader/mod.rs diff --git a/tvix/nix-compat/src/wire/bytes/reader/trailer.rs b/snix/nix-compat/src/wire/bytes/reader/trailer.rs similarity index 100% rename from tvix/nix-compat/src/wire/bytes/reader/trailer.rs rename to snix/nix-compat/src/wire/bytes/reader/trailer.rs diff --git a/tvix/nix-compat/src/wire/bytes/writer.rs b/snix/nix-compat/src/wire/bytes/writer.rs similarity index 100% rename from tvix/nix-compat/src/wire/bytes/writer.rs rename to snix/nix-compat/src/wire/bytes/writer.rs diff --git a/tvix/nix-compat/src/wire/de/bytes.rs b/snix/nix-compat/src/wire/de/bytes.rs similarity index 100% rename from tvix/nix-compat/src/wire/de/bytes.rs rename to snix/nix-compat/src/wire/de/bytes.rs diff --git a/tvix/nix-compat/src/wire/de/collections.rs b/snix/nix-compat/src/wire/de/collections.rs similarity index 100% rename from tvix/nix-compat/src/wire/de/collections.rs rename to snix/nix-compat/src/wire/de/collections.rs diff --git a/tvix/nix-compat/src/wire/de/int.rs b/snix/nix-compat/src/wire/de/int.rs similarity index 100% rename from tvix/nix-compat/src/wire/de/int.rs rename to snix/nix-compat/src/wire/de/int.rs diff --git a/tvix/nix-compat/src/wire/de/mock.rs b/snix/nix-compat/src/wire/de/mock.rs similarity index 100% rename from tvix/nix-compat/src/wire/de/mock.rs rename to snix/nix-compat/src/wire/de/mock.rs diff --git a/tvix/nix-compat/src/wire/de/mod.rs b/snix/nix-compat/src/wire/de/mod.rs similarity index 100% rename from tvix/nix-compat/src/wire/de/mod.rs rename to snix/nix-compat/src/wire/de/mod.rs diff --git a/tvix/nix-compat/src/wire/de/reader.rs b/snix/nix-compat/src/wire/de/reader.rs similarity index 100% rename from tvix/nix-compat/src/wire/de/reader.rs rename to snix/nix-compat/src/wire/de/reader.rs diff --git a/tvix/nix-compat/src/wire/mod.rs b/snix/nix-compat/src/wire/mod.rs similarity index 100% rename from tvix/nix-compat/src/wire/mod.rs rename to snix/nix-compat/src/wire/mod.rs diff --git a/tvix/nix-compat/src/wire/protocol_version.rs b/snix/nix-compat/src/wire/protocol_version.rs similarity index 100% rename from tvix/nix-compat/src/wire/protocol_version.rs rename to snix/nix-compat/src/wire/protocol_version.rs diff --git a/tvix/nix-compat/src/wire/ser/bytes.rs b/snix/nix-compat/src/wire/ser/bytes.rs similarity index 100% rename from tvix/nix-compat/src/wire/ser/bytes.rs rename to snix/nix-compat/src/wire/ser/bytes.rs diff --git a/tvix/nix-compat/src/wire/ser/collections.rs b/snix/nix-compat/src/wire/ser/collections.rs similarity index 100% rename from tvix/nix-compat/src/wire/ser/collections.rs rename to snix/nix-compat/src/wire/ser/collections.rs diff --git a/tvix/nix-compat/src/wire/ser/display.rs b/snix/nix-compat/src/wire/ser/display.rs similarity index 100% rename from tvix/nix-compat/src/wire/ser/display.rs rename to snix/nix-compat/src/wire/ser/display.rs diff --git a/tvix/nix-compat/src/wire/ser/int.rs b/snix/nix-compat/src/wire/ser/int.rs similarity index 100% rename from tvix/nix-compat/src/wire/ser/int.rs rename to snix/nix-compat/src/wire/ser/int.rs diff --git a/tvix/nix-compat/src/wire/ser/mock.rs b/snix/nix-compat/src/wire/ser/mock.rs similarity index 100% rename from tvix/nix-compat/src/wire/ser/mock.rs rename to snix/nix-compat/src/wire/ser/mock.rs diff --git a/tvix/nix-compat/src/wire/ser/mod.rs b/snix/nix-compat/src/wire/ser/mod.rs similarity index 100% rename from tvix/nix-compat/src/wire/ser/mod.rs rename to snix/nix-compat/src/wire/ser/mod.rs diff --git a/tvix/nix-compat/src/wire/ser/writer.rs b/snix/nix-compat/src/wire/ser/writer.rs similarity index 100% rename from tvix/nix-compat/src/wire/ser/writer.rs rename to snix/nix-compat/src/wire/ser/writer.rs diff --git a/tvix/nix-compat/testdata/narinfo.zst b/snix/nix-compat/testdata/narinfo.zst similarity index 100% rename from tvix/nix-compat/testdata/narinfo.zst rename to snix/nix-compat/testdata/narinfo.zst diff --git a/tvix/nix-compat/testdata/nix.conf b/snix/nix-compat/testdata/nix.conf similarity index 100% rename from tvix/nix-compat/testdata/nix.conf rename to snix/nix-compat/testdata/nix.conf diff --git a/tvix/nix-compat/testdata/other_nix.conf b/snix/nix-compat/testdata/other_nix.conf similarity index 100% rename from tvix/nix-compat/testdata/other_nix.conf rename to snix/nix-compat/testdata/other_nix.conf diff --git a/tvix/nix-daemon/Cargo.toml b/snix/nix-daemon/Cargo.toml similarity index 76% rename from tvix/nix-daemon/Cargo.toml rename to snix/nix-daemon/Cargo.toml index 1b88064ab..66bb079c5 100644 --- a/tvix/nix-daemon/Cargo.toml +++ b/snix/nix-daemon/Cargo.toml @@ -9,9 +9,9 @@ clap = { workspace = true, features = ["derive", "env"] } futures.workspace = true mimalloc.workspace = true nix-compat = { path = "../nix-compat" } -tvix-castore = { path = "../castore" } -tvix-store = { path = "../store" } -tvix-tracing = { path = "../tracing" } +snix-castore = { path = "../castore" } +snix-store = { path = "../store" } +snix-tracing = { path = "../tracing" } tokio = { workspace = true, features = ["fs", "macros", "net", "rt", "rt-multi-thread", "signal"] } tokio-listener.workspace = true tracing.workspace = true @@ -21,4 +21,4 @@ workspace = true [features] default = ["otlp"] -otlp = ["tvix-tracing/otlp"] +otlp = ["snix-tracing/otlp"] diff --git a/snix/nix-daemon/default.nix b/snix/nix-daemon/default.nix new file mode 100644 index 000000000..86f3ffc9f --- /dev/null +++ b/snix/nix-daemon/default.nix @@ -0,0 +1,5 @@ +{ depot, ... }: + +depot.snix.crates.workspaceMembers.nix-daemon.build.override { + runTests = true; +} diff --git a/tvix/nix-daemon/src/bin/nix-daemon.rs b/snix/nix-daemon/src/bin/nix-daemon.rs similarity index 90% rename from tvix/nix-daemon/src/bin/nix-daemon.rs rename to snix/nix-daemon/src/bin/nix-daemon.rs index a4d808ff0..8705f3505 100644 --- a/tvix/nix-daemon/src/bin/nix-daemon.rs +++ b/snix/nix-daemon/src/bin/nix-daemon.rs @@ -1,16 +1,16 @@ use clap::Parser; use mimalloc::MiMalloc; use nix_compat::nix_daemon::handler::NixDaemon; -use nix_daemon::TvixDaemon; +use nix_daemon::SnixDaemon; +use snix_store::utils::{construct_services, ServiceUrlsGrpc}; use std::{error::Error, sync::Arc}; use tokio_listener::SystemOptions; use tracing::error; -use tvix_store::utils::{construct_services, ServiceUrlsGrpc}; #[global_allocator] static GLOBAL: MiMalloc = MiMalloc; -/// Run Nix-compatible store daemon backed by tvix. +/// Run Nix-compatible store daemon backed by snix. #[derive(Parser)] struct Cli { #[clap(flatten)] @@ -31,12 +31,12 @@ async fn main() -> Result<(), Box> { let cli = Cli::parse(); let tracing_handle = { - let mut builder = tvix_tracing::TracingBuilder::default(); + let mut builder = snix_tracing::TracingBuilder::default(); builder = builder.enable_progressbar(); #[cfg(feature = "otlp")] { if cli.otlp { - builder = builder.enable_otlp("tvix.daemon"); + builder = builder.enable_otlp("snix.daemon"); } } builder.build()? @@ -64,7 +64,7 @@ async fn run(cli: Cli) -> Result<(), Box> { construct_services(cli.service_addrs).await?; let listen_address = cli.listen_args.listen_address.unwrap_or_else(|| { - "/tmp/tvix-daemon.sock" + "/tmp/snix-daemon.sock" .parse() .expect("invalid fallback listen address") }); @@ -76,7 +76,7 @@ async fn run(cli: Cli) -> Result<(), Box> { ) .await?; - let io = Arc::new(TvixDaemon::new( + let io = Arc::new(SnixDaemon::new( blob_service, directory_service, path_info_service, diff --git a/tvix/nix-daemon/src/lib.rs b/snix/nix-daemon/src/lib.rs similarity index 92% rename from tvix/nix-daemon/src/lib.rs rename to snix/nix-daemon/src/lib.rs index 59d29848d..0e5d72e0f 100644 --- a/tvix/nix-daemon/src/lib.rs +++ b/snix/nix-daemon/src/lib.rs @@ -11,18 +11,18 @@ use nix_compat::{ nixbase32, store_path::{build_ca_path, StorePath}, }; +use snix_castore::{blobservice::BlobService, directoryservice::DirectoryService}; +use snix_store::{nar::ingest_nar_and_hash, path_info::PathInfo, pathinfoservice::PathInfoService}; use tracing::{instrument, warn}; -use tvix_castore::{blobservice::BlobService, directoryservice::DirectoryService}; -use tvix_store::{nar::ingest_nar_and_hash, path_info::PathInfo, pathinfoservice::PathInfoService}; #[allow(dead_code)] -pub struct TvixDaemon { +pub struct SnixDaemon { blob_service: Arc, directory_service: Arc, path_info_service: Arc, } -impl TvixDaemon { +impl SnixDaemon { pub fn new( blob_service: Arc, directory_service: Arc, @@ -36,8 +36,8 @@ impl TvixDaemon { } } -/// Implements [NixDaemonIO] backed by tvix services. -impl NixDaemonIO for TvixDaemon { +/// Implements [NixDaemonIO] backed by snix services. +impl NixDaemonIO for SnixDaemon { #[instrument(skip_all, fields(path), level = "debug", ret(Debug))] async fn query_path_info( &self, @@ -118,7 +118,7 @@ impl NixDaemonIO for TvixDaemon { } } -// PathInfo lives in the tvix-store crate, but does not depend on nix-compat's wire feature, +// PathInfo lives in the snix-store crate, but does not depend on nix-compat's wire feature, // while UnkeyedValidPathInfo is only available if that feature is enabled. To avoid complexity // we manually convert as opposed to creating a From. fn into_unkeyed_path_info(info: PathInfo) -> UnkeyedValidPathInfo { diff --git a/tvix/nix-lang-test-suite/README.md b/snix/nix-lang-test-suite/README.md similarity index 90% rename from tvix/nix-lang-test-suite/README.md rename to snix/nix-lang-test-suite/README.md index 68f87f20f..5cb461779 100644 --- a/tvix/nix-lang-test-suite/README.md +++ b/snix/nix-lang-test-suite/README.md @@ -5,19 +5,19 @@ ### Requirements - It should work with potentially any Nix implementation and with all serious - currently available ones (C++ Nix, hnix, Tvix, …). How much of it the + currently available ones (C++ Nix, hnix, Snix, …). How much of it the implementations pass, is of course an orthogonal question. - It should be easy to add test cases, independent of any specific implementation. - It should be simple to ignore test cases and mark know failures - (similar to the notyetpassing mechanism in the Tvix test suite). + (similar to the notyetpassing mechanism in the Snix test suite). ### Test Case Types This is a summary of relevant kinds of test cases that can be found in the wild, usually testing some kind of concrete implementation, but also doubling up as a potential test case for _any_ Nix implementation. For the most part, this is the -`lang` test suite of C++ Nix which is also used by Tvix and hnix. +`lang` test suite of C++ Nix which is also used by Snix and hnix. - **parse** test cases: Parsing the given expression should either *succeed* or *fail*. @@ -45,13 +45,13 @@ potential test case for _any_ Nix implementation. For the most part, this is the which would test e.g. `builtins.trace` messages or deprecation warnings (C++ Nix). - This extra check is currently not supported by the Tvix test suite. + This extra check is currently not supported by the Snix test suite. - **eval-fail** tests require that the given expression fails to evaluate. C++ Nix has recently started to also check the error messages via the stderr - mechanism described above. This is not supported by Tvix at the moment. + mechanism described above. This is not supported by Snix at the moment. - _lazy_ eval test cases: This is currently only supported by the `nix_oracle` - test suite in Tvix which compares the evaluation result of expressions to the + test suite in Snix which compares the evaluation result of expressions to the output of `nix-instantiate(1)` without `--strict`. By relying on the fact that the resulting value is not forced deeply before printing, it can be observed whether certain expressions are thunked or not. @@ -59,11 +59,11 @@ potential test case for _any_ Nix implementation. For the most part, this is the This is somewhat fragile as permissible optimizations may prevent a thunk from being created. However, this should not be an issue if the cases are chosen carefully. Empirically, this test suite was useful for catching some instances - of overzealous evaluation early in development of Tvix. + of overzealous evaluation early in development of Snix. - **identity** test cases require that the given expression evaluates to a value whose printed representation is the same (string equal to) the original - expression. Such test cases only exist in the Tvix test suite. + expression. Such test cases only exist in the Snix test suite. Of course only a limited number of expression satisfy this, but it is useful for testing `nix-instantiate(1)` style value printing. Consequently, @@ -80,12 +80,12 @@ potential test case for _any_ Nix implementation. For the most part, this is the `builtins.toFile` or `builtins.derivation`. Additionally, it should be considered that Import-from-Derivation may be - interesting to test in the future. Currently, the Tvix and C++ Nix test + interesting to test in the future. Currently, the Snix and C++ Nix test suites all pass with Import-from-Derivation disabled, i.e. a dummy store implementation is enough. Note that the absence of a store dependency ideally also influences the test - execution: In Tvix, for example, store independent tests can be executed + execution: In Snix, for example, store independent tests can be executed with a store backend that immediately errors out, verifying that the test is, in fact, store independent. - **Environment**: The C++ Nix test suite sets a single environment variable, @@ -104,7 +104,7 @@ The expected output of `eval-okay` test cases (which are the majority of test cases) uses the standard strict output of `nix-instantiate(1)` in most cases which is nice to read and easy to work with. However, some more obscure aspects of this output inevitably leak into the test cases, namely the cycle detection -and printing and (in the case of Tvix) the printing of thunks. Unfortunately, +and printing and (in the case of Snix) the printing of thunks. Unfortunately, the output has been changed after Nix 2.3, bringing it closer to the output of `nix eval`, but in an inconsistent manner (e.g. `` was changed to `«repeated»`, but `` remained). As a consequence, it is not always diff --git a/tvix/serde/.skip-subtree b/snix/serde/.skip-subtree similarity index 100% rename from tvix/serde/.skip-subtree rename to snix/serde/.skip-subtree diff --git a/tvix/serde/Cargo.toml b/snix/serde/Cargo.toml similarity index 75% rename from tvix/serde/Cargo.toml rename to snix/serde/Cargo.toml index fc5f08a2d..fac1c583f 100644 --- a/tvix/serde/Cargo.toml +++ b/snix/serde/Cargo.toml @@ -1,9 +1,9 @@ [package] -name = "tvix-serde" +name = "snix-serde" version = "0.1.0" edition = "2021" [dependencies] -tvix-eval = { path = "../eval" } +snix-eval = { path = "../eval" } serde = { workspace = true, features = ["derive"] } bstr = { workspace = true, features = ["serde"] } diff --git a/snix/serde/default.nix b/snix/serde/default.nix new file mode 100644 index 000000000..9b33409fe --- /dev/null +++ b/snix/serde/default.nix @@ -0,0 +1,5 @@ +{ depot, ... }: + +depot.snix.crates.workspaceMembers.snix-serde.build.override { + runTests = true; +} diff --git a/tvix/serde/examples/cfg-demo.rs b/snix/serde/examples/cfg-demo.rs similarity index 75% rename from tvix/serde/examples/cfg-demo.rs rename to snix/serde/examples/cfg-demo.rs index 5774a81f7..ae98cf2b0 100644 --- a/tvix/serde/examples/cfg-demo.rs +++ b/snix/serde/examples/cfg-demo.rs @@ -1,9 +1,9 @@ -//! This program demonstrates how to use tvix_serde to deserialise +//! This program demonstrates how to use snix_serde to deserialise //! program configuration (or other data) from Nix code. //! //! This makes it possible to use Nix as an embedded config language. //! For greater control over evaluation, and for features like adding -//! additional builtins, depending directly on tvix_eval would be +//! additional builtins, depending directly on snix_eval would be //! required. use serde::Deserialize; use std::collections::HashMap; @@ -28,8 +28,8 @@ fn main() { // as a string. let code = include_str!("foods.nix"); - // Now you can use tvix_serde to deserialise the struct: - let foods: Data = tvix_serde::from_str(code).expect("deserialisation should succeed"); + // Now you can use snix_serde to deserialise the struct: + let foods: Data = snix_serde::from_str(code).expect("deserialisation should succeed"); println!("These are the foods:\n{:#?}", foods); } diff --git a/tvix/serde/examples/foods.nix b/snix/serde/examples/foods.nix similarity index 100% rename from tvix/serde/examples/foods.nix rename to snix/serde/examples/foods.nix diff --git a/tvix/serde/examples/nixpkgs.rs b/snix/serde/examples/nixpkgs.rs similarity index 92% rename from tvix/serde/examples/nixpkgs.rs rename to snix/serde/examples/nixpkgs.rs index e3c589dba..2126fd0f4 100644 --- a/tvix/serde/examples/nixpkgs.rs +++ b/snix/serde/examples/nixpkgs.rs @@ -23,7 +23,7 @@ fn main() { } "#; - let result = tvix_serde::from_str_with_config::(code, |eval_builder| { + let result = snix_serde::from_str_with_config::(code, |eval_builder| { eval_builder.enable_impure(None) }); diff --git a/tvix/serde/src/de.rs b/snix/serde/src/de.rs similarity index 98% rename from tvix/serde/src/de.rs rename to snix/serde/src/de.rs index ac2e7ef57..5b9e4465b 100644 --- a/tvix/serde/src/de.rs +++ b/snix/serde/src/de.rs @@ -3,12 +3,12 @@ use bstr::ByteSlice; use serde::de::value::{MapDeserializer, SeqDeserializer}; use serde::de::{self, EnumAccess, VariantAccess}; -use tvix_eval::{EvalIO, EvalMode, EvaluationBuilder, Value}; +use snix_eval::{EvalIO, EvalMode, EvaluationBuilder, Value}; use crate::error::Error; struct NixDeserializer { - value: tvix_eval::Value, + value: snix_eval::Value, } impl NixDeserializer { @@ -39,7 +39,7 @@ where } /// Evaluate the Nix code in `src`, with extra configuration for the -/// `tvix_eval::Evaluation` provided by the given closure. +/// `snix_eval::Evaluation` provided by the given closure. pub fn from_str_with_config<'code, T, F>(src: &'code str, config: F) -> Result where T: serde::Deserialize<'code>, @@ -97,7 +97,7 @@ impl<'de> de::Deserializer<'de> for NixDeserializer { Value::Attrs(_) => self.deserialize_map(visitor), Value::List(_) => self.deserialize_seq(visitor), - // tvix-eval types that can not be deserialized through serde. + // snix-eval types that can not be deserialized through serde. Value::Closure(_) | Value::Builtin(_) | Value::Thunk(_) @@ -410,7 +410,7 @@ impl<'de> de::Deserializer<'de> for NixDeserializer { } } -struct Enum(tvix_eval::NixAttrs); +struct Enum(snix_eval::NixAttrs); impl<'de> EnumAccess<'de> for Enum { type Error = Error; diff --git a/tvix/serde/src/de_tests.rs b/snix/serde/src/de_tests.rs similarity index 97% rename from tvix/serde/src/de_tests.rs rename to snix/serde/src/de_tests.rs index d62464da9..67eab8913 100644 --- a/tvix/serde/src/de_tests.rs +++ b/snix/serde/src/de_tests.rs @@ -1,6 +1,6 @@ use serde::Deserialize; +use snix_eval::builtin_macros::builtins; use std::collections::HashMap; -use tvix_eval::builtin_macros::builtins; use crate::de::{from_str, from_str_with_config}; @@ -214,8 +214,8 @@ fn deserialize_with_config() { #[builtins] mod test_builtins { use bstr::ByteSlice; - use tvix_eval::generators::{Gen, GenCo}; - use tvix_eval::{ErrorKind, NixString, Value}; + use snix_eval::generators::{Gen, GenCo}; + use snix_eval::{ErrorKind, NixString, Value}; #[builtin("prependHello")] pub async fn builtin_prepend_hello(co: GenCo, x: Value) -> Result { diff --git a/tvix/serde/src/error.rs b/snix/serde/src/error.rs similarity index 98% rename from tvix/serde/src/error.rs rename to snix/serde/src/error.rs index d921cc4b4..1b2733ea0 100644 --- a/tvix/serde/src/error.rs +++ b/snix/serde/src/error.rs @@ -27,7 +27,7 @@ pub enum Error { /// Evaluation of the supplied Nix code failed while computing the /// value for deserialisation. - NixErrors { errors: Vec }, + NixErrors { errors: Vec }, /// Could not determine an externally tagged enum representation. AmbiguousEnum, diff --git a/tvix/serde/src/lib.rs b/snix/serde/src/lib.rs similarity index 76% rename from tvix/serde/src/lib.rs rename to snix/serde/src/lib.rs index 6a44affdc..634d6abee 100644 --- a/tvix/serde/src/lib.rs +++ b/snix/serde/src/lib.rs @@ -1,4 +1,4 @@ -//! `tvix-serde` implements (de-)serialisation of Rust data structures +//! `snix-serde` implements (de-)serialisation of Rust data structures //! to/from Nix. This is intended to make it easy to use Nix as as //! configuration language. diff --git a/tvix/shell.nix b/snix/shell.nix similarity index 82% rename from tvix/shell.nix rename to snix/shell.nix index 284a323bd..e504e459f 100644 --- a/tvix/shell.nix +++ b/snix/shell.nix @@ -1,9 +1,9 @@ -# This file is shell.nix in the tvix josh workspace, -# *and* used to provide the //tvix:shell attribute in a full depot checkout. +# This file is shell.nix in the snix josh workspace, +# *and* used to provide the //snix:shell attribute in a full depot checkout. # Hence, it may not use depot as a toplevel argument. { - # This falls back to the tvix josh workspace-provided nixpkgs checkout. + # This falls back to the snix josh workspace-provided nixpkgs checkout. # In the case of depot, it's always set explicitly. pkgs ? (import ./nixpkgs { depotOverlays = false; @@ -30,7 +30,7 @@ }: pkgs.mkShell { - name = "tvix-rust-dev-env"; + name = "snix-rust-dev-env"; packages = [ pkgs.buf pkgs.cargo @@ -67,13 +67,13 @@ pkgs.mkShell { pkgs.google-cloud-bigtable-tool ]; - # Set TVIX_BENCH_NIX_PATH to a somewhat pinned nixpkgs path. + # Set SNIX_BENCH_NIX_PATH to a somewhat pinned nixpkgs path. # This is for invoking `cargo bench` imperatively on the developer machine. - # For tvix benchmarking across longer periods of time (by CI), we probably + # For snix benchmarking across longer periods of time (by CI), we probably # should also benchmark with a more static nixpkgs checkout, so nixpkgs # refactorings are not observed as eval perf changes. shellHook = '' - export TVIX_BUILD_SANDBOX_SHELL=${if pkgs.stdenv.isLinux then pkgs.busybox-sandbox-shell + "/bin/busybox" else "/bin/sh"} - export TVIX_BENCH_NIX_PATH=nixpkgs=${pkgs.path} + export SNIX_BUILD_SANDBOX_SHELL=${if pkgs.stdenv.isLinux then pkgs.busybox-sandbox-shell + "/bin/busybox" else "/bin/sh"} + export SNIX_BENCH_NIX_PATH=nixpkgs=${pkgs.path} ''; } diff --git a/snix/store-go/LICENSE b/snix/store-go/LICENSE new file mode 100644 index 000000000..948502a0a --- /dev/null +++ b/snix/store-go/LICENSE @@ -0,0 +1,22 @@ +Copyright © The Tvix Authors +Copyright © The Snix Project + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +“Software”), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/tvix/store-go/README.md b/snix/store-go/README.md similarity index 79% rename from tvix/store-go/README.md rename to snix/store-go/README.md index 594513412..202a6a16b 100644 --- a/tvix/store-go/README.md +++ b/snix/store-go/README.md @@ -1,9 +1,9 @@ # store-go -This directory contains generated golang bindings, both for the tvix-store data +This directory contains generated golang bindings, both for the snix-store data models, as well as the gRPC bindings. -They are generated with `mg run //tvix:store-go:regenerate`. +They are generated with `mg run //snix:store-go:regenerate`. These files end with `.pb.go`, and are ensured to be up to date by Ci check. Additionally, code useful when interacting with these data structures diff --git a/tvix/store-go/default.nix b/snix/store-go/default.nix similarity index 76% rename from tvix/store-go/default.nix rename to snix/store-go/default.nix index 754a31f25..4a1912e69 100644 --- a/tvix/store-go/default.nix +++ b/snix/store-go/default.nix @@ -2,7 +2,7 @@ let regenerate = pkgs.writeShellScript "regenerate" '' - (cd $(git rev-parse --show-toplevel)/tvix/store-go && rm *.pb.go && cp ${depot.tvix.store.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) + (cd $(git rev-parse --show-toplevel)/snix/store-go && rm *.pb.go && cp ${depot.snix.store.protos.go-bindings}/*.pb.go . && chmod +w *.pb.go) ''; in (pkgs.buildGoModule { @@ -18,7 +18,7 @@ in ${regenerate} if [[ -n "$(git status --porcelain -unormal)" ]]; then echo "-----------------------------" - echo ".pb.go files need to be updated, mg run //tvix/store-go/regenerate" + echo ".pb.go files need to be updated, mg run //snix/store-go/regenerate" echo "-----------------------------" git status -unormal exit 1 @@ -27,5 +27,7 @@ in alwaysRun = true; }; }; + # https://git.snix.dev/snix/snix/issues/60 + meta.ci.skip = true; passthru.regenerate = regenerate; }) diff --git a/tvix/store-go/export.go b/snix/store-go/export.go similarity index 100% rename from tvix/store-go/export.go rename to snix/store-go/export.go diff --git a/tvix/store-go/export_test.go b/snix/store-go/export_test.go similarity index 100% rename from tvix/store-go/export_test.go rename to snix/store-go/export_test.go diff --git a/tvix/store-go/go.mod b/snix/store-go/go.mod similarity index 95% rename from tvix/store-go/go.mod rename to snix/store-go/go.mod index 6e17fedcc..a659607be 100644 --- a/tvix/store-go/go.mod +++ b/snix/store-go/go.mod @@ -1,4 +1,4 @@ -module code.tvl.fyi/tvix/store-go +module snix.dev/store/proto go 1.22 diff --git a/tvix/store-go/go.sum b/snix/store-go/go.sum similarity index 100% rename from tvix/store-go/go.sum rename to snix/store-go/go.sum diff --git a/tvix/store-go/pathinfo.go b/snix/store-go/pathinfo.go similarity index 100% rename from tvix/store-go/pathinfo.go rename to snix/store-go/pathinfo.go diff --git a/tvix/store-go/pathinfo.pb.go b/snix/store-go/pathinfo.pb.go similarity index 79% rename from tvix/store-go/pathinfo.pb.go rename to snix/store-go/pathinfo.pb.go index 85390c9fb..be1a946f4 100644 --- a/tvix/store-go/pathinfo.pb.go +++ b/snix/store-go/pathinfo.pb.go @@ -1,19 +1,20 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.5 // protoc (unknown) -// source: tvix/store/protos/pathinfo.proto +// source: snix/store/protos/pathinfo.proto package storev1 import ( - castore_go "code.tvl.fyi/tvix/castore-go" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" + proto "snix.dev/castore/proto" sync "sync" unsafe "unsafe" ) @@ -84,11 +85,11 @@ func (x NARInfo_CA_Hash) String() string { } func (NARInfo_CA_Hash) Descriptor() protoreflect.EnumDescriptor { - return file_tvix_store_protos_pathinfo_proto_enumTypes[0].Descriptor() + return file_snix_store_protos_pathinfo_proto_enumTypes[0].Descriptor() } func (NARInfo_CA_Hash) Type() protoreflect.EnumType { - return &file_tvix_store_protos_pathinfo_proto_enumTypes[0] + return &file_snix_store_protos_pathinfo_proto_enumTypes[0] } func (x NARInfo_CA_Hash) Number() protoreflect.EnumNumber { @@ -97,7 +98,7 @@ func (x NARInfo_CA_Hash) Number() protoreflect.EnumNumber { // Deprecated: Use NARInfo_CA_Hash.Descriptor instead. func (NARInfo_CA_Hash) EnumDescriptor() ([]byte, []int) { - return file_tvix_store_protos_pathinfo_proto_rawDescGZIP(), []int{2, 1, 0} + return file_snix_store_protos_pathinfo_proto_rawDescGZIP(), []int{2, 1, 0} } // PathInfo shows information about a Nix Store Path. @@ -105,7 +106,7 @@ func (NARInfo_CA_Hash) EnumDescriptor() ([]byte, []int) { type PathInfo struct { state protoimpl.MessageState `protogen:"open.v1"` // The path can be a directory, file or symlink. - Node *castore_go.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + Node *proto.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // List of references (output path hashes) // This really is the raw *bytes*, after decoding nixbase32, and not a // base32-encoded string. @@ -118,7 +119,7 @@ type PathInfo struct { func (x *PathInfo) Reset() { *x = PathInfo{} - mi := &file_tvix_store_protos_pathinfo_proto_msgTypes[0] + mi := &file_snix_store_protos_pathinfo_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -130,7 +131,7 @@ func (x *PathInfo) String() string { func (*PathInfo) ProtoMessage() {} func (x *PathInfo) ProtoReflect() protoreflect.Message { - mi := &file_tvix_store_protos_pathinfo_proto_msgTypes[0] + mi := &file_snix_store_protos_pathinfo_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -143,10 +144,10 @@ func (x *PathInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use PathInfo.ProtoReflect.Descriptor instead. func (*PathInfo) Descriptor() ([]byte, []int) { - return file_tvix_store_protos_pathinfo_proto_rawDescGZIP(), []int{0} + return file_snix_store_protos_pathinfo_proto_rawDescGZIP(), []int{0} } -func (x *PathInfo) GetNode() *castore_go.Node { +func (x *PathInfo) GetNode() *proto.Node { if x != nil { return x.Node } @@ -182,7 +183,7 @@ type StorePath struct { func (x *StorePath) Reset() { *x = StorePath{} - mi := &file_tvix_store_protos_pathinfo_proto_msgTypes[1] + mi := &file_snix_store_protos_pathinfo_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -194,7 +195,7 @@ func (x *StorePath) String() string { func (*StorePath) ProtoMessage() {} func (x *StorePath) ProtoReflect() protoreflect.Message { - mi := &file_tvix_store_protos_pathinfo_proto_msgTypes[1] + mi := &file_snix_store_protos_pathinfo_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -207,7 +208,7 @@ func (x *StorePath) ProtoReflect() protoreflect.Message { // Deprecated: Use StorePath.ProtoReflect.Descriptor instead. func (*StorePath) Descriptor() ([]byte, []int) { - return file_tvix_store_protos_pathinfo_proto_rawDescGZIP(), []int{1} + return file_snix_store_protos_pathinfo_proto_rawDescGZIP(), []int{1} } func (x *StorePath) GetName() string { @@ -279,7 +280,7 @@ type NARInfo struct { func (x *NARInfo) Reset() { *x = NARInfo{} - mi := &file_tvix_store_protos_pathinfo_proto_msgTypes[2] + mi := &file_snix_store_protos_pathinfo_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -291,7 +292,7 @@ func (x *NARInfo) String() string { func (*NARInfo) ProtoMessage() {} func (x *NARInfo) ProtoReflect() protoreflect.Message { - mi := &file_tvix_store_protos_pathinfo_proto_msgTypes[2] + mi := &file_snix_store_protos_pathinfo_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -304,7 +305,7 @@ func (x *NARInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use NARInfo.ProtoReflect.Descriptor instead. func (*NARInfo) Descriptor() ([]byte, []int) { - return file_tvix_store_protos_pathinfo_proto_rawDescGZIP(), []int{2} + return file_snix_store_protos_pathinfo_proto_rawDescGZIP(), []int{2} } func (x *NARInfo) GetNarSize() uint64 { @@ -360,7 +361,7 @@ type NARInfo_Signature struct { func (x *NARInfo_Signature) Reset() { *x = NARInfo_Signature{} - mi := &file_tvix_store_protos_pathinfo_proto_msgTypes[3] + mi := &file_snix_store_protos_pathinfo_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -372,7 +373,7 @@ func (x *NARInfo_Signature) String() string { func (*NARInfo_Signature) ProtoMessage() {} func (x *NARInfo_Signature) ProtoReflect() protoreflect.Message { - mi := &file_tvix_store_protos_pathinfo_proto_msgTypes[3] + mi := &file_snix_store_protos_pathinfo_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -385,7 +386,7 @@ func (x *NARInfo_Signature) ProtoReflect() protoreflect.Message { // Deprecated: Use NARInfo_Signature.ProtoReflect.Descriptor instead. func (*NARInfo_Signature) Descriptor() ([]byte, []int) { - return file_tvix_store_protos_pathinfo_proto_rawDescGZIP(), []int{2, 0} + return file_snix_store_protos_pathinfo_proto_rawDescGZIP(), []int{2, 0} } func (x *NARInfo_Signature) GetName() string { @@ -405,7 +406,7 @@ func (x *NARInfo_Signature) GetData() []byte { type NARInfo_CA struct { state protoimpl.MessageState `protogen:"open.v1"` // The hashing type used. - Type NARInfo_CA_Hash `protobuf:"varint,1,opt,name=type,proto3,enum=tvix.store.v1.NARInfo_CA_Hash" json:"type,omitempty"` + Type NARInfo_CA_Hash `protobuf:"varint,1,opt,name=type,proto3,enum=snix.store.v1.NARInfo_CA_Hash" json:"type,omitempty"` // The digest, in raw bytes. Digest []byte `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"` unknownFields protoimpl.UnknownFields @@ -414,7 +415,7 @@ type NARInfo_CA struct { func (x *NARInfo_CA) Reset() { *x = NARInfo_CA{} - mi := &file_tvix_store_protos_pathinfo_proto_msgTypes[4] + mi := &file_snix_store_protos_pathinfo_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -426,7 +427,7 @@ func (x *NARInfo_CA) String() string { func (*NARInfo_CA) ProtoMessage() {} func (x *NARInfo_CA) ProtoReflect() protoreflect.Message { - mi := &file_tvix_store_protos_pathinfo_proto_msgTypes[4] + mi := &file_snix_store_protos_pathinfo_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -439,7 +440,7 @@ func (x *NARInfo_CA) ProtoReflect() protoreflect.Message { // Deprecated: Use NARInfo_CA.ProtoReflect.Descriptor instead. func (*NARInfo_CA) Descriptor() ([]byte, []int) { - return file_tvix_store_protos_pathinfo_proto_rawDescGZIP(), []int{2, 1} + return file_snix_store_protos_pathinfo_proto_rawDescGZIP(), []int{2, 1} } func (x *NARInfo_CA) GetType() NARInfo_CA_Hash { @@ -456,22 +457,22 @@ func (x *NARInfo_CA) GetDigest() []byte { return nil } -var File_tvix_store_protos_pathinfo_proto protoreflect.FileDescriptor +var File_snix_store_protos_pathinfo_proto protoreflect.FileDescriptor -var file_tvix_store_protos_pathinfo_proto_rawDesc = string([]byte{ - 0x0a, 0x20, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, +var file_snix_store_protos_pathinfo_proto_rawDesc = string([]byte{ + 0x0a, 0x20, 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x0d, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, - 0x31, 0x1a, 0x21, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, + 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x1a, 0x21, 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x08, 0x50, 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x15, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x07, 0x6e, 0x61, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x41, + 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x41, 0x52, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6e, 0x61, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x37, 0x0a, 0x09, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, @@ -482,23 +483,23 @@ var file_tvix_store_protos_pathinfo_proto_rawDesc = string([]byte{ 0x0a, 0x0a, 0x6e, 0x61, 0x72, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6e, 0x61, 0x72, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x40, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x41, 0x52, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x76, 0x69, 0x78, + 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x07, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x02, - 0x63, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, + 0x63, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x41, 0x52, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x41, 0x52, 0x02, 0x63, 0x61, 0x1a, 0x33, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xe4, 0x01, 0x0a, 0x02, 0x43, 0x41, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1e, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x0e, 0x32, 0x1e, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x41, 0x52, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x41, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, @@ -511,42 +512,41 @@ var file_tvix_store_protos_pathinfo_proto_rawDesc = string([]byte{ 0x31, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x4c, 0x41, 0x54, 0x5f, 0x4d, 0x44, 0x35, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4c, 0x41, 0x54, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4c, 0x41, 0x54, 0x5f, 0x53, 0x48, 0x41, 0x35, 0x31, - 0x32, 0x10, 0x08, 0x42, 0x24, 0x5a, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x76, 0x6c, 0x2e, - 0x66, 0x79, 0x69, 0x2f, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x67, - 0x6f, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x32, 0x10, 0x08, 0x42, 0x1e, 0x5a, 0x1c, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x64, 0x65, 0x76, 0x2f, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( - file_tvix_store_protos_pathinfo_proto_rawDescOnce sync.Once - file_tvix_store_protos_pathinfo_proto_rawDescData []byte + file_snix_store_protos_pathinfo_proto_rawDescOnce sync.Once + file_snix_store_protos_pathinfo_proto_rawDescData []byte ) -func file_tvix_store_protos_pathinfo_proto_rawDescGZIP() []byte { - file_tvix_store_protos_pathinfo_proto_rawDescOnce.Do(func() { - file_tvix_store_protos_pathinfo_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_tvix_store_protos_pathinfo_proto_rawDesc), len(file_tvix_store_protos_pathinfo_proto_rawDesc))) +func file_snix_store_protos_pathinfo_proto_rawDescGZIP() []byte { + file_snix_store_protos_pathinfo_proto_rawDescOnce.Do(func() { + file_snix_store_protos_pathinfo_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_snix_store_protos_pathinfo_proto_rawDesc), len(file_snix_store_protos_pathinfo_proto_rawDesc))) }) - return file_tvix_store_protos_pathinfo_proto_rawDescData + return file_snix_store_protos_pathinfo_proto_rawDescData } -var file_tvix_store_protos_pathinfo_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_tvix_store_protos_pathinfo_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_tvix_store_protos_pathinfo_proto_goTypes = []any{ - (NARInfo_CA_Hash)(0), // 0: tvix.store.v1.NARInfo.CA.Hash - (*PathInfo)(nil), // 1: tvix.store.v1.PathInfo - (*StorePath)(nil), // 2: tvix.store.v1.StorePath - (*NARInfo)(nil), // 3: tvix.store.v1.NARInfo - (*NARInfo_Signature)(nil), // 4: tvix.store.v1.NARInfo.Signature - (*NARInfo_CA)(nil), // 5: tvix.store.v1.NARInfo.CA - (*castore_go.Node)(nil), // 6: tvix.castore.v1.Node +var file_snix_store_protos_pathinfo_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_snix_store_protos_pathinfo_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_snix_store_protos_pathinfo_proto_goTypes = []any{ + (NARInfo_CA_Hash)(0), // 0: snix.store.v1.NARInfo.CA.Hash + (*PathInfo)(nil), // 1: snix.store.v1.PathInfo + (*StorePath)(nil), // 2: snix.store.v1.StorePath + (*NARInfo)(nil), // 3: snix.store.v1.NARInfo + (*NARInfo_Signature)(nil), // 4: snix.store.v1.NARInfo.Signature + (*NARInfo_CA)(nil), // 5: snix.store.v1.NARInfo.CA + (*proto.Node)(nil), // 6: snix.castore.v1.Node } -var file_tvix_store_protos_pathinfo_proto_depIdxs = []int32{ - 6, // 0: tvix.store.v1.PathInfo.node:type_name -> tvix.castore.v1.Node - 3, // 1: tvix.store.v1.PathInfo.narinfo:type_name -> tvix.store.v1.NARInfo - 4, // 2: tvix.store.v1.NARInfo.signatures:type_name -> tvix.store.v1.NARInfo.Signature - 2, // 3: tvix.store.v1.NARInfo.deriver:type_name -> tvix.store.v1.StorePath - 5, // 4: tvix.store.v1.NARInfo.ca:type_name -> tvix.store.v1.NARInfo.CA - 0, // 5: tvix.store.v1.NARInfo.CA.type:type_name -> tvix.store.v1.NARInfo.CA.Hash +var file_snix_store_protos_pathinfo_proto_depIdxs = []int32{ + 6, // 0: snix.store.v1.PathInfo.node:type_name -> snix.castore.v1.Node + 3, // 1: snix.store.v1.PathInfo.narinfo:type_name -> snix.store.v1.NARInfo + 4, // 2: snix.store.v1.NARInfo.signatures:type_name -> snix.store.v1.NARInfo.Signature + 2, // 3: snix.store.v1.NARInfo.deriver:type_name -> snix.store.v1.StorePath + 5, // 4: snix.store.v1.NARInfo.ca:type_name -> snix.store.v1.NARInfo.CA + 0, // 5: snix.store.v1.NARInfo.CA.type:type_name -> snix.store.v1.NARInfo.CA.Hash 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name @@ -554,27 +554,27 @@ var file_tvix_store_protos_pathinfo_proto_depIdxs = []int32{ 0, // [0:6] is the sub-list for field type_name } -func init() { file_tvix_store_protos_pathinfo_proto_init() } -func file_tvix_store_protos_pathinfo_proto_init() { - if File_tvix_store_protos_pathinfo_proto != nil { +func init() { file_snix_store_protos_pathinfo_proto_init() } +func file_snix_store_protos_pathinfo_proto_init() { + if File_snix_store_protos_pathinfo_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_tvix_store_protos_pathinfo_proto_rawDesc), len(file_tvix_store_protos_pathinfo_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_snix_store_protos_pathinfo_proto_rawDesc), len(file_snix_store_protos_pathinfo_proto_rawDesc)), NumEnums: 1, NumMessages: 5, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_tvix_store_protos_pathinfo_proto_goTypes, - DependencyIndexes: file_tvix_store_protos_pathinfo_proto_depIdxs, - EnumInfos: file_tvix_store_protos_pathinfo_proto_enumTypes, - MessageInfos: file_tvix_store_protos_pathinfo_proto_msgTypes, + GoTypes: file_snix_store_protos_pathinfo_proto_goTypes, + DependencyIndexes: file_snix_store_protos_pathinfo_proto_depIdxs, + EnumInfos: file_snix_store_protos_pathinfo_proto_enumTypes, + MessageInfos: file_snix_store_protos_pathinfo_proto_msgTypes, }.Build() - File_tvix_store_protos_pathinfo_proto = out.File - file_tvix_store_protos_pathinfo_proto_goTypes = nil - file_tvix_store_protos_pathinfo_proto_depIdxs = nil + File_snix_store_protos_pathinfo_proto = out.File + file_snix_store_protos_pathinfo_proto_goTypes = nil + file_snix_store_protos_pathinfo_proto_depIdxs = nil } diff --git a/tvix/store-go/pathinfo_test.go b/snix/store-go/pathinfo_test.go similarity index 100% rename from tvix/store-go/pathinfo_test.go rename to snix/store-go/pathinfo_test.go diff --git a/tvix/store-go/pick_next_node_test.go b/snix/store-go/pick_next_node_test.go similarity index 100% rename from tvix/store-go/pick_next_node_test.go rename to snix/store-go/pick_next_node_test.go diff --git a/tvix/store-go/rpc_pathinfo.pb.go b/snix/store-go/rpc_pathinfo.pb.go similarity index 68% rename from tvix/store-go/rpc_pathinfo.pb.go rename to snix/store-go/rpc_pathinfo.pb.go index 933a3950c..dad704926 100644 --- a/tvix/store-go/rpc_pathinfo.pb.go +++ b/snix/store-go/rpc_pathinfo.pb.go @@ -1,19 +1,20 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.5 // protoc (unknown) -// source: tvix/store/protos/rpc_pathinfo.proto +// source: snix/store/protos/rpc_pathinfo.proto package storev1 import ( - castore_go "code.tvl.fyi/tvix/castore-go" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" + proto "snix.dev/castore/proto" sync "sync" unsafe "unsafe" ) @@ -39,7 +40,7 @@ type GetPathInfoRequest struct { func (x *GetPathInfoRequest) Reset() { *x = GetPathInfoRequest{} - mi := &file_tvix_store_protos_rpc_pathinfo_proto_msgTypes[0] + mi := &file_snix_store_protos_rpc_pathinfo_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51,7 +52,7 @@ func (x *GetPathInfoRequest) String() string { func (*GetPathInfoRequest) ProtoMessage() {} func (x *GetPathInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_tvix_store_protos_rpc_pathinfo_proto_msgTypes[0] + mi := &file_snix_store_protos_rpc_pathinfo_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64,7 +65,7 @@ func (x *GetPathInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPathInfoRequest.ProtoReflect.Descriptor instead. func (*GetPathInfoRequest) Descriptor() ([]byte, []int) { - return file_tvix_store_protos_rpc_pathinfo_proto_rawDescGZIP(), []int{0} + return file_snix_store_protos_rpc_pathinfo_proto_rawDescGZIP(), []int{0} } func (x *GetPathInfoRequest) GetByWhat() isGetPathInfoRequest_ByWhat { @@ -107,7 +108,7 @@ type ListPathInfoRequest struct { func (x *ListPathInfoRequest) Reset() { *x = ListPathInfoRequest{} - mi := &file_tvix_store_protos_rpc_pathinfo_proto_msgTypes[1] + mi := &file_snix_store_protos_rpc_pathinfo_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119,7 +120,7 @@ func (x *ListPathInfoRequest) String() string { func (*ListPathInfoRequest) ProtoMessage() {} func (x *ListPathInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_tvix_store_protos_rpc_pathinfo_proto_msgTypes[1] + mi := &file_snix_store_protos_rpc_pathinfo_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -132,7 +133,7 @@ func (x *ListPathInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPathInfoRequest.ProtoReflect.Descriptor instead. func (*ListPathInfoRequest) Descriptor() ([]byte, []int) { - return file_tvix_store_protos_rpc_pathinfo_proto_rawDescGZIP(), []int{1} + return file_snix_store_protos_rpc_pathinfo_proto_rawDescGZIP(), []int{1} } // CalculateNARResponse is the response returned by the CalculateNAR request. @@ -151,7 +152,7 @@ type CalculateNARResponse struct { func (x *CalculateNARResponse) Reset() { *x = CalculateNARResponse{} - mi := &file_tvix_store_protos_rpc_pathinfo_proto_msgTypes[2] + mi := &file_snix_store_protos_rpc_pathinfo_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -163,7 +164,7 @@ func (x *CalculateNARResponse) String() string { func (*CalculateNARResponse) ProtoMessage() {} func (x *CalculateNARResponse) ProtoReflect() protoreflect.Message { - mi := &file_tvix_store_protos_rpc_pathinfo_proto_msgTypes[2] + mi := &file_snix_store_protos_rpc_pathinfo_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -176,7 +177,7 @@ func (x *CalculateNARResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CalculateNARResponse.ProtoReflect.Descriptor instead. func (*CalculateNARResponse) Descriptor() ([]byte, []int) { - return file_tvix_store_protos_rpc_pathinfo_proto_rawDescGZIP(), []int{2} + return file_snix_store_protos_rpc_pathinfo_proto_rawDescGZIP(), []int{2} } func (x *CalculateNARResponse) GetNarSize() uint64 { @@ -193,15 +194,15 @@ func (x *CalculateNARResponse) GetNarSha256() []byte { return nil } -var File_tvix_store_protos_rpc_pathinfo_proto protoreflect.FileDescriptor +var File_snix_store_protos_rpc_pathinfo_proto protoreflect.FileDescriptor -var file_tvix_store_protos_rpc_pathinfo_proto_rawDesc = string([]byte{ - 0x0a, 0x24, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, +var file_snix_store_protos_rpc_pathinfo_proto_rawDesc = string([]byte{ + 0x0a, 0x24, 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x21, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x21, 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x63, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x73, + 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x73, 0x6e, 0x69, 0x78, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, @@ -216,57 +217,57 @@ var file_tvix_store_protos_rpc_pathinfo_proto_rawDesc = string([]byte{ 0x0a, 0x6e, 0x61, 0x72, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6e, 0x61, 0x72, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x32, 0xa0, 0x02, 0x0a, 0x0f, 0x50, 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x41, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x21, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, + 0x12, 0x41, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x21, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x74, 0x76, 0x69, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x03, 0x50, 0x75, 0x74, 0x12, 0x17, 0x2e, 0x74, 0x76, 0x69, + 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x03, 0x50, 0x75, 0x74, 0x12, 0x17, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x49, - 0x6e, 0x66, 0x6f, 0x1a, 0x17, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x6e, 0x66, 0x6f, 0x1a, 0x17, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a, 0x0c, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x41, 0x52, 0x12, 0x15, 0x2e, 0x74, - 0x76, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x1a, 0x23, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x41, 0x52, 0x12, 0x15, 0x2e, 0x73, + 0x6e, 0x69, 0x78, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x1a, 0x23, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x41, 0x52, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x22, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, + 0x12, 0x22, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x30, 0x01, 0x42, - 0x24, 0x5a, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x76, 0x6c, 0x2e, 0x66, 0x79, 0x69, 0x2f, - 0x74, 0x76, 0x69, 0x78, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x67, 0x6f, 0x3b, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x1e, 0x5a, 0x1c, 0x73, 0x6e, 0x69, 0x78, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x76, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( - file_tvix_store_protos_rpc_pathinfo_proto_rawDescOnce sync.Once - file_tvix_store_protos_rpc_pathinfo_proto_rawDescData []byte + file_snix_store_protos_rpc_pathinfo_proto_rawDescOnce sync.Once + file_snix_store_protos_rpc_pathinfo_proto_rawDescData []byte ) -func file_tvix_store_protos_rpc_pathinfo_proto_rawDescGZIP() []byte { - file_tvix_store_protos_rpc_pathinfo_proto_rawDescOnce.Do(func() { - file_tvix_store_protos_rpc_pathinfo_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_tvix_store_protos_rpc_pathinfo_proto_rawDesc), len(file_tvix_store_protos_rpc_pathinfo_proto_rawDesc))) +func file_snix_store_protos_rpc_pathinfo_proto_rawDescGZIP() []byte { + file_snix_store_protos_rpc_pathinfo_proto_rawDescOnce.Do(func() { + file_snix_store_protos_rpc_pathinfo_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_snix_store_protos_rpc_pathinfo_proto_rawDesc), len(file_snix_store_protos_rpc_pathinfo_proto_rawDesc))) }) - return file_tvix_store_protos_rpc_pathinfo_proto_rawDescData + return file_snix_store_protos_rpc_pathinfo_proto_rawDescData } -var file_tvix_store_protos_rpc_pathinfo_proto_msgTypes = make([]protoimpl.MessageInfo, 3) -var file_tvix_store_protos_rpc_pathinfo_proto_goTypes = []any{ - (*GetPathInfoRequest)(nil), // 0: tvix.store.v1.GetPathInfoRequest - (*ListPathInfoRequest)(nil), // 1: tvix.store.v1.ListPathInfoRequest - (*CalculateNARResponse)(nil), // 2: tvix.store.v1.CalculateNARResponse - (*PathInfo)(nil), // 3: tvix.store.v1.PathInfo - (*castore_go.Node)(nil), // 4: tvix.castore.v1.Node +var file_snix_store_protos_rpc_pathinfo_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_snix_store_protos_rpc_pathinfo_proto_goTypes = []any{ + (*GetPathInfoRequest)(nil), // 0: snix.store.v1.GetPathInfoRequest + (*ListPathInfoRequest)(nil), // 1: snix.store.v1.ListPathInfoRequest + (*CalculateNARResponse)(nil), // 2: snix.store.v1.CalculateNARResponse + (*PathInfo)(nil), // 3: snix.store.v1.PathInfo + (*proto.Node)(nil), // 4: snix.castore.v1.Node } -var file_tvix_store_protos_rpc_pathinfo_proto_depIdxs = []int32{ - 0, // 0: tvix.store.v1.PathInfoService.Get:input_type -> tvix.store.v1.GetPathInfoRequest - 3, // 1: tvix.store.v1.PathInfoService.Put:input_type -> tvix.store.v1.PathInfo - 4, // 2: tvix.store.v1.PathInfoService.CalculateNAR:input_type -> tvix.castore.v1.Node - 1, // 3: tvix.store.v1.PathInfoService.List:input_type -> tvix.store.v1.ListPathInfoRequest - 3, // 4: tvix.store.v1.PathInfoService.Get:output_type -> tvix.store.v1.PathInfo - 3, // 5: tvix.store.v1.PathInfoService.Put:output_type -> tvix.store.v1.PathInfo - 2, // 6: tvix.store.v1.PathInfoService.CalculateNAR:output_type -> tvix.store.v1.CalculateNARResponse - 3, // 7: tvix.store.v1.PathInfoService.List:output_type -> tvix.store.v1.PathInfo +var file_snix_store_protos_rpc_pathinfo_proto_depIdxs = []int32{ + 0, // 0: snix.store.v1.PathInfoService.Get:input_type -> snix.store.v1.GetPathInfoRequest + 3, // 1: snix.store.v1.PathInfoService.Put:input_type -> snix.store.v1.PathInfo + 4, // 2: snix.store.v1.PathInfoService.CalculateNAR:input_type -> snix.castore.v1.Node + 1, // 3: snix.store.v1.PathInfoService.List:input_type -> snix.store.v1.ListPathInfoRequest + 3, // 4: snix.store.v1.PathInfoService.Get:output_type -> snix.store.v1.PathInfo + 3, // 5: snix.store.v1.PathInfoService.Put:output_type -> snix.store.v1.PathInfo + 2, // 6: snix.store.v1.PathInfoService.CalculateNAR:output_type -> snix.store.v1.CalculateNARResponse + 3, // 7: snix.store.v1.PathInfoService.List:output_type -> snix.store.v1.PathInfo 4, // [4:8] is the sub-list for method output_type 0, // [0:4] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name @@ -274,30 +275,30 @@ var file_tvix_store_protos_rpc_pathinfo_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for field type_name } -func init() { file_tvix_store_protos_rpc_pathinfo_proto_init() } -func file_tvix_store_protos_rpc_pathinfo_proto_init() { - if File_tvix_store_protos_rpc_pathinfo_proto != nil { +func init() { file_snix_store_protos_rpc_pathinfo_proto_init() } +func file_snix_store_protos_rpc_pathinfo_proto_init() { + if File_snix_store_protos_rpc_pathinfo_proto != nil { return } - file_tvix_store_protos_pathinfo_proto_init() - file_tvix_store_protos_rpc_pathinfo_proto_msgTypes[0].OneofWrappers = []any{ + file_snix_store_protos_pathinfo_proto_init() + file_snix_store_protos_rpc_pathinfo_proto_msgTypes[0].OneofWrappers = []any{ (*GetPathInfoRequest_ByOutputHash)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_tvix_store_protos_rpc_pathinfo_proto_rawDesc), len(file_tvix_store_protos_rpc_pathinfo_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_snix_store_protos_rpc_pathinfo_proto_rawDesc), len(file_snix_store_protos_rpc_pathinfo_proto_rawDesc)), NumEnums: 0, NumMessages: 3, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_tvix_store_protos_rpc_pathinfo_proto_goTypes, - DependencyIndexes: file_tvix_store_protos_rpc_pathinfo_proto_depIdxs, - MessageInfos: file_tvix_store_protos_rpc_pathinfo_proto_msgTypes, + GoTypes: file_snix_store_protos_rpc_pathinfo_proto_goTypes, + DependencyIndexes: file_snix_store_protos_rpc_pathinfo_proto_depIdxs, + MessageInfos: file_snix_store_protos_rpc_pathinfo_proto_msgTypes, }.Build() - File_tvix_store_protos_rpc_pathinfo_proto = out.File - file_tvix_store_protos_rpc_pathinfo_proto_goTypes = nil - file_tvix_store_protos_rpc_pathinfo_proto_depIdxs = nil + File_snix_store_protos_rpc_pathinfo_proto = out.File + file_snix_store_protos_rpc_pathinfo_proto_goTypes = nil + file_snix_store_protos_rpc_pathinfo_proto_depIdxs = nil } diff --git a/tvix/store-go/rpc_pathinfo_grpc.pb.go b/snix/store-go/rpc_pathinfo_grpc.pb.go similarity index 92% rename from tvix/store-go/rpc_pathinfo_grpc.pb.go rename to snix/store-go/rpc_pathinfo_grpc.pb.go index 8fe81d1af..4c4ca9066 100644 --- a/tvix/store-go/rpc_pathinfo_grpc.pb.go +++ b/snix/store-go/rpc_pathinfo_grpc.pb.go @@ -1,20 +1,21 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) -// source: tvix/store/protos/rpc_pathinfo.proto +// source: snix/store/protos/rpc_pathinfo.proto package storev1 import ( - castore_go "code.tvl.fyi/tvix/castore-go" context "context" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + proto "snix.dev/castore/proto" ) // This is a compile-time assertion to ensure that this generated file @@ -23,10 +24,10 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - PathInfoService_Get_FullMethodName = "/tvix.store.v1.PathInfoService/Get" - PathInfoService_Put_FullMethodName = "/tvix.store.v1.PathInfoService/Put" - PathInfoService_CalculateNAR_FullMethodName = "/tvix.store.v1.PathInfoService/CalculateNAR" - PathInfoService_List_FullMethodName = "/tvix.store.v1.PathInfoService/List" + PathInfoService_Get_FullMethodName = "/snix.store.v1.PathInfoService/Get" + PathInfoService_Put_FullMethodName = "/snix.store.v1.PathInfoService/Put" + PathInfoService_CalculateNAR_FullMethodName = "/snix.store.v1.PathInfoService/CalculateNAR" + PathInfoService_List_FullMethodName = "/snix.store.v1.PathInfoService/List" ) // PathInfoServiceClient is the client API for PathInfoService service. @@ -61,7 +62,7 @@ type PathInfoServiceClient interface { // // It can also be used to calculate arbitrary NAR hashes of output paths, in // case a legacy Nix Binary Cache frontend is provided. - CalculateNAR(ctx context.Context, in *castore_go.Node, opts ...grpc.CallOption) (*CalculateNARResponse, error) + CalculateNAR(ctx context.Context, in *proto.Node, opts ...grpc.CallOption) (*CalculateNARResponse, error) // Return a stream of PathInfo messages matching the criteria specified in // ListPathInfoRequest. List(ctx context.Context, in *ListPathInfoRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PathInfo], error) @@ -95,7 +96,7 @@ func (c *pathInfoServiceClient) Put(ctx context.Context, in *PathInfo, opts ...g return out, nil } -func (c *pathInfoServiceClient) CalculateNAR(ctx context.Context, in *castore_go.Node, opts ...grpc.CallOption) (*CalculateNARResponse, error) { +func (c *pathInfoServiceClient) CalculateNAR(ctx context.Context, in *proto.Node, opts ...grpc.CallOption) (*CalculateNARResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(CalculateNARResponse) err := c.cc.Invoke(ctx, PathInfoService_CalculateNAR_FullMethodName, in, out, cOpts...) @@ -156,7 +157,7 @@ type PathInfoServiceServer interface { // // It can also be used to calculate arbitrary NAR hashes of output paths, in // case a legacy Nix Binary Cache frontend is provided. - CalculateNAR(context.Context, *castore_go.Node) (*CalculateNARResponse, error) + CalculateNAR(context.Context, *proto.Node) (*CalculateNARResponse, error) // Return a stream of PathInfo messages matching the criteria specified in // ListPathInfoRequest. List(*ListPathInfoRequest, grpc.ServerStreamingServer[PathInfo]) error @@ -176,7 +177,7 @@ func (UnimplementedPathInfoServiceServer) Get(context.Context, *GetPathInfoReque func (UnimplementedPathInfoServiceServer) Put(context.Context, *PathInfo) (*PathInfo, error) { return nil, status.Errorf(codes.Unimplemented, "method Put not implemented") } -func (UnimplementedPathInfoServiceServer) CalculateNAR(context.Context, *castore_go.Node) (*CalculateNARResponse, error) { +func (UnimplementedPathInfoServiceServer) CalculateNAR(context.Context, *proto.Node) (*CalculateNARResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CalculateNAR not implemented") } func (UnimplementedPathInfoServiceServer) List(*ListPathInfoRequest, grpc.ServerStreamingServer[PathInfo]) error { @@ -240,7 +241,7 @@ func _PathInfoService_Put_Handler(srv interface{}, ctx context.Context, dec func } func _PathInfoService_CalculateNAR_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(castore_go.Node) + in := new(proto.Node) if err := dec(in); err != nil { return nil, err } @@ -252,7 +253,7 @@ func _PathInfoService_CalculateNAR_Handler(srv interface{}, ctx context.Context, FullMethod: PathInfoService_CalculateNAR_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PathInfoServiceServer).CalculateNAR(ctx, req.(*castore_go.Node)) + return srv.(PathInfoServiceServer).CalculateNAR(ctx, req.(*proto.Node)) } return interceptor(ctx, in, info, handler) } @@ -272,7 +273,7 @@ type PathInfoService_ListServer = grpc.ServerStreamingServer[PathInfo] // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var PathInfoService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "tvix.store.v1.PathInfoService", + ServiceName: "snix.store.v1.PathInfoService", HandlerType: (*PathInfoServiceServer)(nil), Methods: []grpc.MethodDesc{ { @@ -295,5 +296,5 @@ var PathInfoService_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "tvix/store/protos/rpc_pathinfo.proto", + Metadata: "snix/store/protos/rpc_pathinfo.proto", } diff --git a/tvix/store-go/testdata/emptydirectory.nar b/snix/store-go/testdata/emptydirectory.nar similarity index 100% rename from tvix/store-go/testdata/emptydirectory.nar rename to snix/store-go/testdata/emptydirectory.nar diff --git a/tvix/store-go/testdata/onebyteregular.nar b/snix/store-go/testdata/onebyteregular.nar similarity index 100% rename from tvix/store-go/testdata/onebyteregular.nar rename to snix/store-go/testdata/onebyteregular.nar diff --git a/tvix/store-go/testdata/symlink.nar b/snix/store-go/testdata/symlink.nar similarity index 100% rename from tvix/store-go/testdata/symlink.nar rename to snix/store-go/testdata/symlink.nar diff --git a/tvix/store/Cargo.toml b/snix/store/Cargo.toml similarity index 86% rename from tvix/store/Cargo.toml rename to snix/store/Cargo.toml index dd8ca78b4..4bce82fc5 100644 --- a/tvix/store/Cargo.toml +++ b/snix/store/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tvix-store" +name = "snix-store" version = "0.1.0" edition = "2021" @@ -34,14 +34,14 @@ tokio-util = { workspace = true, features = ["io", "io-util", "compat"] } tonic = { workspace = true, features = ["tls", "tls-roots"] } tower.workspace = true tower-http = { workspace = true, features = ["trace"] } -tvix-castore = { path = "../castore" } +snix-castore = { path = "../castore" } url.workspace = true walkdir.workspace = true reqwest = { workspace = true, features = ["rustls-tls-native-roots", "stream"] } reqwest-middleware.workspace = true lru.workspace = true parking_lot.workspace = true -tvix-tracing = { path = "../tracing", features = ["tonic", "reqwest"] } +snix-tracing = { path = "../tracing", features = ["tonic", "reqwest"] } tracing.workspace = true tracing-indicatif.workspace = true hyper-util.workspace = true @@ -69,14 +69,14 @@ hex-literal.workspace = true default = ["cloud", "fuse", "otlp", "tonic-reflection"] cloud = [ "dep:bigtable_rs", - "tvix-castore/cloud" + "snix-castore/cloud" ] -fuse = ["tvix-castore/fuse"] -otlp = ["tvix-tracing/otlp"] -tonic-reflection = ["dep:tonic-reflection", "tvix-castore/tonic-reflection"] -tracy = ["tvix-tracing/tracy"] -virtiofs = ["tvix-castore/virtiofs"] -xp-composition-cli = ["toml", "tvix-castore/xp-composition-url-refs"] +fuse = ["snix-castore/fuse"] +otlp = ["snix-tracing/otlp"] +tonic-reflection = ["dep:tonic-reflection", "snix-castore/tonic-reflection"] +tracy = ["snix-tracing/tracy"] +virtiofs = ["snix-castore/virtiofs"] +xp-composition-cli = ["toml", "snix-castore/xp-composition-url-refs"] # Whether to run the integration tests. # Requires the following packages in $PATH: # cbtemulator, google-cloud-bigtable-tool diff --git a/tvix/store/README.md b/snix/store/README.md similarity index 67% rename from tvix/store/README.md rename to snix/store/README.md index a9d29671d..56d66cd54 100644 --- a/tvix/store/README.md +++ b/snix/store/README.md @@ -1,12 +1,12 @@ -# //tvix/store +# //snix/store -This contains the code hosting the tvix-store. +This contains the code hosting the snix-store. For the local store, Nix realizes files on the filesystem in `/nix/store` (and maintains some metadata in a SQLite database). For "remote stores", it communicates this metadata in NAR (Nix ARchive) and NARInfo format. -Compared to the Nix model, `tvix-store` stores data on a much more granular +Compared to the Nix model, `snix-store` stores data on a much more granular level than that, which provides more deduplication possibilities, and more granular copying. @@ -14,18 +14,18 @@ However, enough information is preserved to still be able to render NAR and NARInfo when needed. ## More Information -The store consists out of two different gRPC services, `tvix.castore.v1` for -the low-level content-addressed bits, and `tvix.store.v1` for the Nix and +The store consists out of two different gRPC services, `snix.castore.v1` for +the low-level content-addressed bits, and `snix.store.v1` for the Nix and `StorePath`-specific bits. Check the `protos/` subfolder both here and in `castore` for the definition of the exact RPC methods and messages. ## Interacting with the GRPC service manually -The shell environment in `//tvix` provides `evans`, which is an interactive +The shell environment in `//snix` provides `evans`, which is an interactive REPL-based gPRC client. -You can use it to connect to a `tvix-store` and call the various RPC methods. +You can use it to connect to a `snix-store` and call the various RPC methods. ```shell $ cargo run -- daemon & @@ -40,16 +40,16 @@ $ evans --host localhost --port 8000 -r repl more expressive universal gRPC client -localhost:8000> package tvix.castore.v1 -tvix.castore.v1@localhost:8000> service BlobService +localhost:8000> package snix.castore.v1 +snix.castore.v1@localhost:8000> service BlobService -tvix.castore.v1.BlobService@localhost:8000> call Put --bytes-from-file +snix.castore.v1.BlobService@localhost:8000> call Put --bytes-from-file data (TYPE_BYTES) => /run/current-system/system { "digest": "KOM3/IHEx7YfInAnlJpAElYezq0Sxn9fRz7xuClwNfA=" } -tvix.castore.v1.BlobService@localhost:8000> call Read --bytes-as-base64 +snix.castore.v1.BlobService@localhost:8000> call Read --bytes-as-base64 digest (TYPE_BYTES) => KOM3/IHEx7YfInAnlJpAElYezq0Sxn9fRz7xuClwNfA= { "data": "eDg2XzY0LWxpbnV4" @@ -59,5 +59,5 @@ $ echo eDg2XzY0LWxpbnV4 | base64 -d x86_64-linux ``` -Thanks to `tvix-store` providing gRPC Server Reflection (with `reflection` +Thanks to `snix-store` providing gRPC Server Reflection (with `reflection` feature), you don't need to point `evans` to the `.proto` files. diff --git a/tvix/store/build.rs b/snix/store/build.rs similarity index 80% rename from tvix/store/build.rs rename to snix/store/build.rs index f3ff05ffc..e79f95f2d 100644 --- a/tvix/store/build.rs +++ b/snix/store/build.rs @@ -7,7 +7,7 @@ fn main() -> Result<()> { #[cfg(feature = "tonic-reflection")] { let out_dir = std::path::PathBuf::from(std::env::var("OUT_DIR").unwrap()); - let descriptor_path = out_dir.join("tvix.store.v1.bin"); + let descriptor_path = out_dir.join("snix.store.v1.bin"); builder = builder.file_descriptor_set_path(descriptor_path); }; @@ -17,11 +17,11 @@ fn main() -> Result<()> { .build_client(true) .emit_rerun_if_changed(false) .bytes(["."]) - .extern_path(".tvix.castore.v1", "::tvix_castore::proto") + .extern_path(".snix.castore.v1", "::snix_castore::proto") .compile_protos( &[ - "tvix/store/protos/pathinfo.proto", - "tvix/store/protos/rpc_pathinfo.proto", + "snix/store/protos/pathinfo.proto", + "snix/store/protos/rpc_pathinfo.proto", ], // If we are in running `cargo build` manually, using `../..` works fine, // but in case we run inside a nix build, we need to instead point PROTO_ROOT diff --git a/tvix/store/default.nix b/snix/store/default.nix similarity index 69% rename from tvix/store/default.nix rename to snix/store/default.nix index 58749025d..912e12cc4 100644 --- a/tvix/store/default.nix +++ b/snix/store/default.nix @@ -2,17 +2,17 @@ let mkImportCheck = p: expectedPath: { - label = ":nix :import ${p} with tvix-store import"; + label = ":nix :import ${p} with snix-store import"; needsOutput = true; - command = pkgs.writeShellScript "tvix-import-check" '' + command = pkgs.writeShellScript "snix-import-check" '' export BLOB_SERVICE_ADDR=memory:// export DIRECTORY_SERVICE_ADDR=memory:// export PATH_INFO_SERVICE_ADDR=memory:// - TVIX_STORE_OUTPUT=$(result/bin/tvix-store import ${p}) - EXPECTED='${/* the vebatim expected Tvix output: */expectedPath}' + SNIX_STORE_OUTPUT=$(result/bin/snix-store import ${p}) + EXPECTED='${/* the vebatim expected Snix output: */expectedPath}' - echo "tvix-store output: ''${TVIX_STORE_OUTPUT}" - if [ "$TVIX_STORE_OUTPUT" != "$EXPECTED" ]; then + echo "snix-store output: ''${SNIX_STORE_OUTPUT}" + if [ "$SNIX_STORE_OUTPUT" != "$EXPECTED" ]; then echo "Correct would have been ''${EXPECTED}" exit 1 fi @@ -22,7 +22,7 @@ let }; in -(depot.tvix.crates.workspaceMembers.tvix-store.build.override (old: { +(depot.snix.crates.workspaceMembers.snix-store.build.override (old: { runTests = true; testPreRun = '' export SSL_CERT_FILE=/dev/null @@ -33,9 +33,9 @@ in })).overrideAttrs (old: rec { meta.ci = { targets = [ "integration-tests" ] ++ lib.filter (x: lib.hasPrefix "with-features" x || x == "no-features") (lib.attrNames passthru); - extraSteps.import-docs = (mkImportCheck "tvix/docs/src/store" ../docs/src/store); + extraSteps.import-docs = (mkImportCheck "snix/docs/src/store" ../docs/src/store); }; - passthru = old.passthru // (depot.tvix.utils.mkFeaturePowerset { + passthru = old.passthru // (depot.snix.utils.mkFeaturePowerset { inherit (old) crateName; features = ([ "cloud" "fuse" "otlp" "tonic-reflection" "xp-composition-cli" ] # virtiofs feature currently fails to build on Darwin @@ -44,7 +44,7 @@ in export SSL_CERT_FILE=/dev/null ''; }) // { - integration-tests = depot.tvix.crates.workspaceMembers.${old.crateName}.build.override (old: { + integration-tests = depot.snix.crates.workspaceMembers.${old.crateName}.build.override (old: { runTests = true; testPreRun = '' export SSL_CERT_FILE=/dev/null diff --git a/snix/store/protos/LICENSE b/snix/store/protos/LICENSE new file mode 100644 index 000000000..948502a0a --- /dev/null +++ b/snix/store/protos/LICENSE @@ -0,0 +1,22 @@ +Copyright © The Tvix Authors +Copyright © The Snix Project + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +“Software”), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/tvix/store/protos/default.nix b/snix/store/protos/default.nix similarity index 86% rename from tvix/store/protos/default.nix rename to snix/store/protos/default.nix index 005a2697e..a524bd99e 100644 --- a/tvix/store/protos/default.nix +++ b/snix/store/protos/default.nix @@ -4,8 +4,8 @@ let "buf.yaml" "buf.gen.yaml" # We need to include castore.proto (only), as it's referred. - "^tvix(/castore(/protos(/castore\.proto)?)?)?$" - "^tvix(/store(/protos(/.*\.proto)?)?)?$" + "^snix(/castore(/protos(/castore\.proto)?)?)?$" + "^snix(/store(/protos(/.*\.proto)?)?)?$" ]; in depot.nix.readTree.drvTargets { @@ -44,7 +44,7 @@ depot.nix.readTree.drvTargets { buf generate mkdir -p $out - cp tvix/store/protos/*.pb.go $out/ + cp snix/store/protos/*.pb.go $out/ ''; }; } diff --git a/tvix/store/protos/pathinfo.proto b/snix/store/protos/pathinfo.proto similarity index 95% rename from tvix/store/protos/pathinfo.proto rename to snix/store/protos/pathinfo.proto index b03e7e938..7f51746a6 100644 --- a/tvix/store/protos/pathinfo.proto +++ b/snix/store/protos/pathinfo.proto @@ -1,18 +1,19 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project syntax = "proto3"; -package tvix.store.v1; +package snix.store.v1; -import "tvix/castore/protos/castore.proto"; +import "snix/castore/protos/castore.proto"; -option go_package = "code.tvl.fyi/tvix/store-go;storev1"; +option go_package = "snix.dev/store/proto;storev1"; // PathInfo shows information about a Nix Store Path. // That's a single element inside /nix/store. message PathInfo { // The path can be a directory, file or symlink. - tvix.castore.v1.Node node = 1; + snix.castore.v1.Node node = 1; // List of references (output path hashes) // This really is the raw *bytes*, after decoding nixbase32, and not a diff --git a/tvix/store/protos/rpc_pathinfo.proto b/snix/store/protos/rpc_pathinfo.proto similarity index 90% rename from tvix/store/protos/rpc_pathinfo.proto rename to snix/store/protos/rpc_pathinfo.proto index c1c91658a..147389c8e 100644 --- a/tvix/store/protos/rpc_pathinfo.proto +++ b/snix/store/protos/rpc_pathinfo.proto @@ -1,13 +1,14 @@ // SPDX-License-Identifier: MIT // Copyright © 2022 The Tvix Authors +// Copyright © 2025 The Snix Project syntax = "proto3"; -package tvix.store.v1; +package snix.store.v1; -import "tvix/castore/protos/castore.proto"; -import "tvix/store/protos/pathinfo.proto"; +import "snix/castore/protos/castore.proto"; +import "snix/store/protos/pathinfo.proto"; -option go_package = "code.tvl.fyi/tvix/store-go;storev1"; +option go_package = "snix.dev/store/proto;storev1"; service PathInfoService { // Return a PathInfo message matching the criteria specified in the @@ -40,7 +41,7 @@ service PathInfoService { // // It can also be used to calculate arbitrary NAR hashes of output paths, in // case a legacy Nix Binary Cache frontend is provided. - rpc CalculateNAR(tvix.castore.v1.Node) returns (CalculateNARResponse); + rpc CalculateNAR(snix.castore.v1.Node) returns (CalculateNARResponse); // Return a stream of PathInfo messages matching the criteria specified in // ListPathInfoRequest. diff --git a/tvix/store/src/bin/tvix-store.rs b/snix/store/src/bin/snix-store.rs similarity index 91% rename from tvix/store/src/bin/tvix-store.rs rename to snix/store/src/bin/snix-store.rs index e16f7df1c..34ce66cd7 100644 --- a/tvix/store/src/bin/tvix-store.rs +++ b/snix/store/src/bin/snix-store.rs @@ -9,6 +9,11 @@ use nix_compat::wire::de::Error; use nix_compat::{path_info::ExportedPathInfo, store_path::StorePath}; use serde::Deserialize; use serde::Serialize; +use snix_castore::import::fs::ingest_path; +use snix_store::import::path_to_name; +use snix_store::nar::NarCalculationService; +use snix_store::utils::{ServiceUrls, ServiceUrlsGrpc}; +use snix_tracing::TracingHandle; use std::path::PathBuf; use std::sync::Arc; use tonic::transport::Server; @@ -17,33 +22,28 @@ use tower_http::classify::{GrpcCode, GrpcErrorsAsFailures, SharedClassifier}; use tower_http::trace::{DefaultMakeSpan, TraceLayer}; use tracing::{debug, info, info_span, instrument, warn, Instrument, Level, Span}; use tracing_indicatif::span_ext::IndicatifSpanExt; -use tvix_castore::import::fs::ingest_path; -use tvix_store::import::path_to_name; -use tvix_store::nar::NarCalculationService; -use tvix_store::utils::{ServiceUrls, ServiceUrlsGrpc}; -use tvix_tracing::TracingHandle; -use tvix_castore::proto::blob_service_server::BlobServiceServer; -use tvix_castore::proto::directory_service_server::DirectoryServiceServer; -use tvix_castore::proto::GRPCBlobServiceWrapper; -use tvix_castore::proto::GRPCDirectoryServiceWrapper; -use tvix_store::pathinfoservice::{PathInfo, PathInfoService}; -use tvix_store::proto::path_info_service_server::PathInfoServiceServer; -use tvix_store::proto::GRPCPathInfoServiceWrapper; +use snix_castore::proto::blob_service_server::BlobServiceServer; +use snix_castore::proto::directory_service_server::DirectoryServiceServer; +use snix_castore::proto::GRPCBlobServiceWrapper; +use snix_castore::proto::GRPCDirectoryServiceWrapper; +use snix_store::pathinfoservice::{PathInfo, PathInfoService}; +use snix_store::proto::path_info_service_server::PathInfoServiceServer; +use snix_store::proto::GRPCPathInfoServiceWrapper; #[cfg(any(feature = "fuse", feature = "virtiofs"))] -use tvix_store::pathinfoservice::make_fs; +use snix_store::pathinfoservice::make_fs; #[cfg(feature = "fuse")] -use tvix_castore::fs::fuse::FuseDaemon; +use snix_castore::fs::fuse::FuseDaemon; #[cfg(feature = "virtiofs")] -use tvix_castore::fs::virtiofs::start_virtiofs_daemon; +use snix_castore::fs::virtiofs::start_virtiofs_daemon; #[cfg(feature = "tonic-reflection")] -use tvix_castore::proto::FILE_DESCRIPTOR_SET as CASTORE_FILE_DESCRIPTOR_SET; +use snix_castore::proto::FILE_DESCRIPTOR_SET as CASTORE_FILE_DESCRIPTOR_SET; #[cfg(feature = "tonic-reflection")] -use tvix_store::proto::FILE_DESCRIPTOR_SET; +use snix_store::proto::FILE_DESCRIPTOR_SET; use mimalloc::MiMalloc; @@ -63,7 +63,7 @@ struct Cli { #[derive(Subcommand)] enum Commands { - /// Runs the tvix-store daemon. + /// Runs the snix-store daemon. Daemon { /// The address to listen on. #[clap(flatten)] @@ -81,7 +81,7 @@ enum Commands { service_addrs: ServiceUrlsGrpc, }, - /// Copies a list of store paths on the system into tvix-store. + /// Copies a list of store paths on the system into snix-store. Copy { #[clap(flatten)] service_addrs: ServiceUrlsGrpc, @@ -95,18 +95,18 @@ enum Commands { /// ```notrust /// nix path-info --json --closure-size --recursive | \ /// jq -s '{closure: add}' | \ - /// tvix-store copy - + /// snix-store copy - /// ``` /// - /// This can be used to invoke tvix-store inside a Nix derivation - /// copying to a Tvix store (or outside, if the JSON file is copied + /// This can be used to invoke snix-store inside a Nix derivation + /// copying to a Snix store (or outside, if the JSON file is copied /// out). /// /// Currently limited to the `closure` key inside that JSON file. #[arg(value_name = "NIX_ATTRS_JSON_FILE", env = "NIX_ATTRS_JSON_FILE")] reference_graph_path: PathBuf, }, - /// Mounts a tvix-store at the given mountpoint + /// Mounts a snix-store at the given mountpoint #[cfg(feature = "fuse")] Mount { #[clap(value_name = "PATH")] @@ -135,7 +135,7 @@ enum Commands { /// Whether to expose blob and directory digests as extended attributes. show_xattr: bool, }, - /// Starts a tvix-store virtiofs daemon at the given socket path. + /// Starts a snix-store virtiofs daemon at the given socket path. #[cfg(feature = "virtiofs")] #[command(name = "virtiofs")] VirtioFs { @@ -176,7 +176,7 @@ async fn run_cli( } => { // initialize stores let (blob_service, directory_service, path_info_service, nar_calculation_service) = - tvix_store::utils::construct_services(service_addrs).await?; + snix_store::utils::construct_services(service_addrs).await?; let mut server = Server::builder().layer( ServiceBuilder::new() @@ -192,7 +192,7 @@ async fn run_cli( .include_headers(true), ), ) - .map_request(tvix_tracing::propagate::tonic::accept_trace), + .map_request(snix_tracing::propagate::tonic::accept_trace), ); let (_health_reporter, health_service) = tonic_health::server::health_reporter(); @@ -250,7 +250,7 @@ async fn run_cli( } => { // FUTUREWORK: allow flat for single files? let (blob_service, directory_service, path_info_service, nar_calculation_service) = - tvix_store::utils::construct_services(service_addrs).await?; + snix_store::utils::construct_services(service_addrs).await?; // Arc NarCalculationService, as we clone it . let nar_calculation_service: Arc = @@ -272,7 +272,7 @@ async fn run_cli( info_span!("import paths", "indicatif.pb_show" = tracing::field::Empty); imports_span.pb_set_message("Importing"); imports_span.pb_set_length(paths_and_names.len() as u64); - imports_span.pb_set_style(&tvix_tracing::PB_PROGRESS_STYLE); + imports_span.pb_set_style(&snix_tracing::PB_PROGRESS_STYLE); imports_span.pb_start(); futures::stream::iter(paths_and_names) @@ -286,7 +286,7 @@ async fn run_cli( async move { let span = Span::current(); - span.pb_set_style(&tvix_tracing::PB_SPINNER_STYLE); + span.pb_set_style(&snix_tracing::PB_SPINNER_STYLE); span.pb_set_message(&format!("Ingesting {:?}", path)); span.pb_start(); @@ -361,7 +361,7 @@ async fn run_cli( reference_graph_path, } => { let (blob_service, directory_service, path_info_service, _nar_calculation_service) = - tvix_store::utils::construct_services(service_addrs).await?; + snix_store::utils::construct_services(service_addrs).await?; // Parse the file at reference_graph_path. let reference_graph_json = if reference_graph_path == PathBuf::from("-") { let mut writer: Vec = vec![]; @@ -385,7 +385,7 @@ async fn run_cli( "indicatif.pb_show" = tracing::field::Empty ); lookups_span.pb_set_length(reference_graph.closure.len() as u64); - lookups_span.pb_set_style(&tvix_tracing::PB_PROGRESS_STYLE); + lookups_span.pb_set_style(&snix_tracing::PB_PROGRESS_STYLE); lookups_span.pb_start(); // From our reference graph, lookup all pathinfos that might exist. @@ -467,7 +467,7 @@ async fn run_cli( show_xattr, } => { let (blob_service, directory_service, path_info_service, _nar_calculation_service) = - tvix_store::utils::construct_services(service_addrs).await?; + snix_store::utils::construct_services(service_addrs).await?; let fuse_daemon = tokio::task::spawn_blocking(move || { let fs = make_fs( @@ -508,7 +508,7 @@ async fn run_cli( show_xattr, } => { let (blob_service, directory_service, path_info_service, _nar_calculation_service) = - tvix_store::utils::construct_services(service_addrs).await?; + snix_store::utils::construct_services(service_addrs).await?; tokio::task::spawn_blocking(move || { let fs = make_fs( @@ -533,12 +533,12 @@ async fn main() -> Result<(), Box> { let cli = Cli::parse(); let tracing_handle = { - let mut builder = tvix_tracing::TracingBuilder::default(); + let mut builder = snix_tracing::TracingBuilder::default(); builder = builder.enable_progressbar(); #[cfg(feature = "otlp")] { if cli.otlp { - builder = builder.enable_otlp("tvix.store"); + builder = builder.enable_otlp("snix.store"); } } builder.build()? diff --git a/tvix/store/src/composition.rs b/snix/store/src/composition.rs similarity index 68% rename from tvix/store/src/composition.rs rename to snix/store/src/composition.rs index ce35cc2fc..b3ccdcf18 100644 --- a/tvix/store/src/composition.rs +++ b/snix/store/src/composition.rs @@ -2,15 +2,15 @@ //! Services, as well as the [add_default_services] helper to seed new //! registries with everything known here. //! The composition machinery itself is defined in -//! [tvix_castore::composition], which works generically with different kinds +//! [snix_castore::composition], which works generically with different kinds //! of services. use std::sync::LazyLock; -use tvix_castore::composition::Registry; +use snix_castore::composition::Registry; -/// The provided registry of tvix_store, which has all the builtin -/// tvix_castore (BlobStore/DirectoryStore) and tvix_store +/// The provided registry of snix_store, which has all the builtin +/// snix_castore (BlobStore/DirectoryStore) and snix_store /// (PathInfoService) implementations. pub static REG: LazyLock<&'static Registry> = LazyLock::new(|| { let mut reg = Default::default(); @@ -19,12 +19,12 @@ pub static REG: LazyLock<&'static Registry> = LazyLock::new(|| { Box::leak(Box::new(reg)) }); -/// Register the builtin services of tvix_castore (blob services and directory -/// services), as well as the ones from tvix_store (PathInfo service) with the +/// Register the builtin services of snix_castore (blob services and directory +/// services), as well as the ones from snix_store (PathInfo service) with the /// given registry. /// This can be used outside to create your own registry with the builtin types /// _and_ extra third party types. pub fn add_default_services(reg: &mut Registry) { - tvix_castore::composition::add_default_services(reg); + snix_castore::composition::add_default_services(reg); crate::pathinfoservice::register_pathinfo_services(reg); } diff --git a/tvix/store/src/fixtures.rs b/snix/store/src/fixtures.rs similarity index 98% rename from tvix/store/src/fixtures.rs rename to snix/store/src/fixtures.rs index c861f2c65..983621ad5 100644 --- a/tvix/store/src/fixtures.rs +++ b/snix/store/src/fixtures.rs @@ -2,11 +2,11 @@ use crate::pathinfoservice::PathInfo; use md5::Digest; use nix_compat::nixhash::{CAHash, NixHash}; use nix_compat::store_path::StorePath; -use std::sync::LazyLock; -use tvix_castore::fixtures::{ +use snix_castore::fixtures::{ DIRECTORY_COMPLICATED, DUMMY_DIGEST, HELLOWORLD_BLOB_CONTENTS, HELLOWORLD_BLOB_DIGEST, }; -use tvix_castore::Node; +use snix_castore::Node; +use std::sync::LazyLock; pub const DUMMY_PATH_STR: &str = "00000000000000000000000000000000-dummy"; pub const DUMMY_PATH_DIGEST: [u8; 20] = [0; 20]; @@ -130,7 +130,7 @@ pub const NAR_CONTENTS_COMPLICATED: [u8; 840] = [ /// A PathInfo message pub static PATH_INFO: LazyLock = LazyLock::new(|| PathInfo { store_path: DUMMY_PATH.clone(), - node: tvix_castore::Node::Directory { + node: snix_castore::Node::Directory { digest: DUMMY_DIGEST.clone(), size: 0, }, diff --git a/tvix/store/src/import.rs b/snix/store/src/import.rs similarity index 99% rename from tvix/store/src/import.rs rename to snix/store/src/import.rs index 4c1bd51ee..be3041127 100644 --- a/tvix/store/src/import.rs +++ b/snix/store/src/import.rs @@ -1,9 +1,9 @@ use bstr::ByteSlice; -use std::path::Path; -use tracing::{debug, instrument}; -use tvix_castore::{ +use snix_castore::{ blobservice::BlobService, directoryservice::DirectoryService, import::fs::ingest_path, Node, }; +use std::path::Path; +use tracing::{debug, instrument}; use nix_compat::{ nixhash::{CAHash, NixHash}, diff --git a/tvix/store/src/lib.rs b/snix/store/src/lib.rs similarity index 100% rename from tvix/store/src/lib.rs rename to snix/store/src/lib.rs diff --git a/tvix/store/src/nar/hashing_reader.rs b/snix/store/src/nar/hashing_reader.rs similarity index 96% rename from tvix/store/src/nar/hashing_reader.rs rename to snix/store/src/nar/hashing_reader.rs index feb90e8d3..a049439a5 100644 --- a/tvix/store/src/nar/hashing_reader.rs +++ b/snix/store/src/nar/hashing_reader.rs @@ -39,27 +39,27 @@ trait ToHash: DynDigest + Send { impl ToHash for sha1::Sha1 { fn consume(self: Box) -> NixHash { - NixHash::Sha1(self.finalize().to_vec().try_into().expect("Tvix bug")) + NixHash::Sha1(self.finalize().to_vec().try_into().expect("Snix bug")) } } impl ToHash for sha2::Sha256 { fn consume(self: Box) -> NixHash { - NixHash::Sha256(self.finalize().to_vec().try_into().expect("Tvix bug")) + NixHash::Sha256(self.finalize().to_vec().try_into().expect("Snix bug")) } } impl ToHash for sha2::Sha512 { fn consume(self: Box) -> NixHash { NixHash::Sha512(Box::new( - self.finalize().to_vec().try_into().expect("Tvix bug"), + self.finalize().to_vec().try_into().expect("Snix bug"), )) } } impl ToHash for md5::Md5 { fn consume(self: Box) -> NixHash { - NixHash::Md5(self.finalize().to_vec().try_into().expect("Tvix bug")) + NixHash::Md5(self.finalize().to_vec().try_into().expect("Snix bug")) } } diff --git a/tvix/store/src/nar/import.rs b/snix/store/src/nar/import.rs similarity index 98% rename from tvix/store/src/nar/import.rs rename to snix/store/src/nar/import.rs index 994b2ac67..4ff9ca21f 100644 --- a/tvix/store/src/nar/import.rs +++ b/snix/store/src/nar/import.rs @@ -3,12 +3,7 @@ use nix_compat::{ nixhash::{CAHash, NixHash}, }; use sha2::Digest; -use tokio::{ - io::{AsyncBufRead, AsyncRead}, - sync::mpsc, - try_join, -}; -use tvix_castore::{ +use snix_castore::{ blobservice::BlobService, directoryservice::DirectoryService, import::{ @@ -17,6 +12,11 @@ use tvix_castore::{ }, Node, PathBuf, }; +use tokio::{ + io::{AsyncBufRead, AsyncRead}, + sync::mpsc, + try_join, +}; use super::hashing_reader::HashingReader; @@ -36,7 +36,7 @@ pub enum NarIngestionError { Io(#[from] std::io::Error), } -/// Ingests the contents from a [AsyncRead] providing NAR into the tvix store, +/// Ingests the contents from a [AsyncRead] providing NAR into the snix store, /// interacting with a [BlobService] and [DirectoryService]. /// Returns the castore root node, as well as the sha256 and size of the NAR /// contents ingested. @@ -116,7 +116,7 @@ where } } -/// Ingests the contents from a [AsyncRead] providing NAR into the tvix store, +/// Ingests the contents from a [AsyncRead] providing NAR into the snix store, /// interacting with a [BlobService] and [DirectoryService]. /// It returns the castore root node or an error. pub async fn ingest_nar( @@ -198,7 +198,7 @@ where // valid NAR names are valid castore names path.try_push(entry.name) - .expect("Tvix bug: failed to join name"); + .expect("Snix bug: failed to join name"); let entry = Box::pin(produce_nar_inner( blob_uploader, @@ -239,14 +239,14 @@ mod test { use hex_literal::hex; use nix_compat::nixhash::{CAHash, NixHash}; use rstest::*; - use tokio_stream::StreamExt; - use tvix_castore::blobservice::BlobService; - use tvix_castore::directoryservice::DirectoryService; - use tvix_castore::fixtures::{ + use snix_castore::blobservice::BlobService; + use snix_castore::directoryservice::DirectoryService; + use snix_castore::fixtures::{ DIRECTORY_COMPLICATED, DIRECTORY_WITH_KEEP, EMPTY_BLOB_DIGEST, HELLOWORLD_BLOB_CONTENTS, HELLOWORLD_BLOB_DIGEST, }; - use tvix_castore::{Directory, Node}; + use snix_castore::{Directory, Node}; + use tokio_stream::StreamExt; use crate::tests::fixtures::{blob_service, directory_service}; diff --git a/tvix/store/src/nar/mod.rs b/snix/store/src/nar/mod.rs similarity index 89% rename from tvix/store/src/nar/mod.rs rename to snix/store/src/nar/mod.rs index 4bf60ba44..f22b7b26c 100644 --- a/tvix/store/src/nar/mod.rs +++ b/snix/store/src/nar/mod.rs @@ -1,5 +1,5 @@ +use snix_castore::B3Digest; use tonic::async_trait; -use tvix_castore::B3Digest; mod hashing_reader; mod import; @@ -9,14 +9,14 @@ pub use import::{ingest_nar, ingest_nar_and_hash, NarIngestionError}; pub use renderer::calculate_size_and_sha256; pub use renderer::write_nar; pub use renderer::SimpleRenderer; -use tvix_castore::Node; +use snix_castore::Node; #[async_trait] pub trait NarCalculationService: Send + Sync { /// Return the nar size and nar sha256 digest for a given root node. /// This can be used to calculate NAR-based output paths. async fn calculate_nar(&self, root_node: &Node) - -> Result<(u64, [u8; 32]), tvix_castore::Error>; + -> Result<(u64, [u8; 32]), snix_castore::Error>; } #[async_trait] @@ -27,7 +27,7 @@ where async fn calculate_nar( &self, root_node: &Node, - ) -> Result<(u64, [u8; 32]), tvix_castore::Error> { + ) -> Result<(u64, [u8; 32]), snix_castore::Error> { self.as_ref().calculate_nar(root_node).await } } diff --git a/tvix/store/src/nar/renderer.rs b/snix/store/src/nar/renderer.rs similarity index 97% rename from tvix/store/src/nar/renderer.rs rename to snix/store/src/nar/renderer.rs index 07cdc4b1e..fdaa20726 100644 --- a/tvix/store/src/nar/renderer.rs +++ b/snix/store/src/nar/renderer.rs @@ -4,10 +4,10 @@ use super::{NarCalculationService, RenderError}; use count_write::CountWrite; use nix_compat::nar::writer::r#async as nar_writer; use sha2::{Digest, Sha256}; +use snix_castore::{blobservice::BlobService, directoryservice::DirectoryService, Node}; use tokio::io::{self, AsyncWrite, BufReader}; use tonic::async_trait; use tracing::instrument; -use tvix_castore::{blobservice::BlobService, directoryservice::DirectoryService, Node}; pub struct SimpleRenderer { blob_service: BS, @@ -32,14 +32,14 @@ where async fn calculate_nar( &self, root_node: &Node, - ) -> Result<(u64, [u8; 32]), tvix_castore::Error> { + ) -> Result<(u64, [u8; 32]), snix_castore::Error> { calculate_size_and_sha256( root_node, self.blob_service.clone(), self.directory_service.clone(), ) .await - .map_err(|e| tvix_castore::Error::StorageError(format!("failed rendering nar: {}", e))) + .map_err(|e| snix_castore::Error::StorageError(format!("failed rendering nar: {}", e))) } } diff --git a/tvix/store/src/nar/seekable.rs b/snix/store/src/nar/seekable.rs similarity index 97% rename from tvix/store/src/nar/seekable.rs rename to snix/store/src/nar/seekable.rs index 951c1dfc0..7124093e7 100644 --- a/tvix/store/src/nar/seekable.rs +++ b/snix/store/src/nar/seekable.rs @@ -11,12 +11,12 @@ use super::RenderError; use bytes::{BufMut, Bytes}; use nix_compat::nar::writer::sync as nar_writer; -use tvix_castore::blobservice::{BlobReader, BlobService}; -use tvix_castore::directoryservice::{ +use snix_castore::blobservice::{BlobReader, BlobService}; +use snix_castore::directoryservice::{ DirectoryGraph, DirectoryService, RootToLeavesValidator, ValidatedDirectoryGraph, }; -use tvix_castore::Directory; -use tvix_castore::{B3Digest, Node}; +use snix_castore::Directory; +use snix_castore::{B3Digest, Node}; use futures::future::{BoxFuture, FusedFuture, TryMaybeDone}; use futures::FutureExt; @@ -75,12 +75,12 @@ fn walk_node( nar_node: nar_writer::Node<'_, Vec>, ) -> Result<(), RenderError> { match node { - tvix_castore::Node::Symlink { target } => { + snix_castore::Node::Symlink { target } => { nar_node .symlink(target.as_ref()) .map_err(RenderError::NARWriterError)?; } - tvix_castore::Node::File { + snix_castore::Node::File { digest, size, executable, @@ -104,7 +104,7 @@ fn walk_node( skip.close(cur_segment) .map_err(RenderError::NARWriterError)?; } - tvix_castore::Node::Directory { digest, .. } => { + snix_castore::Node::Directory { digest, .. } => { let directory = get_directory(&digest); // start a directory node @@ -157,12 +157,12 @@ impl Reader { { closure.add(dir).map_err(|e| { RenderError::StoreError( - tvix_castore::Error::StorageError(e.to_string()).into(), + snix_castore::Error::StorageError(e.to_string()).into(), ) })?; } Some(closure.validate().map_err(|e| { - RenderError::StoreError(tvix_castore::Error::StorageError(e.to_string()).into()) + RenderError::StoreError(snix_castore::Error::StorageError(e.to_string()).into()) })?) } // If the top-level node is a file or a symlink, just pass it on diff --git a/tvix/store/src/path_info.rs b/snix/store/src/path_info.rs similarity index 96% rename from tvix/store/src/path_info.rs rename to snix/store/src/path_info.rs index 487261b4b..fda4420d0 100644 --- a/tvix/store/src/path_info.rs +++ b/snix/store/src/path_info.rs @@ -8,14 +8,14 @@ use nix_compat::{ /// /// This is somewhat equivalent to the information Nix holds in its SQLite /// database, or publishes as .narinfo files, except we also embed the -/// [tvix_castore::Node] describing the contents in the castore model. +/// [snix_castore::Node] describing the contents in the castore model. #[derive(Debug, Clone, PartialEq, Eq)] pub struct PathInfo { /// The store path this is about. pub store_path: StorePath, - /// The contents in the tvix-castore model. + /// The contents in the snix-castore model. //// Can be a directory, file or symlink. - pub node: tvix_castore::Node, + pub node: snix_castore::Node, /// A list of references. pub references: Vec>, /// The size of the NAR representation of the contents, in bytes. diff --git a/tvix/store/src/pathinfoservice/bigtable.rs b/snix/store/src/pathinfoservice/bigtable.rs similarity index 99% rename from tvix/store/src/pathinfoservice/bigtable.rs rename to snix/store/src/pathinfoservice/bigtable.rs index ba2495390..36a0ace5a 100644 --- a/tvix/store/src/pathinfoservice/bigtable.rs +++ b/snix/store/src/pathinfoservice/bigtable.rs @@ -9,11 +9,11 @@ use nix_compat::nixbase32; use prost::Message; use serde::{Deserialize, Serialize}; use serde_with::{serde_as, DurationSeconds}; +use snix_castore::composition::{CompositionContext, ServiceBuilder}; +use snix_castore::Error; use std::sync::Arc; use tonic::async_trait; use tracing::{instrument, trace, warn, Span}; -use tvix_castore::composition::{CompositionContext, ServiceBuilder}; -use tvix_castore::Error; /// There should not be more than 10 MiB in a single cell. /// https://cloud.google.com/bigtable/docs/schema-design#cells diff --git a/tvix/store/src/pathinfoservice/cache.rs b/snix/store/src/pathinfoservice/cache.rs similarity index 98% rename from tvix/store/src/pathinfoservice/cache.rs rename to snix/store/src/pathinfoservice/cache.rs index e24d4f932..d361d3904 100644 --- a/tvix/store/src/pathinfoservice/cache.rs +++ b/snix/store/src/pathinfoservice/cache.rs @@ -2,10 +2,10 @@ use std::sync::Arc; use futures::stream::BoxStream; use nix_compat::nixbase32; +use snix_castore::composition::{CompositionContext, ServiceBuilder}; +use snix_castore::Error; use tonic::async_trait; use tracing::{debug, instrument}; -use tvix_castore::composition::{CompositionContext, ServiceBuilder}; -use tvix_castore::Error; use super::{PathInfo, PathInfoService}; diff --git a/tvix/store/src/pathinfoservice/from_addr.rs b/snix/store/src/pathinfoservice/from_addr.rs similarity index 93% rename from tvix/store/src/pathinfoservice/from_addr.rs rename to snix/store/src/pathinfoservice/from_addr.rs index 9115ca96e..5dd88798c 100644 --- a/tvix/store/src/pathinfoservice/from_addr.rs +++ b/snix/store/src/pathinfoservice/from_addr.rs @@ -1,11 +1,11 @@ use super::PathInfoService; use crate::composition::REG; -use std::sync::Arc; -use tvix_castore::composition::{ +use snix_castore::composition::{ with_registry, CompositionContext, DeserializeWithRegistry, ServiceBuilder, }; -use tvix_castore::Error; +use snix_castore::Error; +use std::sync::Arc; use url::Url; /// Constructs a new instance of a [PathInfoService] from an URI. @@ -24,12 +24,12 @@ use url::Url; /// The `trusted-public-keys` URL parameter can be provided, which will then /// enable signature verification. /// - `grpc+unix:///absolute/path/to/somewhere` -/// Connects to a local tvix-store gRPC service via Unix socket. +/// Connects to a local snix-store gRPC service via Unix socket. /// - `grpc+http://host:port`, `grpc+https://host:port` -/// Connects to a (remote) tvix-store gRPC service. +/// Connects to a (remote) snix-store gRPC service. /// -/// As the [PathInfoService] needs to talk to [tvix_castore::blobservice::BlobService] and -/// [tvix_castore::directoryservice::DirectoryService], these also need to be passed in. +/// As the [PathInfoService] needs to talk to [snix_castore::blobservice::BlobService] and +/// [snix_castore::directoryservice::DirectoryService], these also need to be passed in. pub async fn from_addr( uri: &str, context: Option<&CompositionContext<'_>>, @@ -59,11 +59,11 @@ mod tests { use super::from_addr; use crate::composition::REG; use rstest::rstest; + use snix_castore::blobservice::{BlobService, MemoryBlobServiceConfig}; + use snix_castore::composition::{Composition, DeserializeWithRegistry, ServiceBuilder}; + use snix_castore::directoryservice::{DirectoryService, MemoryDirectoryServiceConfig}; use std::sync::LazyLock; use tempfile::TempDir; - use tvix_castore::blobservice::{BlobService, MemoryBlobServiceConfig}; - use tvix_castore::composition::{Composition, DeserializeWithRegistry, ServiceBuilder}; - use tvix_castore::directoryservice::{DirectoryService, MemoryDirectoryServiceConfig}; static TMPDIR_REDB_1: LazyLock = LazyLock::new(|| TempDir::new().unwrap()); static TMPDIR_REDB_2: LazyLock = LazyLock::new(|| TempDir::new().unwrap()); diff --git a/tvix/store/src/pathinfoservice/fs/mod.rs b/snix/store/src/pathinfoservice/fs/mod.rs similarity index 81% rename from tvix/store/src/pathinfoservice/fs/mod.rs rename to snix/store/src/pathinfoservice/fs/mod.rs index ea30a2f64..6714f4877 100644 --- a/tvix/store/src/pathinfoservice/fs/mod.rs +++ b/snix/store/src/pathinfoservice/fs/mod.rs @@ -1,30 +1,30 @@ use futures::stream::BoxStream; use futures::StreamExt; use nix_compat::store_path::StorePathRef; +use snix_castore::fs::{RootNodes, SnixStoreFs}; +use snix_castore::{blobservice::BlobService, directoryservice::DirectoryService}; +use snix_castore::{Error, Node, PathComponent}; use tonic::async_trait; -use tvix_castore::fs::{RootNodes, TvixStoreFs}; -use tvix_castore::{blobservice::BlobService, directoryservice::DirectoryService}; -use tvix_castore::{Error, Node, PathComponent}; use super::PathInfoService; -/// Helper to construct a [TvixStoreFs] from a [BlobService], [DirectoryService] +/// Helper to construct a [SnixStoreFs] from a [BlobService], [DirectoryService] /// and [PathInfoService]. /// This avoids users to have to interact with the wrapper struct directly, as -/// it leaks into the type signature of TvixStoreFS. +/// it leaks into the type signature of SnixStoreFS. pub fn make_fs( blob_service: BS, directory_service: DS, path_info_service: PS, list_root: bool, show_xattr: bool, -) -> TvixStoreFs> +) -> SnixStoreFs> where BS: BlobService + Send + Clone + 'static, DS: DirectoryService + Send + Clone + 'static, PS: PathInfoService + Send + Sync + Clone + 'static, { - TvixStoreFs::new( + SnixStoreFs::new( blob_service, directory_service, RootNodesWrapper(path_info_service), @@ -34,7 +34,7 @@ where } /// Wrapper to satisfy Rust's orphan rules for trait implementations, as -/// RootNodes is coming from the [tvix-castore] crate. +/// RootNodes is coming from the [snix-castore] crate. #[doc(hidden)] #[derive(Clone, Debug)] pub struct RootNodesWrapper(pub(crate) T); @@ -68,7 +68,7 @@ where basename .as_str() .try_into() - .expect("Tvix bug: StorePath must be PathComponent"), + .expect("Snix bug: StorePath must be PathComponent"), path_info.node, ) }) diff --git a/tvix/store/src/pathinfoservice/grpc.rs b/snix/store/src/pathinfoservice/grpc.rs similarity index 95% rename from tvix/store/src/pathinfoservice/grpc.rs rename to snix/store/src/pathinfoservice/grpc.rs index 044db6641..8f3d53602 100644 --- a/tvix/store/src/pathinfoservice/grpc.rs +++ b/snix/store/src/pathinfoservice/grpc.rs @@ -6,15 +6,15 @@ use crate::{ use async_stream::try_stream; use futures::stream::BoxStream; use nix_compat::nixbase32; +use snix_castore::composition::{CompositionContext, ServiceBuilder}; +use snix_castore::Error; +use snix_castore::Node; use std::sync::Arc; use tonic::{async_trait, Code}; use tracing::{instrument, warn, Span}; use tracing_indicatif::span_ext::IndicatifSpanExt; -use tvix_castore::composition::{CompositionContext, ServiceBuilder}; -use tvix_castore::Error; -use tvix_castore::Node; -/// Connects to a (remote) tvix-store PathInfoService over gRPC. +/// Connects to a (remote) snix-store PathInfoService over gRPC. #[derive(Clone)] pub struct GRPCPathInfoService { instance_name: String, @@ -128,7 +128,7 @@ where let path_info = self .grpc_client .clone() - .calculate_nar(tvix_castore::proto::Node::from_name_and_node( + .calculate_nar(snix_castore::proto::Node::from_name_and_node( "".into(), root_node.to_owned(), )) @@ -158,7 +158,7 @@ impl TryFrom for GRPCPathInfoServiceConfig { // normally grpc+unix for unix sockets, and grpc+http(s) for the HTTP counterparts. // - In the case of unix sockets, there must be a path, but may not be a host. // - In the case of non-unix sockets, there must be a host, but no path. - // Constructing the channel is handled by tvix_castore::channel::from_url. + // Constructing the channel is handled by snix_castore::channel::from_url. Ok(GRPCPathInfoServiceConfig { url: url.to_string(), }) @@ -174,7 +174,7 @@ impl ServiceBuilder for GRPCPathInfoServiceConfig { _context: &CompositionContext, ) -> Result, Box> { let client = proto::path_info_service_client::PathInfoServiceClient::new( - tvix_castore::tonic::channel_from_url(&self.url.parse()?).await?, + snix_castore::tonic::channel_from_url(&self.url.parse()?).await?, ); Ok(Arc::new(GRPCPathInfoService::from_client( instance_name.to_string(), diff --git a/tvix/store/src/pathinfoservice/lru.rs b/snix/store/src/pathinfoservice/lru.rs similarity index 97% rename from tvix/store/src/pathinfoservice/lru.rs rename to snix/store/src/pathinfoservice/lru.rs index f07f504b9..6dd8503b5 100644 --- a/tvix/store/src/pathinfoservice/lru.rs +++ b/snix/store/src/pathinfoservice/lru.rs @@ -8,8 +8,8 @@ use tokio::sync::RwLock; use tonic::async_trait; use tracing::instrument; -use tvix_castore::composition::{CompositionContext, ServiceBuilder}; -use tvix_castore::Error; +use snix_castore::composition::{CompositionContext, ServiceBuilder}; +use snix_castore::Error; use super::{PathInfo, PathInfoService}; diff --git a/tvix/store/src/pathinfoservice/memory.rs b/snix/store/src/pathinfoservice/memory.rs similarity index 96% rename from tvix/store/src/pathinfoservice/memory.rs rename to snix/store/src/pathinfoservice/memory.rs index 88a8a379f..11e2cf91f 100644 --- a/tvix/store/src/pathinfoservice/memory.rs +++ b/snix/store/src/pathinfoservice/memory.rs @@ -2,12 +2,12 @@ use super::{PathInfo, PathInfoService}; use async_stream::try_stream; use futures::stream::BoxStream; use nix_compat::nixbase32; +use snix_castore::composition::{CompositionContext, ServiceBuilder}; +use snix_castore::Error; use std::{collections::HashMap, sync::Arc}; use tokio::sync::RwLock; use tonic::async_trait; use tracing::instrument; -use tvix_castore::composition::{CompositionContext, ServiceBuilder}; -use tvix_castore::Error; #[derive(Default)] pub struct MemoryPathInfoService { diff --git a/tvix/store/src/pathinfoservice/mod.rs b/snix/store/src/pathinfoservice/mod.rs similarity index 97% rename from tvix/store/src/pathinfoservice/mod.rs rename to snix/store/src/pathinfoservice/mod.rs index e64f1e2fc..d3eb935dc 100644 --- a/tvix/store/src/pathinfoservice/mod.rs +++ b/snix/store/src/pathinfoservice/mod.rs @@ -15,9 +15,9 @@ mod tests; use auto_impl::auto_impl; use futures::stream::BoxStream; +use snix_castore::composition::{Registry, ServiceBuilder}; +use snix_castore::Error; use tonic::async_trait; -use tvix_castore::composition::{Registry, ServiceBuilder}; -use tvix_castore::Error; use crate::nar::NarCalculationService; pub use crate::path_info::PathInfo; diff --git a/tvix/store/src/pathinfoservice/nix_http.rs b/snix/store/src/pathinfoservice/nix_http.rs similarity index 98% rename from tvix/store/src/pathinfoservice/nix_http.rs rename to snix/store/src/pathinfoservice/nix_http.rs index a9e3e4b36..b54e5e31d 100644 --- a/tvix/store/src/pathinfoservice/nix_http.rs +++ b/snix/store/src/pathinfoservice/nix_http.rs @@ -8,16 +8,16 @@ use nix_compat::{ store_path::StorePath, }; use reqwest::StatusCode; +use snix_castore::composition::{CompositionContext, ServiceBuilder}; +use snix_castore::{blobservice::BlobService, directoryservice::DirectoryService, Error}; use std::sync::Arc; use tokio::io::{self, AsyncRead}; use tonic::async_trait; use tracing::{debug, instrument, warn}; -use tvix_castore::composition::{CompositionContext, ServiceBuilder}; -use tvix_castore::{blobservice::BlobService, directoryservice::DirectoryService, Error}; use url::Url; /// NixHTTPPathInfoService acts as a bridge in between the Nix HTTP Binary cache -/// protocol provided by Nix binary caches such as cache.nixos.org, and the Tvix +/// protocol provided by Nix binary caches such as cache.nixos.org, and the Snix /// Store Model. /// It implements the [PathInfoService] trait in an interesting way: /// Every [PathInfoService::get] fetches the .narinfo and referred NAR file, @@ -60,7 +60,7 @@ impl NixHTTPPathInfoService { .build() .expect("Client::new()"), ) - .with(tvix_tracing::propagate::reqwest::tracing_middleware()) + .with(snix_tracing::propagate::reqwest::tracing_middleware()) .build(), blob_service, directory_service, diff --git a/tvix/store/src/pathinfoservice/redb.rs b/snix/store/src/pathinfoservice/redb.rs similarity index 99% rename from tvix/store/src/pathinfoservice/redb.rs rename to snix/store/src/pathinfoservice/redb.rs index 8dc3083f3..0f983a3bf 100644 --- a/tvix/store/src/pathinfoservice/redb.rs +++ b/snix/store/src/pathinfoservice/redb.rs @@ -4,14 +4,14 @@ use data_encoding::BASE64; use futures::{stream::BoxStream, StreamExt}; use prost::Message; use redb::{Database, ReadableTable, TableDefinition}; +use snix_castore::{ + composition::{CompositionContext, ServiceBuilder}, + Error, +}; use std::{path::PathBuf, sync::Arc}; use tokio_stream::wrappers::ReceiverStream; use tonic::async_trait; use tracing::{instrument, warn}; -use tvix_castore::{ - composition::{CompositionContext, ServiceBuilder}, - Error, -}; const PATHINFO_TABLE: TableDefinition<[u8; 20], Vec> = TableDefinition::new("pathinfo"); diff --git a/tvix/store/src/pathinfoservice/signing_wrapper.rs b/snix/store/src/pathinfoservice/signing_wrapper.rs similarity index 96% rename from tvix/store/src/pathinfoservice/signing_wrapper.rs rename to snix/store/src/pathinfoservice/signing_wrapper.rs index a645dfd2a..44c595e50 100644 --- a/tvix/store/src/pathinfoservice/signing_wrapper.rs +++ b/snix/store/src/pathinfoservice/signing_wrapper.rs @@ -6,9 +6,9 @@ use std::path::PathBuf; use std::sync::Arc; use tonic::async_trait; -use tvix_castore::composition::{CompositionContext, ServiceBuilder}; +use snix_castore::composition::{CompositionContext, ServiceBuilder}; -use tvix_castore::Error; +use snix_castore::Error; use nix_compat::narinfo::{parse_keypair, Signature, SigningKey}; use nix_compat::nixbase32; @@ -64,10 +64,10 @@ where let s = nar_info .signatures .pop() - .expect("Tvix bug: no signature after signing op"); + .expect("Snix bug: no signature after signing op"); debug_assert!( nar_info.signatures.is_empty(), - "Tvix bug: more than one signature appeared" + "Snix bug: more than one signature appeared" ); Signature::new(s.name().to_string(), *s.bytes()) diff --git a/tvix/store/src/pathinfoservice/tests/mod.rs b/snix/store/src/pathinfoservice/tests/mod.rs similarity index 100% rename from tvix/store/src/pathinfoservice/tests/mod.rs rename to snix/store/src/pathinfoservice/tests/mod.rs diff --git a/tvix/store/src/pathinfoservice/tests/utils.rs b/snix/store/src/pathinfoservice/tests/utils.rs similarity index 97% rename from tvix/store/src/pathinfoservice/tests/utils.rs rename to snix/store/src/pathinfoservice/tests/utils.rs index 3b0684841..f39237807 100644 --- a/tvix/store/src/pathinfoservice/tests/utils.rs +++ b/snix/store/src/pathinfoservice/tests/utils.rs @@ -1,8 +1,8 @@ use std::sync::Arc; use hyper_util::rt::TokioIo; +use snix_castore::{blobservice::BlobService, directoryservice::DirectoryService}; use tonic::transport::{Endpoint, Server, Uri}; -use tvix_castore::{blobservice::BlobService, directoryservice::DirectoryService}; use crate::{ nar::{NarCalculationService, SimpleRenderer}, diff --git a/tvix/store/src/proto/grpc_pathinfoservice_wrapper.rs b/snix/store/src/proto/grpc_pathinfoservice_wrapper.rs similarity index 99% rename from tvix/store/src/proto/grpc_pathinfoservice_wrapper.rs rename to snix/store/src/proto/grpc_pathinfoservice_wrapper.rs index 4325e79d5..05697df95 100644 --- a/tvix/store/src/proto/grpc_pathinfoservice_wrapper.rs +++ b/snix/store/src/proto/grpc_pathinfoservice_wrapper.rs @@ -2,10 +2,10 @@ use crate::nar::{NarCalculationService, RenderError}; use crate::pathinfoservice::{PathInfo, PathInfoService}; use crate::proto; use futures::{stream::BoxStream, TryStreamExt}; +use snix_castore::proto as castorepb; use std::ops::Deref; use tonic::{async_trait, Request, Response, Result, Status}; use tracing::{instrument, warn}; -use tvix_castore::proto as castorepb; pub struct GRPCPathInfoServiceWrapper { path_info_service: PS, diff --git a/tvix/store/src/proto/mod.rs b/snix/store/src/proto/mod.rs similarity index 98% rename from tvix/store/src/proto/mod.rs rename to snix/store/src/proto/mod.rs index 2ff4f3e57..b9e3fa100 100644 --- a/tvix/store/src/proto/mod.rs +++ b/snix/store/src/proto/mod.rs @@ -8,22 +8,22 @@ use nix_compat::{ nixhash::{CAHash, NixHash}, store_path::{self, StorePathRef}, }; +use snix_castore::DirectoryError; use thiserror::Error; -use tvix_castore::DirectoryError; mod grpc_pathinfoservice_wrapper; pub use grpc_pathinfoservice_wrapper::GRPCPathInfoServiceWrapper; -tonic::include_proto!("tvix.store.v1"); +tonic::include_proto!("snix.store.v1"); -use tvix_castore::proto as castorepb; +use snix_castore::proto as castorepb; #[cfg(feature = "tonic-reflection")] /// Compiled file descriptors for implementing [gRPC /// reflection](https://github.com/grpc/grpc/blob/master/doc/server-reflection.md) with e.g. /// [`tonic_reflection`](https://docs.rs/tonic-reflection). -pub const FILE_DESCRIPTOR_SET: &[u8] = tonic::include_file_descriptor_set!("tvix.store.v1"); +pub const FILE_DESCRIPTOR_SET: &[u8] = tonic::include_file_descriptor_set!("snix.store.v1"); #[cfg(test)] mod tests; diff --git a/tvix/store/src/proto/tests/mod.rs b/snix/store/src/proto/tests/mod.rs similarity index 100% rename from tvix/store/src/proto/tests/mod.rs rename to snix/store/src/proto/tests/mod.rs diff --git a/tvix/store/src/proto/tests/pathinfo.rs b/snix/store/src/proto/tests/pathinfo.rs similarity index 98% rename from tvix/store/src/proto/tests/pathinfo.rs rename to snix/store/src/proto/tests/pathinfo.rs index a16aefe82..f246eb5fb 100644 --- a/tvix/store/src/proto/tests/pathinfo.rs +++ b/snix/store/src/proto/tests/pathinfo.rs @@ -6,9 +6,9 @@ use crate::proto::{self, ValidatePathInfoError}; use bytes::Bytes; use nix_compat::store_path; use rstest::rstest; -use tvix_castore::fixtures::DUMMY_DIGEST; -use tvix_castore::proto as castorepb; -use tvix_castore::{DirectoryError, ValidateNodeError}; +use snix_castore::fixtures::DUMMY_DIGEST; +use snix_castore::proto as castorepb; +use snix_castore::{DirectoryError, ValidateNodeError}; /// A valid PathInfo message /// The references in `narinfo.reference_names` aligns with what's in diff --git a/tvix/store/src/tests/fixtures.rs b/snix/store/src/tests/fixtures.rs similarity index 99% rename from tvix/store/src/tests/fixtures.rs rename to snix/store/src/tests/fixtures.rs index 2a82d9c01..aa3608989 100644 --- a/tvix/store/src/tests/fixtures.rs +++ b/snix/store/src/tests/fixtures.rs @@ -2,7 +2,7 @@ use std::{io::Cursor, sync::Arc}; use rstest::fixture; use rstest_reuse::template; -use tvix_castore::{ +use snix_castore::{ blobservice::{BlobService, MemoryBlobService}, directoryservice::{DirectoryService, MemoryDirectoryService}, fixtures::{ diff --git a/tvix/store/src/tests/mod.rs b/snix/store/src/tests/mod.rs similarity index 100% rename from tvix/store/src/tests/mod.rs rename to snix/store/src/tests/mod.rs diff --git a/tvix/store/src/tests/nar_renderer.rs b/snix/store/src/tests/nar_renderer.rs similarity index 95% rename from tvix/store/src/tests/nar_renderer.rs rename to snix/store/src/tests/nar_renderer.rs index 41f5368d3..4ce54c84c 100644 --- a/tvix/store/src/tests/nar_renderer.rs +++ b/snix/store/src/tests/nar_renderer.rs @@ -3,12 +3,12 @@ use crate::nar::write_nar; use crate::tests::fixtures::*; use rstest::*; use rstest_reuse::*; +use snix_castore::blobservice::BlobService; +use snix_castore::directoryservice::DirectoryService; +use snix_castore::Node; use std::io; use std::sync::Arc; use tokio::io::sink; -use tvix_castore::blobservice::BlobService; -use tvix_castore::directoryservice::DirectoryService; -use tvix_castore::Node; /// Make sure the NARRenderer fails if a referred blob doesn't exist. #[rstest] diff --git a/tvix/store/src/tests/nar_renderer_seekable.rs b/snix/store/src/tests/nar_renderer_seekable.rs similarity index 96% rename from tvix/store/src/tests/nar_renderer_seekable.rs rename to snix/store/src/tests/nar_renderer_seekable.rs index cdb11fad3..e67388cfc 100644 --- a/tvix/store/src/tests/nar_renderer_seekable.rs +++ b/snix/store/src/tests/nar_renderer_seekable.rs @@ -4,13 +4,13 @@ use crate::tests::fixtures::directory_service_with_contents as directory_service use crate::tests::fixtures::*; use rstest::*; use rstest_reuse::*; +use snix_castore::blobservice::BlobService; +use snix_castore::directoryservice::DirectoryService; +use snix_castore::Node; use std::io; use std::pin::Pin; use std::sync::Arc; use tokio::io::{AsyncReadExt, AsyncSeek, AsyncSeekExt}; -use tvix_castore::blobservice::BlobService; -use tvix_castore::directoryservice::DirectoryService; -use tvix_castore::Node; #[apply(castore_fixtures_template)] #[tokio::test] diff --git a/tvix/store/src/utils.rs b/snix/store/src/utils.rs similarity index 92% rename from tvix/store/src/utils.rs rename to snix/store/src/utils.rs index 7e40340f6..48d9ccb15 100644 --- a/tvix/store/src/utils.rs +++ b/snix/store/src/utils.rs @@ -6,14 +6,14 @@ use std::{ }; use tokio::io::{self, AsyncWrite}; -use tvix_castore::utils as castore_utils; -use tvix_castore::{blobservice::BlobService, directoryservice::DirectoryService}; +use snix_castore::utils as castore_utils; +use snix_castore::{blobservice::BlobService, directoryservice::DirectoryService}; use url::Url; use crate::composition::REG; use crate::nar::{NarCalculationService, SimpleRenderer}; use crate::pathinfoservice::PathInfoService; -use tvix_castore::composition::{ +use snix_castore::composition::{ with_registry, Composition, DeserializeWithRegistry, ServiceBuilder, }; @@ -31,17 +31,17 @@ pub struct CompositionConfigs { >, } -/// Provides a set of clap arguments to configure tvix-\[ca\]store services. +/// Provides a set of clap arguments to configure snix-\[ca\]store services. /// /// This particular variant has defaults tailored for usecases accessing data -/// directly locally, like the `tvix-store daemon` command. +/// directly locally, like the `snix-store daemon` command. #[derive(clap::Parser, Clone)] #[group(id = "StoreServiceUrls")] pub struct ServiceUrls { #[clap(flatten)] castore_service_addrs: castore_utils::ServiceUrls, - #[arg(long, env, default_value = "redb:///var/lib/tvix-store/pathinfo.redb")] + #[arg(long, env, default_value = "redb:///var/lib/snix-store/pathinfo.redb")] path_info_service_addr: String, /// Path to a TOML file describing the way the services should be composed @@ -52,10 +52,10 @@ pub struct ServiceUrls { experimental_store_composition: Option, } -/// Provides a set of clap arguments to configure tvix-\[ca\]store services. +/// Provides a set of clap arguments to configure snix-\[ca\]store services. /// /// This particular variant has defaults tailored for usecases accessing data -/// from another running tvix daemon, via gRPC. +/// from another running snix daemon, via gRPC. #[derive(clap::Parser, Clone)] #[group(id = "StoreServiceUrlsGrpc")] pub struct ServiceUrlsGrpc { @@ -70,11 +70,11 @@ pub struct ServiceUrlsGrpc { experimental_store_composition: Option, } -/// Provides a set of clap arguments to configure tvix-\[ca\]store services. +/// Provides a set of clap arguments to configure snix-\[ca\]store services. /// /// This particular variant has defaults tailored for usecases keeping all data /// in memory. -/// It's currently used in tvix-cli, as we don't really care about persistency +/// It's currently used in snix-cli, as we don't really care about persistency /// there yet, and using something else here might make some perf output harder /// to interpret. #[derive(clap::Parser, Clone)] diff --git a/tvix/tracing/Cargo.toml b/snix/tracing/Cargo.toml similarity index 98% rename from tvix/tracing/Cargo.toml rename to snix/tracing/Cargo.toml index fb1846dcc..88ee561dc 100644 --- a/tvix/tracing/Cargo.toml +++ b/snix/tracing/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tvix-tracing" +name = "snix-tracing" version = "0.1.0" edition = "2021" diff --git a/tvix/tracing/default.nix b/snix/tracing/default.nix similarity index 69% rename from tvix/tracing/default.nix rename to snix/tracing/default.nix index b519d0ffc..da9186f74 100644 --- a/tvix/tracing/default.nix +++ b/snix/tracing/default.nix @@ -1,10 +1,10 @@ { depot, lib, ... }: -(depot.tvix.crates.workspaceMembers.tvix-tracing.build.override { +(depot.snix.crates.workspaceMembers.snix-tracing.build.override { runTests = true; }).overrideAttrs (old: rec { meta.ci.targets = lib.filter (x: lib.hasPrefix "with-features" x || x == "no-features") (lib.attrNames passthru); - passthru = old.passthru // (depot.tvix.utils.mkFeaturePowerset { + passthru = old.passthru // (depot.snix.utils.mkFeaturePowerset { inherit (old) crateName; features = [ "otlp" "tracy" "tonic" "reqwest" "axum" ]; }); diff --git a/tvix/tracing/src/lib.rs b/snix/tracing/src/lib.rs similarity index 99% rename from tvix/tracing/src/lib.rs rename to snix/tracing/src/lib.rs index 49a690a94..28ecfdf5b 100644 --- a/tvix/tracing/src/lib.rs +++ b/snix/tracing/src/lib.rs @@ -216,7 +216,7 @@ impl TracingBuilder { g_meter_provider = Some(meter_provider.clone()); // Create a tracing layer with the configured tracer - Some(tracing_opentelemetry::layer().with_tracer(tracer_provider.tracer("tvix"))) + Some(tracing_opentelemetry::layer().with_tracer(tracer_provider.tracer("snix"))) } else { None } diff --git a/tvix/tracing/src/propagate/axum.rs b/snix/tracing/src/propagate/axum.rs similarity index 100% rename from tvix/tracing/src/propagate/axum.rs rename to snix/tracing/src/propagate/axum.rs diff --git a/tvix/tracing/src/propagate/mod.rs b/snix/tracing/src/propagate/mod.rs similarity index 100% rename from tvix/tracing/src/propagate/mod.rs rename to snix/tracing/src/propagate/mod.rs diff --git a/tvix/tracing/src/propagate/reqwest.rs b/snix/tracing/src/propagate/reqwest.rs similarity index 100% rename from tvix/tracing/src/propagate/reqwest.rs rename to snix/tracing/src/propagate/reqwest.rs diff --git a/tvix/tracing/src/propagate/tonic.rs b/snix/tracing/src/propagate/tonic.rs similarity index 100% rename from tvix/tracing/src/propagate/tonic.rs rename to snix/tracing/src/propagate/tonic.rs diff --git a/tvix/utils.nix b/snix/utils.nix similarity index 77% rename from tvix/utils.nix rename to snix/utils.nix index f140728ca..de8c95181 100644 --- a/tvix/utils.nix +++ b/snix/utils.nix @@ -13,7 +13,7 @@ lib.listToAttrs (map (featuresPowerset: { name = if featuresPowerset != [ ] then "with-features-${lib.concatStringsSep "-" featuresPowerset}" else "no-features"; - value = depot.tvix.crates.workspaceMembers.${crateName}.build.override (old: { + value = depot.snix.crates.workspaceMembers.${crateName}.build.override (old: { runTests = true; features = featuresPowerset; } // (if lib.isFunction override then override old else override) @@ -42,7 +42,7 @@ ] ++ lib.optional (extraFileset != null) extraFileset)); }; - # A function which takes a pkgs instance and returns an overriden defaultCrateOverrides with support for tvix crates. + # A function which takes a pkgs instance and returns an overriden defaultCrateOverrides with support for snix crates. # This can be used throughout the rest of the repo. defaultCrateOverridesForPkgs = pkgs: let @@ -53,86 +53,86 @@ in pkgs.defaultCrateOverrides // { nar-bridge = prev: { - src = depot.tvix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; + src = depot.snix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; }; nix-compat = prev: { - src = depot.tvix.utils.filterRustCrateSrc rec { + src = depot.snix.utils.filterRustCrateSrc rec { root = prev.src.origSrc; extraFileset = root + "/testdata"; }; }; nix-compat-derive = prev: { - src = depot.tvix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; + src = depot.snix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; }; nix-compat-derive-tests = prev: { - src = depot.tvix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; + src = depot.snix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; }; - tvix-build = prev: { - src = depot.tvix.utils.filterRustCrateSrc rec { + snix-build = prev: { + src = depot.snix.utils.filterRustCrateSrc rec { root = prev.src.origSrc; extraFileset = lib.fileset.fileFilter (f: f.hasExt "proto") root; }; - PROTO_ROOT = depot.tvix.build.protos.protos; + PROTO_ROOT = depot.snix.build.protos.protos; nativeBuildInputs = [ pkgs.protobuf ]; buildInputs = lib.optional pkgs.stdenv.isDarwin commonDarwinDeps; - TVIX_BUILD_SANDBOX_SHELL = if pkgs.stdenv.isLinux then pkgs.pkgsStatic.busybox + "/bin/sh" else "/bin/sh"; + SNIX_BUILD_SANDBOX_SHELL = if pkgs.stdenv.isLinux then pkgs.pkgsStatic.busybox + "/bin/sh" else "/bin/sh"; }; - tvix-castore = prev: { - src = depot.tvix.utils.filterRustCrateSrc rec { + snix-castore = prev: { + src = depot.snix.utils.filterRustCrateSrc rec { root = prev.src.origSrc; extraFileset = lib.fileset.fileFilter (f: f.hasExt "proto") root; }; - PROTO_ROOT = depot.tvix.castore.protos.protos; + PROTO_ROOT = depot.snix.castore.protos.protos; nativeBuildInputs = [ pkgs.protobuf ]; }; - tvix-cli = prev: { - src = depot.tvix.utils.filterRustCrateSrc rec { + snix-cli = prev: { + src = depot.snix.utils.filterRustCrateSrc rec { root = prev.src.origSrc; extraFileset = root + "/tests"; }; buildInputs = lib.optional pkgs.stdenv.isDarwin commonDarwinDeps; }; - tvix-store = prev: { - src = depot.tvix.utils.filterRustCrateSrc rec { + snix-store = prev: { + src = depot.snix.utils.filterRustCrateSrc rec { root = prev.src.origSrc; extraFileset = lib.fileset.fileFilter (f: f.hasExt "proto") root; }; - PROTO_ROOT = depot.tvix.store.protos.protos; + PROTO_ROOT = depot.snix.store.protos.protos; nativeBuildInputs = [ pkgs.protobuf ]; # fuse-backend-rs uses DiskArbitration framework to handle mount/unmount on Darwin buildInputs = lib.optional pkgs.stdenv.isDarwin (commonDarwinDeps ++ pkgs.darwin.apple_sdk.frameworks.DiskArbitration); }; - tvix-eval-builtin-macros = prev: { - src = depot.tvix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; + snix-eval-builtin-macros = prev: { + src = depot.snix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; }; - tvix-eval = prev: { - src = depot.tvix.utils.filterRustCrateSrc rec { + snix-eval = prev: { + src = depot.snix.utils.filterRustCrateSrc rec { root = prev.src.origSrc; extraFileset = root + "/proptest-regressions"; }; }; - tvix-glue = prev: { - src = depot.tvix.utils.filterRustCrateSrc { + snix-glue = prev: { + src = depot.snix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; }; - tvix-serde = prev: { - src = depot.tvix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; + snix-serde = prev: { + src = depot.snix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; }; - tvix-tracing = prev: { - src = depot.tvix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; + snix-tracing = prev: { + src = depot.snix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; }; }; diff --git a/tvix/verify-lang-tests/default.nix b/snix/verify-lang-tests/default.nix similarity index 97% rename from tvix/verify-lang-tests/default.nix rename to snix/verify-lang-tests/default.nix index 1b099525a..be70fbb71 100644 --- a/tvix/verify-lang-tests/default.nix +++ b/snix/verify-lang-tests/default.nix @@ -2,7 +2,7 @@ # SPDX-FileCopyrightText: © 2022 The TVL Contributors # SPDX-FileCopyrightText: © 2004-2022 The Nix Contributors # -# Execute language tests found in tvix_tests and nix_tests +# Execute language tests found in snix_tests and nix_tests # using the C++ Nix implementation. Based on NixOS/nix:tests/lang.sh. { depot, pkgs, lib, ... }: @@ -36,12 +36,12 @@ let (builtins.map (parseTest dir)) (builtins.filter (t: t != null)) ] - ) [ "nix_tests" "nix_tests/notyetpassing" "tvix_tests" "tvix_tests/notyetpassing" ]; + ) [ "nix_tests" "nix_tests/notyetpassing" "snix_tests" "snix_tests/notyetpassing" ]; skippedLangTests = { # TODO(sterni): set up NIX_PATH in sandbox "eval-okay-search-path.nix" = true; - # Floating point precision differs between tvix and Nix + # Floating point precision differs between snix and Nix "eval-okay-fromjson.nix" = true; # C++ Nix can't TCO "eval-okay-tail-call-1.nix" = true; diff --git a/tools/depotfmt.nix b/tools/depotfmt.nix index 7c45f8be4..b276301b2 100644 --- a/tools/depotfmt.nix +++ b/tools/depotfmt.nix @@ -13,7 +13,7 @@ let command = "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt" includes = [ "*.nix" ] excludes = [ - "tvix/eval/src/tests/nix_tests/*", + "snix/eval/src/tests/nix_tests/*", ] [formatter.rust] diff --git a/tvix/eval/src/tests/tvix_tests/eval-okay-value-pointer-compare.nix b/tvix/eval/src/tests/tvix_tests/eval-okay-value-pointer-compare.nix deleted file mode 100644 index c2ca913af..000000000 --- a/tvix/eval/src/tests/tvix_tests/eval-okay-value-pointer-compare.nix +++ /dev/null @@ -1,6 +0,0 @@ -# For an explanation of this behavior see //tvix/docs/value-pointer-equality.md -let - f = owo: "thia"; -in - -[ f 42 ] > [ f 21 ] diff --git a/tvix/nix-compat-derive-tests/default.nix b/tvix/nix-compat-derive-tests/default.nix deleted file mode 100644 index cabe9ad13..000000000 --- a/tvix/nix-compat-derive-tests/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ depot, ... }: - -depot.tvix.crates.workspaceMembers.nix-compat-derive-tests.build.override { - runTests = true; -} diff --git a/tvix/nix-compat-derive/default.nix b/tvix/nix-compat-derive/default.nix deleted file mode 100644 index e6636e7f2..000000000 --- a/tvix/nix-compat-derive/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ depot, lib, ... }: - -depot.tvix.crates.workspaceMembers.nix-compat-derive.build.override { - runTests = true; -} diff --git a/tvix/nix-daemon/default.nix b/tvix/nix-daemon/default.nix deleted file mode 100644 index 740bc851e..000000000 --- a/tvix/nix-daemon/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ depot, ... }: - -depot.tvix.crates.workspaceMembers.nix-daemon.build.override { - runTests = true; -} diff --git a/tvix/serde/default.nix b/tvix/serde/default.nix deleted file mode 100644 index 5880bd24f..000000000 --- a/tvix/serde/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ depot, ... }: - -depot.tvix.crates.workspaceMembers.tvix-serde.build.override { - runTests = true; -} diff --git a/tvix/store-go/LICENSE b/tvix/store-go/LICENSE deleted file mode 100644 index 2034ada6f..000000000 --- a/tvix/store-go/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright © The Tvix Authors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -“Software”), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/tvix/store/protos/LICENSE b/tvix/store/protos/LICENSE deleted file mode 100644 index 2034ada6f..000000000 --- a/tvix/store/protos/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright © The Tvix Authors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -“Software”), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/users/edef/crunch-v2/Cargo.nix b/users/edef/crunch-v2/Cargo.nix index b35646f36..ddea60fe3 100644 --- a/users/edef/crunch-v2/Cargo.nix +++ b/users/edef/crunch-v2/Cargo.nix @@ -4073,7 +4073,7 @@ rec { version = "0.1.0"; edition = "2021"; crateBin = [ ]; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../tvix/nix-compat; }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../snix/nix-compat; }; libName = "nix_compat"; dependencies = [ { @@ -4196,7 +4196,7 @@ rec { crateName = "nix-compat-derive"; version = "0.1.0"; edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../tvix/nix-compat-derive; }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../snix/nix-compat-derive; }; procMacro = true; libName = "nix_compat_derive"; dependencies = [ diff --git a/users/edef/crunch-v2/Cargo.toml b/users/edef/crunch-v2/Cargo.toml index 2dd942033..c2f60a275 100644 --- a/users/edef/crunch-v2/Cargo.toml +++ b/users/edef/crunch-v2/Cargo.toml @@ -19,7 +19,7 @@ tokio = { version = "1.37.0", features = ["full"] } rusoto_core = { version = "0.48.0", default-features = false, features = ["hyper-rustls"] } rusoto_s3 = { version = "0.48.0", default-features = false, features = ["rustls"] } -nix-compat = { version = "0.1.0", path = "../../../tvix/nix-compat" } +nix-compat = { version = "0.1.0", path = "../../../snix/nix-compat" } sled = "0.34.7" fastcdc = "3.1.0" diff --git a/users/edef/crunch-v2/default.nix b/users/edef/crunch-v2/default.nix index 8014aa944..14ed5b0a9 100644 --- a/users/edef/crunch-v2/default.nix +++ b/users/edef/crunch-v2/default.nix @@ -1,9 +1,9 @@ { pkgs, depot, lib, ... }: (pkgs.callPackage ./Cargo.nix { - defaultCrateOverrides = (depot.tvix.utils.defaultCrateOverridesForPkgs pkgs) // { + defaultCrateOverrides = (depot.snix.utils.defaultCrateOverridesForPkgs pkgs) // { crunch-v2 = prev: { - src = depot.tvix.utils.filterRustCrateSrc rec { + src = depot.snix.utils.filterRustCrateSrc rec { root = prev.src.origSrc; extraFileset = lib.fileset.fileFilter (f: f.hasExt "proto") root; }; @@ -11,5 +11,5 @@ }; }; }).rootCrate.build.overrideAttrs { - meta.ci.extraSteps.crate2nix-check = depot.tvix.utils.mkCrate2nixCheck ./Cargo.nix; + meta.ci.extraSteps.crate2nix-check = depot.snix.utils.mkCrate2nixCheck ./Cargo.nix; } diff --git a/users/edef/crunch-v2/protos/flatstore.proto b/users/edef/crunch-v2/protos/flatstore.proto index 2f2838fc7..f8634c62e 100644 --- a/users/edef/crunch-v2/protos/flatstore.proto +++ b/users/edef/crunch-v2/protos/flatstore.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -package tvix.flatstore.v1; +package snix.flatstore.v1; message Path { bytes nar_hash = 1; diff --git a/users/edef/crunch-v2/src/lib.rs b/users/edef/crunch-v2/src/lib.rs index 09ea2e75d..29d9cd421 100644 --- a/users/edef/crunch-v2/src/lib.rs +++ b/users/edef/crunch-v2/src/lib.rs @@ -1,3 +1,3 @@ pub mod proto { - include!(concat!(env!("OUT_DIR"), "/tvix.flatstore.v1.rs")); + include!(concat!(env!("OUT_DIR"), "/snix.flatstore.v1.rs")); } diff --git a/users/edef/fetchroots/Cargo.nix b/users/edef/fetchroots/Cargo.nix index 32523e60c..9766a0ba2 100644 --- a/users/edef/fetchroots/Cargo.nix +++ b/users/edef/fetchroots/Cargo.nix @@ -5475,7 +5475,7 @@ rec { version = "0.1.0"; edition = "2021"; crateBin = [ ]; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../tvix/nix-compat; }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../snix/nix-compat; }; libName = "nix_compat"; dependencies = [ { @@ -5598,7 +5598,7 @@ rec { crateName = "nix-compat-derive"; version = "0.1.0"; edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../tvix/nix-compat-derive; }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../snix/nix-compat-derive; }; procMacro = true; libName = "nix_compat_derive"; dependencies = [ diff --git a/users/edef/fetchroots/Cargo.toml b/users/edef/fetchroots/Cargo.toml index a8c1437b1..b65bea3ba 100644 --- a/users/edef/fetchroots/Cargo.toml +++ b/users/edef/fetchroots/Cargo.toml @@ -16,7 +16,7 @@ bzip2 = "0.4.4" chrono = "0.4.34" futures = "0.3.30" indicatif = "0.17.8" -nix-compat = { version = "0.1.0", path = "../../../tvix/nix-compat" } +nix-compat = { version = "0.1.0", path = "../../../snix/nix-compat" } polars = { version = "0.36.2", features = ["parquet"] } rayon = "1.8.1" tokio = { version = "1.36.0", features = ["full"] } diff --git a/users/edef/fetchroots/default.nix b/users/edef/fetchroots/default.nix index 2b655ee9c..ad63cbee5 100644 --- a/users/edef/fetchroots/default.nix +++ b/users/edef/fetchroots/default.nix @@ -1,11 +1,11 @@ { pkgs, depot, ... }: (pkgs.callPackage ./Cargo.nix { - defaultCrateOverrides = (depot.tvix.utils.defaultCrateOverridesForPkgs pkgs) // { + defaultCrateOverrides = (depot.snix.utils.defaultCrateOverridesForPkgs pkgs) // { fetchroots = prev: { - src = depot.tvix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; + src = depot.snix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; }; }; }).rootCrate.build.overrideAttrs { - meta.ci.extraSteps.crate2nix = depot.tvix.utils.mkCrate2nixCheck ./Cargo.nix; + meta.ci.extraSteps.crate2nix = depot.snix.utils.mkCrate2nixCheck ./Cargo.nix; } diff --git a/users/edef/narinfo2parquet/Cargo.nix b/users/edef/narinfo2parquet/Cargo.nix index 35449dee4..6efcdaa10 100644 --- a/users/edef/narinfo2parquet/Cargo.nix +++ b/users/edef/narinfo2parquet/Cargo.nix @@ -2799,7 +2799,7 @@ rec { version = "0.1.0"; edition = "2021"; crateBin = [ ]; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../tvix/nix-compat; }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../snix/nix-compat; }; libName = "nix_compat"; dependencies = [ { @@ -2922,7 +2922,7 @@ rec { crateName = "nix-compat-derive"; version = "0.1.0"; edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../tvix/nix-compat-derive; }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../snix/nix-compat-derive; }; procMacro = true; libName = "nix_compat_derive"; dependencies = [ diff --git a/users/edef/narinfo2parquet/Cargo.toml b/users/edef/narinfo2parquet/Cargo.toml index 5a8c9bdbf..9264c6df1 100644 --- a/users/edef/narinfo2parquet/Cargo.toml +++ b/users/edef/narinfo2parquet/Cargo.toml @@ -11,7 +11,7 @@ members = ["."] [dependencies] anyhow = { version = "1.0.75", features = ["backtrace"] } jemallocator = "0.5.4" -nix-compat = { version = "0.1.0", path = "../../../tvix/nix-compat" } +nix-compat = { version = "0.1.0", path = "../../../snix/nix-compat" } tempfile-fast = "0.3.4" zstd = "0.13.0" diff --git a/users/edef/narinfo2parquet/default.nix b/users/edef/narinfo2parquet/default.nix index dfe2b6665..ec78edf2f 100644 --- a/users/edef/narinfo2parquet/default.nix +++ b/users/edef/narinfo2parquet/default.nix @@ -1,11 +1,11 @@ { pkgs, depot, ... }: (pkgs.callPackage ./Cargo.nix { - defaultCrateOverrides = (depot.tvix.utils.defaultCrateOverridesForPkgs pkgs) // { + defaultCrateOverrides = (depot.snix.utils.defaultCrateOverridesForPkgs pkgs) // { narinfo2parquet = prev: { - src = depot.tvix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; + src = depot.snix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; }; }; }).rootCrate.build.overrideAttrs { - meta.ci.extraSteps.crate2nix = depot.tvix.utils.mkCrate2nixCheck ./Cargo.nix; + meta.ci.extraSteps.crate2nix = depot.snix.utils.mkCrate2nixCheck ./Cargo.nix; } diff --git a/users/edef/turbofetch/Cargo.toml b/users/edef/turbofetch/Cargo.toml index 65a7be9a5..fa6a9253a 100644 --- a/users/edef/turbofetch/Cargo.toml +++ b/users/edef/turbofetch/Cargo.toml @@ -3,7 +3,7 @@ name = "turbofetch" version = "0.1.0" edition = "2021" -# We don't join the //tvix workspace, as this is fairly cache.nixos.org-specific. +# We don't join the //snix workspace, as this is fairly cache.nixos.org-specific. [workspace] members = ["."] diff --git a/users/edef/turbofetch/default.nix b/users/edef/turbofetch/default.nix index a98b2f0b4..9182644c8 100644 --- a/users/edef/turbofetch/default.nix +++ b/users/edef/turbofetch/default.nix @@ -1,11 +1,11 @@ { pkgs, depot, ... }: (pkgs.callPackage ./Cargo.nix { - defaultCrateOverrides = (depot.tvix.utils.defaultCrateOverridesForPkgs pkgs) // { + defaultCrateOverrides = (depot.snix.utils.defaultCrateOverridesForPkgs pkgs) // { turbofetch = prev: { - src = depot.tvix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; + src = depot.snix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; }; }; }).rootCrate.build.overrideAttrs { - meta.ci.extraSteps.crate2nix-check = depot.tvix.utils.mkCrate2nixCheck ./Cargo.nix; + meta.ci.extraSteps.crate2nix-check = depot.snix.utils.mkCrate2nixCheck ./Cargo.nix; } diff --git a/users/edef/weave/Cargo.lock b/users/edef/weave/Cargo.lock index 679e6b8c1..ba5a9107c 100644 --- a/users/edef/weave/Cargo.lock +++ b/users/edef/weave/Cargo.lock @@ -1846,6 +1846,18 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" +[[package]] +name = "snix-tracing" +version = "0.1.0" +dependencies = [ + "indicatif", + "thiserror 2.0.11", + "tokio", + "tracing", + "tracing-indicatif", + "tracing-subscriber", +] + [[package]] name = "socket2" version = "0.5.7" @@ -2168,18 +2180,6 @@ dependencies = [ "tracing-log", ] -[[package]] -name = "tvix-tracing" -version = "0.1.0" -dependencies = [ - "indicatif", - "thiserror 2.0.11", - "tokio", - "tracing", - "tracing-indicatif", - "tracing-subscriber", -] - [[package]] name = "typenum" version = "1.17.0" @@ -2321,9 +2321,9 @@ dependencies = [ "rayon", "rustc-hash", "safer_owning_ref", + "snix-tracing", "tracing", "tracing-indicatif", - "tvix-tracing", ] [[package]] diff --git a/users/edef/weave/Cargo.nix b/users/edef/weave/Cargo.nix index 00cdd85e1..a245f04c1 100644 --- a/users/edef/weave/Cargo.nix +++ b/users/edef/weave/Cargo.nix @@ -2882,7 +2882,7 @@ rec { version = "0.1.0"; edition = "2021"; crateBin = [ ]; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../tvix/nix-compat; }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../snix/nix-compat; }; libName = "nix_compat"; dependencies = [ { @@ -3005,7 +3005,7 @@ rec { crateName = "nix-compat-derive"; version = "0.1.0"; edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../tvix/nix-compat-derive; }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../snix/nix-compat-derive; }; procMacro = true; libName = "nix_compat_derive"; dependencies = [ @@ -6214,6 +6214,50 @@ rec { ]; }; + "snix-tracing" = rec { + crateName = "snix-tracing"; + version = "0.1.0"; + edition = "2021"; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../snix/tracing; }; + libName = "snix_tracing"; + dependencies = [ + { + name = "indicatif"; + packageId = "indicatif"; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.11"; + } + { + name = "tokio"; + packageId = "tokio"; + features = [ "sync" "rt" ]; + } + { + name = "tracing"; + packageId = "tracing"; + features = [ "max_level_trace" "release_max_level_debug" ]; + } + { + name = "tracing-indicatif"; + packageId = "tracing-indicatif"; + } + { + name = "tracing-subscriber"; + packageId = "tracing-subscriber"; + features = [ "env-filter" ]; + } + ]; + features = { + "axum" = [ "dep:axum" ]; + "otlp" = [ "dep:tracing-opentelemetry" "dep:opentelemetry" "dep:opentelemetry-otlp" "dep:opentelemetry_sdk" "dep:opentelemetry-http" "dep:opentelemetry-semantic-conventions" "reqwest-tracing?/opentelemetry_0_28" ]; + "reqwest" = [ "dep:reqwest-tracing" ]; + "tonic" = [ "dep:tonic" "dep:http" ]; + "tracy" = [ "dep:tracing-tracy" ]; + }; + resolvedDefaultFeatures = [ "default" ]; + }; "socket2" = rec { crateName = "socket2"; version = "0.5.7"; @@ -7178,50 +7222,6 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "ansi" "default" "env-filter" "fmt" "matchers" "nu-ansi-term" "once_cell" "regex" "registry" "sharded-slab" "smallvec" "std" "thread_local" "tracing" "tracing-log" ]; }; - "tvix-tracing" = rec { - crateName = "tvix-tracing"; - version = "0.1.0"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../tvix/tracing; }; - libName = "tvix_tracing"; - dependencies = [ - { - name = "indicatif"; - packageId = "indicatif"; - } - { - name = "thiserror"; - packageId = "thiserror 2.0.11"; - } - { - name = "tokio"; - packageId = "tokio"; - features = [ "sync" "rt" ]; - } - { - name = "tracing"; - packageId = "tracing"; - features = [ "max_level_trace" "release_max_level_debug" ]; - } - { - name = "tracing-indicatif"; - packageId = "tracing-indicatif"; - } - { - name = "tracing-subscriber"; - packageId = "tracing-subscriber"; - features = [ "env-filter" ]; - } - ]; - features = { - "axum" = [ "dep:axum" ]; - "otlp" = [ "dep:tracing-opentelemetry" "dep:opentelemetry" "dep:opentelemetry-otlp" "dep:opentelemetry_sdk" "dep:opentelemetry-http" "dep:opentelemetry-semantic-conventions" "reqwest-tracing?/opentelemetry_0_28" ]; - "reqwest" = [ "dep:reqwest-tracing" ]; - "tonic" = [ "dep:tonic" "dep:http" ]; - "tracy" = [ "dep:tracing-tracy" ]; - }; - resolvedDefaultFeatures = [ "default" ]; - }; "typenum" = rec { crateName = "typenum"; version = "1.17.0"; @@ -7614,6 +7614,10 @@ rec { name = "safer_owning_ref"; packageId = "safer_owning_ref"; } + { + name = "snix-tracing"; + packageId = "snix-tracing"; + } { name = "tracing"; packageId = "tracing"; @@ -7622,10 +7626,6 @@ rec { name = "tracing-indicatif"; packageId = "tracing-indicatif"; } - { - name = "tvix-tracing"; - packageId = "tvix-tracing"; - } ]; }; diff --git a/users/edef/weave/Cargo.toml b/users/edef/weave/Cargo.toml index 936428526..638ac5326 100644 --- a/users/edef/weave/Cargo.toml +++ b/users/edef/weave/Cargo.toml @@ -10,11 +10,11 @@ members = ["."] [dependencies] anyhow = { version = "1.0.79", features = ["backtrace"] } hashbrown = "0.14.3" -nix-compat = { version = "0.1.0", path = "../../../tvix/nix-compat" } +nix-compat = { version = "0.1.0", path = "../../../snix/nix-compat" } safer_owning_ref = "0.5.0" rayon = "1.8.1" rustc-hash = "2.0.0" -tvix-tracing = { version = "0.1.0", path = "../../../tvix/tracing" } +snix-tracing = { version = "0.1.0", path = "../../../snix/tracing" } tracing = "0.1.40" tracing-indicatif = "0.3.6" diff --git a/users/edef/weave/default.nix b/users/edef/weave/default.nix index 3d979b6d3..95c9dff4a 100644 --- a/users/edef/weave/default.nix +++ b/users/edef/weave/default.nix @@ -1,11 +1,11 @@ { pkgs, depot, ... }: (pkgs.callPackage ./Cargo.nix { - defaultCrateOverrides = (depot.tvix.utils.defaultCrateOverridesForPkgs pkgs) // { + defaultCrateOverrides = (depot.snix.utils.defaultCrateOverridesForPkgs pkgs) // { weave = prev: { - src = depot.tvix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; + src = depot.snix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; }; }; }).rootCrate.build.overrideAttrs { - meta.ci.extraSteps.crate2nix-check = depot.tvix.utils.mkCrate2nixCheck ./Cargo.nix; + meta.ci.extraSteps.crate2nix-check = depot.snix.utils.mkCrate2nixCheck ./Cargo.nix; } diff --git a/users/edef/weave/src/bin/swizzle.rs b/users/edef/weave/src/bin/swizzle.rs index 840a53454..1e84025e6 100644 --- a/users/edef/weave/src/bin/swizzle.rs +++ b/users/edef/weave/src/bin/swizzle.rs @@ -43,7 +43,7 @@ use weave::{as_fixed_binary, hash64, leak, load_ph_array, INDEX_NULL}; #[tracing::instrument] fn main() -> Result<()> { - let _tracing = tvix_tracing::TracingBuilder::default() + let _tracing = snix_tracing::TracingBuilder::default() .enable_progressbar() .build()?; diff --git a/users/edef/weave/src/main.rs b/users/edef/weave/src/main.rs index b1dd27d8c..179befc85 100644 --- a/users/edef/weave/src/main.rs +++ b/users/edef/weave/src/main.rs @@ -29,7 +29,7 @@ use weave::{as_fixed_binary, hash64, INDEX_NULL}; #[tracing::instrument] fn main() -> Result<()> { - let _tracing = tvix_tracing::TracingBuilder::default() + let _tracing = snix_tracing::TracingBuilder::default() .enable_progressbar() .build()?; @@ -121,7 +121,7 @@ fn main() -> Result<()> { { let span = info_span!("mark", indicatif.pb_show = tracing::field::Empty).entered(); span.pb_set_message("marking"); - span.pb_set_style(&tvix_tracing::PB_PROGRESS_STYLE); + span.pb_set_style(&snix_tracing::PB_PROGRESS_STYLE); while !todo.is_empty() { span.pb_set_length(seen.len() as u64); diff --git a/users/flokli/nixos/nixos-tvix-cache/nar-bridge-module.nix b/users/flokli/nixos/nixos-tvix-cache/nar-bridge-module.nix index aec4d689e..6f147c467 100644 --- a/users/flokli/nixos/nixos-tvix-cache/nar-bridge-module.nix +++ b/users/flokli/nixos/nixos-tvix-cache/nar-bridge-module.nix @@ -8,7 +8,7 @@ let cfg = config.services.nar-bridge; - package = depot.tvix.nar-bridge.override (old: { + package = depot.snix.nar-bridge.override (old: { features = old.features or [ "default" ] ++ [ "xp-store-composition-cli" ]; runTests = true; }); diff --git a/web/tvixbolt/.gitignore b/web/snixbolt/.gitignore similarity index 100% rename from web/tvixbolt/.gitignore rename to web/snixbolt/.gitignore diff --git a/web/tvixbolt/Cargo.lock b/web/snixbolt/Cargo.lock similarity index 97% rename from web/tvixbolt/Cargo.lock rename to web/snixbolt/Cargo.lock index 789018d2b..7c1e57e94 100644 --- a/web/tvixbolt/Cargo.lock +++ b/web/snixbolt/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -282,7 +282,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.87", ] [[package]] @@ -499,7 +499,7 @@ dependencies = [ "serde", "serde-wasm-bindgen 0.5.0", "serde_urlencoded", - "thiserror", + "thiserror 1.0.63", "wasm-bindgen", "web-sys", ] @@ -516,7 +516,7 @@ dependencies = [ "serde", "serde-wasm-bindgen 0.6.5", "serde_urlencoded", - "thiserror", + "thiserror 1.0.63", "wasm-bindgen", "web-sys", ] @@ -536,7 +536,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -557,7 +557,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -593,7 +593,7 @@ dependencies = [ "js-sys", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", "wasm-bindgen", "web-sys", ] @@ -608,7 +608,7 @@ dependencies = [ "js-sys", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", "wasm-bindgen", "web-sys", ] @@ -691,7 +691,7 @@ dependencies = [ "js-sys", "pinned", "serde", - "thiserror", + "thiserror 1.0.63", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -706,7 +706,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.87", ] [[package]] @@ -755,7 +755,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9311685eb9a34808bbb0608ad2fcab9ae216266beca5848613e95553ac914e3b" dependencies = [ "quote", - "syn 2.0.68", + "syn 2.0.87", ] [[package]] @@ -1001,7 +1001,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.87", ] [[package]] @@ -1024,7 +1024,7 @@ checksum = "a829027bd95e54cfe13e3e258a1ae7b645960553fb82b75ff852c29688ee595b" dependencies = [ "futures", "rustversion", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -1034,7 +1034,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.68", + "syn 2.0.87", ] [[package]] @@ -1123,7 +1123,7 @@ checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ "getrandom", "libredox", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -1252,7 +1252,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.87", ] [[package]] @@ -1327,6 +1327,60 @@ dependencies = [ "serde", ] +[[package]] +name = "snix-eval" +version = "0.1.0" +dependencies = [ + "bstr", + "bytes", + "codemap", + "codemap-diagnostic", + "data-encoding", + "dirs", + "genawaiter", + "itertools", + "lexical-core", + "md-5", + "nohash-hasher", + "os_str_bytes", + "path-clean", + "regex", + "rnix", + "rowan", + "rustc-hash 2.0.0", + "serde", + "serde_json", + "sha1", + "sha2", + "smol_str", + "snix-eval-builtin-macros", + "tabwriter", + "thiserror 2.0.12", + "toml", + "vu128", +] + +[[package]] +name = "snix-eval-builtin-macros" +version = "0.0.1" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "snixbolt" +version = "0.1.0" +dependencies = [ + "serde", + "snix-eval", + "wasm-bindgen", + "web-sys", + "yew", + "yew-router", +] + [[package]] name = "static_assertions" version = "1.1.0" @@ -1346,9 +1400,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.68" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", @@ -1385,7 +1439,16 @@ version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.63", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", ] [[package]] @@ -1396,7 +1459,18 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.87", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", ] [[package]] @@ -1490,7 +1564,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.87", ] [[package]] @@ -1502,60 +1576,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "tvix-eval" -version = "0.1.0" -dependencies = [ - "bstr", - "bytes", - "codemap", - "codemap-diagnostic", - "data-encoding", - "dirs", - "genawaiter", - "itertools", - "lexical-core", - "md-5", - "nohash-hasher", - "os_str_bytes", - "path-clean", - "regex", - "rnix", - "rowan", - "rustc-hash 2.0.0", - "serde", - "serde_json", - "sha1", - "sha2", - "smol_str", - "tabwriter", - "thiserror", - "toml", - "tvix-eval-builtin-macros", - "vu128", -] - -[[package]] -name = "tvix-eval-builtin-macros" -version = "0.0.1" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "tvixbolt" -version = "0.1.0" -dependencies = [ - "serde", - "tvix-eval", - "wasm-bindgen", - "web-sys", - "yew", - "yew-router", -] - [[package]] name = "typenum" version = "1.17.0" @@ -1620,7 +1640,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.87", "wasm-bindgen-shared", ] @@ -1654,7 +1674,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.87", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -1734,7 +1754,7 @@ dependencies = [ "rustversion", "serde", "slab", - "thiserror", + "thiserror 1.0.63", "tokio", "tracing", "wasm-bindgen", @@ -1755,7 +1775,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.87", ] [[package]] @@ -1785,5 +1805,5 @@ checksum = "42bfd190a07ca8cfde7cd4c52b3ac463803dc07323db8c34daa697e86365978c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.87", ] diff --git a/web/tvixbolt/Cargo.nix b/web/snixbolt/Cargo.nix similarity index 98% rename from web/tvixbolt/Cargo.nix rename to web/snixbolt/Cargo.nix index 30a915b3a..c5074bc94 100644 --- a/web/tvixbolt/Cargo.nix +++ b/web/snixbolt/Cargo.nix @@ -31,7 +31,7 @@ rec { # rootCrate = rec { - packageId = "tvixbolt"; + packageId = "snixbolt"; # Use this attribute to refer to the derivation building your root crate package. # You can override the features with rootCrate.build.override { features = [ "default" "feature1" ... ]; }. @@ -47,10 +47,10 @@ rec { # You can override the features with # workspaceMembers."${crateName}".build.override { features = [ "default" "feature1" ... ]; }. workspaceMembers = { - "tvixbolt" = rec { - packageId = "tvixbolt"; + "snixbolt" = rec { + packageId = "snixbolt"; build = internal.buildRustCrateWithFeatures { - packageId = "tvixbolt"; + packageId = "snixbolt"; }; # Debug support which might change between releases. @@ -806,7 +806,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; features = [ "full" ]; } ]; @@ -1533,7 +1533,7 @@ rec { } { name = "thiserror"; - packageId = "thiserror"; + packageId = "thiserror 1.0.63"; optional = true; } { @@ -1594,7 +1594,7 @@ rec { } { name = "thiserror"; - packageId = "thiserror"; + packageId = "thiserror 1.0.63"; optional = true; } { @@ -1671,7 +1671,7 @@ rec { } { name = "thiserror"; - packageId = "thiserror"; + packageId = "thiserror 1.0.63"; } { name = "wasm-bindgen"; @@ -1764,7 +1764,7 @@ rec { } { name = "thiserror"; - packageId = "thiserror"; + packageId = "thiserror 1.0.63"; } { name = "wasm-bindgen"; @@ -1873,7 +1873,7 @@ rec { } { name = "thiserror"; - packageId = "thiserror"; + packageId = "thiserror 1.0.63"; } { name = "wasm-bindgen"; @@ -1922,7 +1922,7 @@ rec { } { name = "thiserror"; - packageId = "thiserror"; + packageId = "thiserror 1.0.63"; } { name = "wasm-bindgen"; @@ -2180,7 +2180,7 @@ rec { } { name = "thiserror"; - packageId = "thiserror"; + packageId = "thiserror 1.0.63"; } { name = "wasm-bindgen"; @@ -2224,7 +2224,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; features = [ "full" ]; } ]; @@ -2367,7 +2367,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; features = [ "full" ]; } ]; @@ -3070,7 +3070,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; features = [ "full" "visit-mut" ]; } ]; @@ -3116,7 +3116,7 @@ rec { } { name = "thiserror"; - packageId = "thiserror"; + packageId = "thiserror 1.0.63"; } ]; @@ -3138,7 +3138,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; usesDefaultFeatures = false; features = [ "full" ]; } @@ -3151,7 +3151,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; usesDefaultFeatures = false; features = [ "parsing" ]; } @@ -3403,7 +3403,7 @@ rec { } { name = "thiserror"; - packageId = "thiserror"; + packageId = "thiserror 1.0.63"; } ]; features = { @@ -3799,7 +3799,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; usesDefaultFeatures = false; features = [ "clone-impls" "derive" "parsing" "printing" "proc-macro" ]; } @@ -4028,6 +4028,206 @@ rec { }; resolvedDefaultFeatures = [ "default" "std" ]; }; + "snix-eval" = rec { + crateName = "snix-eval"; + version = "0.1.0"; + edition = "2021"; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../../snix/eval; }; + libName = "snix_eval"; + dependencies = [ + { + name = "bstr"; + packageId = "bstr"; + features = [ "serde" ]; + } + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "codemap"; + packageId = "codemap"; + } + { + name = "codemap-diagnostic"; + packageId = "codemap-diagnostic"; + } + { + name = "data-encoding"; + packageId = "data-encoding"; + } + { + name = "dirs"; + packageId = "dirs"; + } + { + name = "genawaiter"; + packageId = "genawaiter"; + usesDefaultFeatures = false; + } + { + name = "itertools"; + packageId = "itertools"; + } + { + name = "lexical-core"; + packageId = "lexical-core"; + features = [ "format" "parse-floats" ]; + } + { + name = "md-5"; + packageId = "md-5"; + } + { + name = "nohash-hasher"; + packageId = "nohash-hasher"; + } + { + name = "os_str_bytes"; + packageId = "os_str_bytes"; + features = [ "conversions" ]; + } + { + name = "path-clean"; + packageId = "path-clean"; + } + { + name = "regex"; + packageId = "regex"; + } + { + name = "rnix"; + packageId = "rnix"; + } + { + name = "rowan"; + packageId = "rowan"; + } + { + name = "rustc-hash"; + packageId = "rustc-hash 2.0.0"; + } + { + name = "serde"; + packageId = "serde"; + features = [ "rc" "derive" ]; + } + { + name = "serde_json"; + packageId = "serde_json"; + } + { + name = "sha1"; + packageId = "sha1"; + } + { + name = "sha2"; + packageId = "sha2"; + } + { + name = "smol_str"; + packageId = "smol_str"; + } + { + name = "snix-eval-builtin-macros"; + packageId = "snix-eval-builtin-macros"; + rename = "builtin-macros"; + } + { + name = "tabwriter"; + packageId = "tabwriter"; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.12"; + } + { + name = "toml"; + packageId = "toml"; + } + { + name = "vu128"; + packageId = "vu128"; + } + ]; + devDependencies = [ + { + name = "itertools"; + packageId = "itertools"; + } + ]; + features = { + "arbitrary" = [ "proptest" "test-strategy" ]; + "default" = [ "impure" "arbitrary" "nix_tests" ]; + "proptest" = [ "dep:proptest" ]; + "test-strategy" = [ "dep:test-strategy" ]; + }; + }; + "snix-eval-builtin-macros" = rec { + crateName = "snix-eval-builtin-macros"; + version = "0.0.1"; + edition = "2021"; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../../snix/eval/builtin-macros; }; + procMacro = true; + libName = "snix_eval_builtin_macros"; + authors = [ + "Griffin Smith " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 1.0.109"; + features = [ "full" "parsing" "printing" "visit" "visit-mut" "extra-traits" ]; + } + ]; + + }; + "snixbolt" = rec { + crateName = "snixbolt"; + version = "0.1.0"; + edition = "2021"; + src = lib.cleanSourceWith { filter = sourceFilter; src = ./.; }; + type = [ "cdylib" ]; + dependencies = [ + { + name = "serde"; + packageId = "serde"; + features = [ "derive" ]; + } + { + name = "snix-eval"; + packageId = "snix-eval"; + usesDefaultFeatures = false; + } + { + name = "wasm-bindgen"; + packageId = "wasm-bindgen"; + } + { + name = "web-sys"; + packageId = "web-sys"; + features = [ "HtmlDetailsElement" ]; + } + { + name = "yew"; + packageId = "yew"; + features = [ "csr" ]; + } + { + name = "yew-router"; + packageId = "yew-router"; + } + ]; + + }; "static_assertions" = rec { crateName = "static_assertions"; version = "1.1.0"; @@ -4072,11 +4272,11 @@ rec { }; resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "full" "parsing" "printing" "proc-macro" "quote" "visit" "visit-mut" ]; }; - "syn 2.0.68" = rec { + "syn 2.0.87" = rec { crateName = "syn"; - version = "2.0.68"; + version = "2.0.87"; edition = "2021"; - sha256 = "1sf1y2hajhjav38ipg63c934xrgkz4v42fz24a0ckmmri06sf7wh"; + sha256 = "0bd3mfcswvn4jkrp7ich5kk58kmpph8412yxd36nsfnh8vilrai5"; authors = [ "David Tolnay " ]; @@ -4153,7 +4353,7 @@ rec { "serde" = [ "dep:serde" ]; }; }; - "thiserror" = rec { + "thiserror 1.0.63" = rec { crateName = "thiserror"; version = "1.0.63"; edition = "2021"; @@ -4164,12 +4364,31 @@ rec { dependencies = [ { name = "thiserror-impl"; - packageId = "thiserror-impl"; + packageId = "thiserror-impl 1.0.63"; } ]; }; - "thiserror-impl" = rec { + "thiserror 2.0.12" = rec { + crateName = "thiserror"; + version = "2.0.12"; + edition = "2021"; + sha256 = "024791nsc0np63g2pq30cjf9acj38z3jwx9apvvi8qsqmqnqlysn"; + authors = [ + "David Tolnay " + ]; + dependencies = [ + { + name = "thiserror-impl"; + packageId = "thiserror-impl 2.0.12"; + } + ]; + features = { + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "thiserror-impl 1.0.63" = rec { crateName = "thiserror-impl"; version = "1.0.63"; edition = "2021"; @@ -4190,7 +4409,33 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; + } + ]; + + }; + "thiserror-impl 2.0.12" = rec { + crateName = "thiserror-impl"; + version = "2.0.12"; + edition = "2021"; + sha256 = "07bsn7shydaidvyyrm7jz29vp78vrxr9cr9044rfmn078lmz8z3z"; + procMacro = true; + libName = "thiserror_impl"; + authors = [ + "David Tolnay " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 2.0.87"; } ]; @@ -4487,7 +4732,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; usesDefaultFeatures = false; features = [ "full" "parsing" "printing" "visit-mut" "clone-impls" "extra-traits" "proc-macro" ]; } @@ -4518,206 +4763,6 @@ rec { }; resolvedDefaultFeatures = [ "once_cell" "std" ]; }; - "tvix-eval" = rec { - crateName = "tvix-eval"; - version = "0.1.0"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../../tvix/eval; }; - libName = "tvix_eval"; - dependencies = [ - { - name = "bstr"; - packageId = "bstr"; - features = [ "serde" ]; - } - { - name = "bytes"; - packageId = "bytes"; - } - { - name = "codemap"; - packageId = "codemap"; - } - { - name = "codemap-diagnostic"; - packageId = "codemap-diagnostic"; - } - { - name = "data-encoding"; - packageId = "data-encoding"; - } - { - name = "dirs"; - packageId = "dirs"; - } - { - name = "genawaiter"; - packageId = "genawaiter"; - usesDefaultFeatures = false; - } - { - name = "itertools"; - packageId = "itertools"; - } - { - name = "lexical-core"; - packageId = "lexical-core"; - features = [ "format" "parse-floats" ]; - } - { - name = "md-5"; - packageId = "md-5"; - } - { - name = "nohash-hasher"; - packageId = "nohash-hasher"; - } - { - name = "os_str_bytes"; - packageId = "os_str_bytes"; - features = [ "conversions" ]; - } - { - name = "path-clean"; - packageId = "path-clean"; - } - { - name = "regex"; - packageId = "regex"; - } - { - name = "rnix"; - packageId = "rnix"; - } - { - name = "rowan"; - packageId = "rowan"; - } - { - name = "rustc-hash"; - packageId = "rustc-hash 2.0.0"; - } - { - name = "serde"; - packageId = "serde"; - features = [ "rc" "derive" ]; - } - { - name = "serde_json"; - packageId = "serde_json"; - } - { - name = "sha1"; - packageId = "sha1"; - } - { - name = "sha2"; - packageId = "sha2"; - } - { - name = "smol_str"; - packageId = "smol_str"; - } - { - name = "tabwriter"; - packageId = "tabwriter"; - } - { - name = "thiserror"; - packageId = "thiserror"; - } - { - name = "toml"; - packageId = "toml"; - } - { - name = "tvix-eval-builtin-macros"; - packageId = "tvix-eval-builtin-macros"; - rename = "builtin-macros"; - } - { - name = "vu128"; - packageId = "vu128"; - } - ]; - devDependencies = [ - { - name = "itertools"; - packageId = "itertools"; - } - ]; - features = { - "arbitrary" = [ "proptest" "test-strategy" ]; - "default" = [ "impure" "arbitrary" "nix_tests" ]; - "proptest" = [ "dep:proptest" ]; - "test-strategy" = [ "dep:test-strategy" ]; - }; - }; - "tvix-eval-builtin-macros" = rec { - crateName = "tvix-eval-builtin-macros"; - version = "0.0.1"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ../../tvix/eval/builtin-macros; }; - procMacro = true; - libName = "tvix_eval_builtin_macros"; - authors = [ - "Griffin Smith " - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn 1.0.109"; - features = [ "full" "parsing" "printing" "visit" "visit-mut" "extra-traits" ]; - } - ]; - - }; - "tvixbolt" = rec { - crateName = "tvixbolt"; - version = "0.1.0"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ./.; }; - type = [ "cdylib" ]; - dependencies = [ - { - name = "serde"; - packageId = "serde"; - features = [ "derive" ]; - } - { - name = "tvix-eval"; - packageId = "tvix-eval"; - usesDefaultFeatures = false; - } - { - name = "wasm-bindgen"; - packageId = "wasm-bindgen"; - } - { - name = "web-sys"; - packageId = "web-sys"; - features = [ "HtmlDetailsElement" ]; - } - { - name = "yew"; - packageId = "yew"; - features = [ "csr" ]; - } - { - name = "yew-router"; - packageId = "yew-router"; - } - ]; - - }; "typenum" = rec { crateName = "typenum"; version = "1.17.0"; @@ -4886,7 +4931,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; features = [ "full" ]; } { @@ -4976,7 +5021,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; features = [ "visit" "visit-mut" "full" ]; } { @@ -5626,7 +5671,7 @@ rec { } { name = "thiserror"; - packageId = "thiserror"; + packageId = "thiserror 1.0.63"; } { name = "tokio"; @@ -5722,7 +5767,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; features = [ "full" "extra-traits" "visit-mut" ]; } ]; @@ -5826,7 +5871,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.68"; + packageId = "syn 2.0.87"; features = [ "full" "extra-traits" ]; } ]; diff --git a/web/tvixbolt/Cargo.toml b/web/snixbolt/Cargo.toml similarity index 79% rename from web/tvixbolt/Cargo.toml rename to web/snixbolt/Cargo.toml index a92af21ee..6185a3d8a 100644 --- a/web/tvixbolt/Cargo.toml +++ b/web/snixbolt/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tvixbolt" +name = "snixbolt" version = "0.1.0" edition = "2021" @@ -9,7 +9,7 @@ crate-type = ["cdylib"] [dependencies] yew = { version = "0.21.0", features = ["csr"] } yew-router = "0.18" -tvix-eval = { path = "../../tvix/eval", default-features = false } +snix-eval = { path = "../../snix/eval", default-features = false } serde = { version = "1.0.204", features = ["derive"] } web-sys = { version = "0.3.69", features = ["HtmlDetailsElement"] } wasm-bindgen = "0.2.100" diff --git a/web/tvixbolt/LICENSE b/web/snixbolt/LICENSE similarity index 100% rename from web/tvixbolt/LICENSE rename to web/snixbolt/LICENSE diff --git a/web/tvixbolt/default.nix b/web/snixbolt/default.nix similarity index 66% rename from web/tvixbolt/default.nix rename to web/snixbolt/default.nix index a3ce1662f..dcd466f36 100644 --- a/web/tvixbolt/default.nix +++ b/web/snixbolt/default.nix @@ -3,9 +3,9 @@ let pkgsCross = pkgs.pkgsCross.wasm32-unknown-none; in (pkgsCross.callPackage ./Cargo.nix { - defaultCrateOverrides = (depot.tvix.utils.defaultCrateOverridesForPkgs pkgsCross) // { - tvixbolt = prev: { - src = depot.tvix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; + defaultCrateOverrides = (depot.snix.utils.defaultCrateOverridesForPkgs pkgsCross) // { + snixbolt = prev: { + src = depot.snix.utils.filterRustCrateSrc { root = prev.src.origSrc; }; }; }; }).rootCrate.build.overrideAttrs (oldAttrs: { @@ -20,13 +20,13 @@ in mv src/*.{html,css} $out ''; - passthru.serve = pkgs.writeShellScriptBin "tvixbolt-serve" '' + passthru.serve = pkgs.writeShellScriptBin "snixbolt-serve" '' ${lib.getExe pkgs.simple-http-server} \ --index \ --nocache \ "$@" \ - ${depot.web.tvixbolt} + ${depot.web.snixbolt} ''; - meta.ci.extraSteps.crate2nix-check = depot.tvix.utils.mkCrate2nixCheck ./Cargo.nix; + meta.ci.extraSteps.crate2nix-check = depot.snix.utils.mkCrate2nixCheck ./Cargo.nix; }) diff --git a/web/tvixbolt/src/index.css b/web/snixbolt/src/index.css similarity index 100% rename from web/tvixbolt/src/index.css rename to web/snixbolt/src/index.css diff --git a/web/tvixbolt/src/index.html b/web/snixbolt/src/index.html similarity index 100% rename from web/tvixbolt/src/index.html rename to web/snixbolt/src/index.html diff --git a/web/tvixbolt/src/lib.rs b/web/snixbolt/src/lib.rs similarity index 93% rename from web/tvixbolt/src/lib.rs rename to web/snixbolt/src/lib.rs index 51796ee0f..f4bd6fd02 100644 --- a/web/tvixbolt/src/lib.rs +++ b/web/snixbolt/src/lib.rs @@ -1,4 +1,4 @@ -// tvixbolt - an online tool for exploring Tvix language evaluation +// snixbolt - an online tool for exploring Snix language evaluation // // Copyright (C) The TVL Community // SPDX-License-Identifier: AGPL-3.0-or-later @@ -6,7 +6,7 @@ use std::fmt::Write; use serde::{Deserialize, Serialize}; -use tvix_eval::observer::{DisassemblingObserver, TracingObserver}; +use snix_eval::observer::{DisassemblingObserver, TracingObserver}; use wasm_bindgen::prelude::wasm_bindgen; use web_sys::HtmlDetailsElement; use web_sys::HtmlTextAreaElement; @@ -37,20 +37,20 @@ struct Model { display_ast: bool, } -fn tvixbolt_overview() -> Html { +fn snixbolt_overview() -> Html { html! { <>

{"This page lets you explore the bytecode generated by the "} - {"Tvix"} + {"Snix"} {" compiler for the Nix language."}

- {"Tvix is still "}{"work-in-progress"}{" and we would appreciate "} + {"Snix is still "}{"work-in-progress"}{" and we would appreciate "} {"if you told us about bugs you find."}

- {"Tvixbolt is a project by "} + {"Snixbolt is a project by "} {"TVL"} @@ -129,8 +129,8 @@ impl Component for Model { html! { <>

-

{"tvixbolt"}

- {tvixbolt_overview()} +

{"snixbolt"}

+ {snixbolt_overview()}
{"Input"} @@ -266,7 +266,7 @@ fn eval(model: &Model) -> Output { return out; } - let mut eval_builder = tvix_eval::Evaluation::builder_pure(); + let mut eval_builder = snix_eval::Evaluation::builder_pure(); let source = eval_builder.source_map().clone(); let result = { @@ -284,7 +284,7 @@ fn eval(model: &Model) -> Output { if model.display_ast { if let Some(ref expr) = result.expr { - out.ast = tvix_eval::pretty_print_expr(expr); + out.ast = snix_eval::pretty_print_expr(expr); } }