tvl-depot/users/flokli/nixos/nixos-tvix-cache
Florian Klink b12ea8d786 fix(users/flokli/nixos-tvix-cache): use escapeSystemdExecArgs
escapeSystemdExecArgs is the function that should be used to escape
Exec* service lines.

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

Reported-By: matrix:u/lukas:luflosi.de
Change-Id: Ia3a628db221a30310154c060a6e29ccb2c94c352
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12930
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2024-12-30 10:30:04 +00:00
..
configuration.nix feat(users/flokli/nixos/nixos-tvix-cache): init 2024-11-23 09:40:21 +00:00
disko.nix feat(users/flokli/nixos/nixos-tvix-cache): init 2024-11-23 09:40:21 +00:00
monitoring.nix feat(users/flokli/nixos-tvix-cache): increase scraping interval 2024-12-27 18:14:40 +00:00
nar-bridge-module.nix fix(users/flokli/nixos-tvix-cache): use escapeSystemdExecArgs 2024-12-30 10:30:04 +00:00
nar-bridge.nix fix(users/flokli/nixos-tvix-cache): drop private bind mounts 2024-12-27 15:50:23 +00:00
OWNERS feat(users/flokli/nixos/nixos-tvix-cache): init 2024-11-23 09:40:21 +00:00
README.md docs(users/flokli/nixos-tvix-cache): don't use mkForce 2024-12-27 15:50:23 +00:00

nixos-tvix-cache

This is a fetch-through mirror of cache.nixos.org, hosted by NumTide.

The current machine is a SX65 Hetzner dedicated server with 4x22TB SATA disks, and 2x1TB NVMe disks.

The goals of this machine:

  • Exercise tvix-store and nar-bridge code
  • Collect usage metrics (see Grafana)
  • Identify bottlenecks in the current implementations and fix them
  • Replace cache.nixos.org?

You can configure this as a Nix substitutor on your systems like this:

  nix.settings.substituters = [
    "https://nixos.tvix.store"
  ];

For store paths it hasn't already seen yet, it'll internally ingest its contents into tvix-castore (deduplicating in doing so).

Requests for NARs will dynamically reassemble the NAR representation on demand.

Metadata and signatures are preserved (which is why you don't need to add additional trusted keys). We need to produce the same data bit by bit, else the signature check in your Nix/Lix client would fail.

Be however aware that there's zero availability guarantees. We will frequently redeploy this box, and it might become unavailable without prior notice.

Tvix currently doesn't have garbage collection. If we run out of disk space, we might either move things to a bigger box or delete everything on it so far.

As it's only a cache, it should however re-ingest things again.