{
  config,
  lib,
  pkgs,
  ...
}:
{

  security.tpm2.enable = true;

  hardware.cpu.amd.updateMicrocode = true;

  hardware.graphics.enable = true;
  hardware.graphics.enable32Bit = true;
  services.xserver.videoDrivers = [ "nvidia" ];
  nixpkgs.config.cudaSupport = true;

  hardware.nvidia = {
    package = config.boot.kernelPackages.nvidiaPackages.latest;
    modesetting.enable = true;
    powerManagement.enable = true;
    open = true;
  };

  # openrgb no longer recognises the device?
  # systemd.services.no-rgb = {
  #   wantedBy = ["multi-user.target"];
  #   description = "rgb led turn-off-er";
  #   serviceConfig = {
  #     Type = "oneshot";
  #     ExecStart = ''${pkgs.openrgb}/bin/openrgb -d "HyperX DRAM" -m static -c 000000'';
  #     After = ["openrgb"];
  #   };
  # };

  # services.hardware.openrgb = {
  #   enable = true;
  #   motherboard = "amd";
  # };
}
