ALPHA: wire is a tool to deploy nixos systems wire.althaea.zone/
at rollback-hacking 36 lines 993 B view raw
1{ flake }: 2let 3 nixpkgs = import flake.inputs.nixpkgs { 4 system = "x86_64-linux"; 5 }; 6 7 vmNode = 8 index: 9 nixpkgs.lib.nameValuePair "node_${builtins.toString index}" { 10 imports = [ 11 ./vm.nix 12 flake.checks."x86_64-linux"."bench".nodes."node_${builtins.toString index}".system.build.networkConfig 13 ]; 14 15 _module.args = { 16 index = builtins.toString index; 17 }; 18 19 deployment.keys = builtins.listToAttrs ( 20 builtins.map ( 21 index: 22 nixpkgs.lib.nameValuePair "key-${builtins.toString index}" { 23 keyFile = ./key.txt; 24 # 80% of keys pre activation, 20% post activation. 25 uploadAt = if index <= (200 * 0.8) then "pre-activation" else "post-activation"; 26 } 27 ) (nixpkgs.lib.range 0 200) 28 ); 29 30 nixpkgs.hostPlatform = "x86_64-linux"; 31 }; 32in 33{ 34 meta.nixpkgs = nixpkgs; 35} 36// builtins.listToAttrs (builtins.map vmNode (nixpkgs.lib.range 0 (import ./num-nodes.nix)))