CLI
The snowstead command pushes store paths to your caches.
Install
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:
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:
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:
[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.