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.

66 lines
1.1 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. { pkgs, config, inputs, modulesPath, machine, ... }:
  2. {
  3. imports = [
  4. ./packages.nix
  5. ./network.nix
  6. ./users.nix
  7. ./userenv.nix
  8. ./ssh.nix
  9. ./rdma.nix
  10. ./ssl.nix
  11. ./slurm.nix
  12. ./edumpi.nix
  13. "${modulesPath}/profiles/headless.nix"
  14. "${modulesPath}/profiles/all-hardware.nix"
  15. ];
  16. sops = {
  17. defaultSopsFile = /${machine.path}/secrets.yaml;
  18. defaultSopsFormat = "yaml";
  19. age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
  20. };
  21. gather = {
  22. target = part: "gathered/${config.networking.hostName}/${part}";
  23. root = ../.;
  24. };
  25. time.timeZone = "Europe/Berlin";
  26. console.keyMap = "de";
  27. environment.systemPackages = with pkgs; [
  28. vim
  29. wget
  30. curl
  31. tmux
  32. fd
  33. ripgrep
  34. htop
  35. iotop
  36. iftop
  37. file
  38. ];
  39. nix.nixPath = [
  40. "nixpkgs=${inputs.nixpkgs}"
  41. ];
  42. boot.kernelParams = [
  43. "mitigations=off" # Performance FTW!
  44. "console=tty0"
  45. "console=ttyS1,57600n8"
  46. ];
  47. services.haveged.enable = true;
  48. services.prometheus.exporters = {
  49. node.enable = true;
  50. ipmi.enable = true;
  51. };
  52. system.stateVersion = "22.11";
  53. }