main
nix 55 lines 1.47 KB
Raw
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 }