NixOS configuration for HPC cluster
https://docs.hpc.informatik.hs-fulda.de/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
689 B
38 lines
689 B
{ nixpkgs, disko, sops, ... }@inputs:
|
|
|
|
let
|
|
deploymentPkgs = import nixpkgs {
|
|
localSystem.system = "x86_64-linux";
|
|
};
|
|
|
|
in with deploymentPkgs.lib; let
|
|
|
|
mkMachine = type: opts: { lib, ... }:
|
|
let
|
|
machine = import ./machines/${type} opts;
|
|
in {
|
|
imports = [
|
|
./shared
|
|
./modules
|
|
machine
|
|
sops.nixosModules.sops
|
|
disko.nixosModules.disko
|
|
];
|
|
};
|
|
|
|
machines = {
|
|
manager = mkMachine "manager" {};
|
|
} // (listToAttrs (genList (i: nameValuePair
|
|
"node-${fixedWidthNumber 2 i}"
|
|
(mkMachine "node" { id = i; })
|
|
) 16));
|
|
|
|
in {
|
|
meta = {
|
|
nixpkgs = deploymentPkgs;
|
|
|
|
specialArgs = {
|
|
inherit inputs;
|
|
};
|
|
};
|
|
} // machines
|