Installation
Quick Install (curl)
curl -fsSL https://raw.githubusercontent.com/runixio/runix/main/scripts/install.sh | bash
This downloads the latest binary for your platform to /usr/local/bin/runix.
Install via Nix
Run directly without installing:
nix run github:runixio/runix -- --help
Install to your profile:
nix profile install github:runixio/runix
Use in a NixOS or Home Manager configuration — see Nix Integration for the full NixOS module and Home Manager module documentation.
Quick Install (Go)
go install github.com/runixio/runix/cmd/runix@latest
Build from Source
Prerequisites
- Go 1.25.7 or later
- Make (optional, for build commands)
Steps
git clone https://github.com/runixio/runix.git
cd runix
make build
The binary is output to bin/runix. Install it anywhere on your PATH:
cp bin/runix /usr/local/bin/
Build Details
The Makefile builds with:
CGO_ENABLED=0— fully static binary, no C dependencies-trimpath— reproducible builds-ldflags -X— injectsversion.Versionandversion.BuildTimeat build time
# Full build command (what Makefile does)
CGO_ENABLED=0 go build -trimpath \
-ldflags "-X github.com/runixio/runix/internal/version.Version=$(git describe --tags) -X github.com/runixio/runix/internal/version.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
-o bin/runix ./cmd/runix
Cross-Compilation
GoReleaser handles cross-compilation for releases. Supported platforms:
| OS | Architecture |
|---|---|
| Linux | amd64, arm64 |
| macOS | amd64 (Intel), arm64 (Apple Silicon) |
| Windows | amd64 |
Download pre-built binaries from GitHub Releases.
Verify Installation
runix version
# Runix v0.1.0
runix version --verbose
# Runix v0.1.0
# Build: 2025-01-15T10:30:00Z
# Go: go1.25.7
# OS/Arch: linux/amd64
Environment Check
After installation, run the diagnostic tool:
runix doctor
This checks for available runtimes (Go, Python, Node.js, Bun, Deno, Ruby, PHP), verifies directory permissions, and tests the daemon socket. See Doctor for details.
Shell Completion
Runix supports shell completions. Generate them with:
# Bash
runix completion bash > /etc/bash_completion.d/runix
# Zsh
runix completion zsh > "${fpath[1]}/_runix"
# Fish
runix completion fish > ~/.config/fish/completions/runix.fish
Data Directory
Runix stores all runtime data in ~/.runix/:
~/.runix/
├── apps/ # Per-app log directories
│ └── myapp/
│ ├── stdout.log
│ └── stderr.log
├── state/ # Process state persistence
├── tmp/ # Temporary files
├── dump.json # Saved process state (for resurrection)
└── events.log # Persistent event store
Older versions used ~/.local/share/runix/. Runix checks this path as a fallback.