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

  1. { nixpkgs, disko, sops, gather, ... }@inputs:
  2. let
  3. deploymentPkgs = import nixpkgs {
  4. localSystem.system = "x86_64-linux";
  5. };
  6. machines = deploymentPkgs.callPackage ./machines.nix { };
  7. in
  8. with deploymentPkgs.lib; let
  9. mkMachine = machine: { lib, ... }: {
  10. imports = [
  11. ./shared
  12. ./modules
  13. (import /${machine.path} machine.opts)
  14. disko.nixosModules.disko
  15. sops.nixosModules.sops
  16. gather.nixosModules.gather
  17. ];
  18. _module.args = {
  19. inherit machine;
  20. };
  21. };
  22. in
  23. {
  24. meta = {
  25. nixpkgs = deploymentPkgs;
  26. specialArgs = {
  27. inherit inputs;
  28. };
  29. };
  30. } // (listToAttrs (map
  31. (machine: nameValuePair machine.name (mkMachine machine))
  32. machines))