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.
41 lines
716 B
41 lines
716 B
{ nixpkgs, disko, sops, gather, ... }@inputs:
|
|
|
|
let
|
|
deploymentPkgs = import nixpkgs {
|
|
localSystem.system = "x86_64-linux";
|
|
};
|
|
|
|
machines = deploymentPkgs.callPackage ./machines.nix { };
|
|
|
|
in
|
|
with deploymentPkgs.lib; let
|
|
|
|
mkMachine = machine: { lib, ... }: {
|
|
imports = [
|
|
./shared
|
|
./modules
|
|
|
|
(import /${machine.path} machine.opts)
|
|
|
|
disko.nixosModules.disko
|
|
sops.nixosModules.sops
|
|
gather.nixosModules.gather
|
|
];
|
|
|
|
_module.args = {
|
|
inherit machine;
|
|
};
|
|
};
|
|
|
|
in
|
|
{
|
|
meta = {
|
|
nixpkgs = deploymentPkgs;
|
|
|
|
specialArgs = {
|
|
inherit inputs;
|
|
};
|
|
};
|
|
} // (listToAttrs (map
|
|
(machine: nameValuePair machine.name (mkMachine machine))
|
|
machines))
|