ALPHA: wire is a tool to deploy nixos systems
wire.althaea.zone/
1---
2comment: true
3title: Install wire
4description: How to install wire tool.
5---
6
7# Install wire
8
9{{ $frontmatter.description }}
10
11::: info
12
13The `wire` binary and the `wire.makeHive` function are tightly coupled, so it is
14recommended that you use the same version for both.
15
16:::
17
18It is recommended you stick to either using a tagged version of wire, or the `stable` branch which tracks the latest stable tag.
19
20## Binary Cache
21
22You should enable the [garnix binary cache](https://garnix.io/docs/caching) _before_
23continuing otherwise you will be compiling from source:
24
25::: code-group
26<<< @/snippets/tutorial/cache.conf [nix.conf]
27<<< @/snippets/tutorial/cache.nix [configuration.nix]
28:::
29
30## Installation through flakes
31
32When using flakes, you should install wire through the same input you create
33your hive from, sourced from the `stable` branch.
34
35::: code-group
36<<< @/snippets/guides/installation/flake.nix [flake.nix]
37:::
38
39## Installation through npins
40
41With npins you may allow it to use release tags instead of the `stable`
42branch.
43
44Using npins specifically is not required, you can pin your sources in any way
45you'd like, really.
46
47```sh
48$ npins add github forallsys wire --branch stable
49```
50
51Alternatively, you can use a tag instead:
52
53```sh
54$ npins add github forallsys wire --at v1.1.1
55```
56
57Then, use this pinned version of wire for both your `hive.nix` and `shell.nix`:
58
59<<< @/snippets/guides/installation/shell.nix{8} [shell.nix]
60<<< @/snippets/guides/installation/hive.nix [hive.nix]