ALPHA: wire is a tool to deploy nixos systems
wire.althaea.zone/
1name: Build
2
3on:
4 push:
5 branches: [main]
6
7jobs:
8 build-partitioned:
9 name: Build Partitioned
10 runs-on: ubuntu-latest
11 permissions: {}
12 strategy:
13 matrix:
14 # Break into 4 partitions
15 partition: [1, 2, 3, 4]
16 steps:
17 - uses: actions/checkout@v6
18 with:
19 persist-credentials: false
20 # This will likely be required if you have multiple architectures
21 # in your hive.
22 - name: Set up QEMU
23 uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130
24 - uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15
25 with:
26 nix_path: nixpkgs=channel:nixos-unstable
27 extra_nix_config: |
28 # Install binary cache as described in the install wire guide
29 trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=
30 substituters = https://cache.nixos.org/ https://cache.garnix.io
31
32 # Again, include additional architectures if you have multiple
33 # architectures in your hive
34 extra-platforms = aarch64-linux i686-linux
35 # Uses wire from your shell (as described in the install wire guide).
36 - name: Build partition ${{ matrix.partition }}
37 run: nix develop -Lvc wire \
38 build \
39 --parallel 1 \
40 --partition ${{ matrix.partition }}/4