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.

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