ALPHA: wire is a tool to deploy nixos systems wire.althaea.zone/
at v1.0.0 50 lines 2.7 kB view raw view rendered
1--- 2comment: false 3title: wire Tutorial Overview 4description: In this tutorial we will create and deploy a wire Hive. 5--- 6 7# wire Tutorial Overview 8 9wire is a tool to deploy NixOS systems. Its usage is inspired by [colmena](https://colmena.cli.rs/). In many places it's configuration attempts to remain a superset[^1] of colmena, however it is **not** a fork. 10 11[^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. 12 13::: warning 14wire is alpha software, please use at your own risk. 15::: 16 17--- 18 19In this tutorial we will create and deploy a wire Hive. Along the way we will 20encounter [npins](https://github.com/andir/npins), simple NixOS 21configurations, virtual machines, and deployment keys. 22 23You'll need at least 10~ GB of free disk space to complete this tutorial. 24 25<div class="tip custom-block" style="padding-top: 8px"> 26 27Ready? Skip to [Nix Setup](./part-one/nix-setup). 28 29</div> 30 31## What features does wire have? 32 33| Features | wire | Colmena | 34| ------------------------------------------------------------- | ------------------ | ------------------ | 35| [Node Tagging](/guides/targeting.html#tag-basics) | :white_check_mark: | :white_check_mark: | 36| [Secret Management](/guides/keys.html) | :white_check_mark: | :white_check_mark: | 37| [Parallel Deployment](/guides/parallelism.html) | :white_check_mark: | :white_check_mark: | 38| Remote Builds | :white_check_mark: | :white_check_mark: | 39| [Key Services](/guides/keys.html#using-keys-with-services) | :white_check_mark: | :white_check_mark: | 40| [Pipeline Support](/guides/targeting.html#reading-from-stdin) | :white_check_mark: | :x:[^2] | 41| [Non-Root Deployments](/guides/non-root-user) | :white_check_mark: | :x:[^3] | 42| `--path` accepts flakerefs | :white_check_mark: | :x: | 43| REPL & Eval expressions | :x: | :white_check_mark: | 44| Adhoc remote command execution[^4] | :x: | :white_check_mark: | 45 46[^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](https://colmena.cli.rs/unstable/features/eval.html) which has improved the situation since wire was first started. 47 48[^3]: See https://github.com/zhaofengli/colmena/issues/120 49 50[^4]: wire lacks an equivalent to `colmena exec`.