SNOWSTEAD DOCS Home Dashboard

CLI

The snowstead command pushes store paths to your caches.

Install

shell
nix profile install github:Polymath-AS/snowstead

Or run it once without installing: nix run github:Polymath-AS/snowstead -- push …

snowstead login

Saves a token so later commands can use it. Run it once per machine or CI job:

shell
snowstead login snowstead https://cache.snowstead.com "$SNOWSTEAD_TOKEN"

The first argument is a name for this login. The CLI keeps it in ~/.config/snowstead/config.json and uses the most recent login unless you pass --server <name>.

snowstead push

Pushes store paths to a cache. With --closure, it pushes a path and everything it depends on:

shell
snowstead push main /nix/store/…-hello-2.12.1
snowstead push main --closure ./result
snowstead push main --closure .#nixosConfigurations.web-01.config.system.build.toplevel

It only uploads what the cache doesn't have yet, and prints a line per path and a summary at the end. Use --jobs <n> to set how many paths it uploads at once; the default is 32.

Storage limits

Your organization's assigned tier sets how much its caches can hold together. The Usage page shows the current limit and how much is used. Snowstead assigns tiers manually during beta. A push that would go over is refused before anything uploads, and says how much it needed:

output
[1/12] 0c5a8bvbj6ld1jdk7k1w5p4f5l9jwq8x-hello-2.12.1  FAIL: Not enough storage: this push needs 1.2 GB, and 310 MB of your 10 GB is left.