ALPHA: wire is a tool to deploy nixos systems
wire.althaea.zone/
1# SPDX-License-Identifier: AGPL-3.0-or-later
2# Copyright 2024-2025 wire Contributors
3
4{
5 inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
6
7 outputs =
8 { nixpkgs, self, ... }@inputs:
9 let
10 makeHive = import ./makeHive.nix;
11 in
12 {
13 wire = makeHive {
14 inherit (self) nixosConfigurations;
15 meta.nixpkgs = import nixpkgs { localSystem = "x86_64-linux"; };
16
17 node-a = { };
18 node-b = {
19 nixpkgs.hostPlatform = "x86_64-linux";
20 };
21 };
22
23 nixosConfigurations = {
24 # non-hive nixosConfiguration
25 # will fail to evaluate if this node is ever included
26 # in the hive because this system does not specify
27 # hostPlatform
28 system-c = nixpkgs.lib.nixosSystem {
29 system = "x86_64-linux";
30 specialArgs = { inherit inputs; };
31 modules = [ ];
32 };
33
34 # hive nixosConfiguration
35 # its verified that these are merged because hostPlatform
36 # must be specified, and its not specified in the hive
37 node-a = nixpkgs.lib.nixosSystem {
38 system = "x86_64-linux";
39 specialArgs = { inherit inputs; };
40 modules = [
41 {
42 nixpkgs.hostPlatform = "x86_64-linux";
43 }
44 ];
45 };
46 };
47 };
48}