Skip to content

Quick Start

  • Nix installed on your local machine
  • SSH key authentication to target machine(s)
  • A Nix flake with your NixOS configuration(s)

Panix itself needs no installation: step 3 runs it with nix run. To add it to a flake or use the binary cache, see Installation.

Boot into a NixOS installer, any Linux live ISO, or an already provisioned NixOS system.

# yaml-language-server: $schema=https://raw.githubusercontent.com/mihakrumpestar/panix/main/gen/panix-schema.yaml
# Minimal config - see /configuration/ for all options
fleet:
flakes:
my-infra:
# url defaults to ".", can be omitted when flake is in current dir
installables:
nixosConfigurations:
workstation: # nixosConfigurations.workstation
machines:
workstation: # matched against ~/.ssh/config
servers: # multi-machine, build once, copy to both
machines:
server-eu: # matched against ~/.ssh/config
server-us:
ssh: # SSH not in ~/.ssh/config → specify here
hostname: server-us.example.com
vps: # another single machine
machines:
my-vps:
ssh:
hostname: 10.0.0.100
port: 2222
Terminal window
nix run github:mihakrumpestar/panix -- deploy

This runs the full pipeline:

Inspect → Bootstrap → Build → Transfer → Secrets → Activate

See concepts/phases for what each phase does.

The interactive TUI shows real-time progress for each machine and phase. If a phase fails, press r to retry just the failed phases without restarting.