| 1 | { inputs, ... }: |
| 2 | { |
| 3 | flake.nixosConfigurations = |
| 4 | let |
| 5 | mkNixOS = |
| 6 | system: config: |
| 7 | inputs.nixpkgs.lib.nixosSystem { |
| 8 | inherit system; |
| 9 | |
| 10 | specialArgs = { inherit inputs; }; |
| 11 | |
| 12 | modules = [ |
| 13 | inputs.agenix.nixosModules.age |
| 14 | inputs.disko.nixosModules.disko |
| 15 | |
| 16 | ./common/hardening.nix |
| 17 | ./common/network.nix |
| 18 | ./common/nix.nix |
| 19 | ./common/node-exporter.nix |
| 20 | ./common/hydra-queue-builder.nix |
| 21 | ./common/system.nix |
| 22 | ./common/tools.nix |
| 23 | ./common/update.nix |
| 24 | ./common/users.nix |
| 25 | ./common/ssh.nix |
| 26 | |
| 27 | ../modules/rasdaemon.nix |
| 28 | ../modules/nspawn-test-containers.nix |
| 29 | |
| 30 | config |
| 31 | ]; |
| 32 | }; |
| 33 | in |
| 34 | { |
| 35 | # Epyc 9454P (48C/96T), 256 GB DDR4 RAM, 2x 1.92TB PCIe4 NVME |
| 36 | elated-minsky = mkNixOS "x86_64-linux" ./instances/elated-minsky.nix; |
| 37 | sleepy-brown = mkNixOS "x86_64-linux" ./instances/sleepy-brown.nix; |
| 38 | |
| 39 | # Ampere Q80-30 (80C), 256 GB DDR4 RAM, 2x3.84TB PCIe4 NVME |
| 40 | goofy-hopcroft = mkNixOS "aarch64-linux" ./instances/goofy-hopcroft.nix; |
| 41 | |
| 42 | # Ampere Q80-30 (80C), 128 GB DDR4 RAM, 2x960GB PCIe4 NVME |
| 43 | hopeful-rivest = mkNixOS "aarch64-linux" ./instances/hopeful-rivest.nix; |
| 44 | }; |
| 45 | |
| 46 | perSystem = |
| 47 | { pkgs, inputs', ... }: |
| 48 | { |
| 49 | devShells.builders = pkgs.mkShell { |
| 50 | buildInputs = [ |
| 51 | inputs'.agenix.packages.agenix |
| 52 | ]; |
| 53 | }; |
| 54 | }; |
| 55 | } |