Skip to content

wire Tutorial Overview

wire is a tool to deploy NixOS systems. Its usage is inspired by colmena. In many places it's configuration attempts to remain a superset[1] of colmena, however it is not a fork.


In this tutorial we will create and deploy a wire Hive. Along the way we will encounter npins, simple NixOS configurations, virtual machines, and deployment keys.

You'll need at least 10~ GB of free disk space to complete this tutorial.

Ready? Skip to Nix Setup.

Support

Thank you to my GitHub sponsors. You can support development here.

Supporter Graph

What features does wire have?

FeatureswireColmena
Node Tagging
Secret Management
Parallel Deployment
Remote Builds
Key Services
Pipeline Support[2]
Non-Root Deployments[3]
--path accepts flakerefs
REPL & Eval expressions
Adhoc remote command execution[4]

  1. A lot of your colmena module options will continue to work with wire, but wire has additional ergonomic changes you can take advantage of. ↩︎

  2. You need to write custom nix code to use Colmena hive metadata inside environments like CI pipelines, bash scripting, etc., which requires a knowledge of its internals. Recently it agained the eval feature which has improved the situation since wire was first started. ↩︎

  3. See https://github.com/zhaofengli/colmena/issues/120 ↩︎

  4. wire lacks an equivalent to colmena exec. ↩︎