Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

Garret is not a hosted service. You run the Pusher and the Puller on your own host, and point your machines at the Puller. This page installs the client; Deployment covers the server.

Install the client

nix profile install github:jeiang/garret#garret

Pin a revision with github:jeiang/garret/<rev>#garret to keep a fixed version.

Flake outputs

OutputContents
defaultThe workspace build
garret-allThe workspace build
garretThe client
garret-pusherThe Pusher service
garret-pullerThe Puller service
garret-adminThe admin CLI
garret-benchThe load harness
garret-depsCompiled third-party dependencies; a build-time input only

The NixOS modules services.garret-pusher, services.garret-puller and services.garret-watcher default to these packages.

Point nix at your cache

Once your Puller is running, add it to nix.conf:

extra-substituters = https://cache.example
extra-trusted-public-keys = cache.example-1:<base64 public key>

garret use writes both entries for you. garret-admin key show prints the public key of the signing key your Pusher uses.

On NixOS, set the same values through nix.settings. On a multi-user install, --option on the command line works only for trusted users.

Next: Quickstart to push your first path.