
> **Note:** Linux is the reference platform for Vary. All compiler development and CI runs on Linux.

## Quick install

One command installs [varyup](/docs/varyup/) (the toolchain manager) and the latest Vary toolchain.

```bash
curl -fsSL https://github.com/ccollicutt/vary/releases/latest/download/install.sh | sh
```

This will download `varyup` to `~/.vary/bin/`, install the latest Vary toolchain, and install the `vary` compiler shim.

Then add `~/.vary/bin` to your PATH. Add this line to `~/.bashrc` or `~/.zshrc`:

```bash
export PATH="$HOME/.vary/bin:$PATH"
```

> **Note:** The installer does not modify your shell profile automatically. Adding the PATH entry is a manual step by design, so nothing is changed in your environment without your knowledge.

Restart your shell, then verify:

```bash
vary --version
```

You should see:

```text
Vary vX-alpha.Y
```

### Options

| Flag | Effect |
|------|--------|
| `--skip-toolchain` | Skip automatic toolchain install |

Environment variables `VARY_HOME` (default: `~/.vary`) and `VARY_RELEASE_URL` can override defaults.

## Manual install

If you prefer not to pipe to `sh`, you can install manually:

### 1. Download varyup

```bash
mkdir -p ~/.vary/bin
curl -fSL "https://github.com/ccollicutt/vary/releases/latest/download/varyup-linux-x64" -o ~/.vary/bin/varyup
chmod +x ~/.vary/bin/varyup
```

### 2. Verify checksum

```bash
curl -fSL "https://github.com/ccollicutt/vary/releases/latest/download/SHA256SUMS" -o /tmp/SHA256SUMS
cd ~/.vary/bin && grep "varyup-linux-x64$" /tmp/SHA256SUMS | sha256sum -c -
```

You should see `varyup-linux-x64: OK`. If the check fails, delete the binary and retry the download.

### 3. Add to PATH

Add to `~/.bashrc` or `~/.zshrc`:

```bash
export PATH="$HOME/.vary/bin:$PATH"
```

Reload your shell and install a toolchain:

```bash
source ~/.bashrc   # or: source ~/.zshrc
varyup toolchain install latest
```

## Managing toolchains

List available versions:

```bash
varyup toolchain list-available
```

Install a specific version:

```bash
varyup toolchain install <version>
```

Short aliases are available:

```bash
varyup tc la   # list-available
varyup tc i    # install
```

Run `varyup` with no arguments to see all commands and aliases.

## Install VS Code extension

Each toolchain bundles the Vary VS Code extension. Install it with:

```bash
varyup vscode install
```

See [VS Code](/docs/vscode/) for full extension documentation.

## Next steps

| Action | Link |
|--------|------|
| Manage versions, update, pin per-project | [varyup](/docs/varyup/) |
| Write your first program | [Getting Started](/docs/getting-started/) |
| Run `vary test` on examples | [Testing](/docs/test-dsl/) |
| Run `vary mutate` on examples | [Mutation testing](/docs/mutation/testing/) |
