{ config, lib, pkgs, modulesPath, ... }: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "amdgpu" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; fileSystems."/" = { device = "/dev/disk/by-uuid/ac5a70cf-4b12-4d02-b5b4-a6eddf4c40b5"; fsType = "ext4"; }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/5610-F4A9"; fsType = "vfat"; options = [ "fmask=0077" "dmask=0077" ]; }; swapDevices = [ ]; # Enable Vulkan support for AMD graphics cards hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ amdvlk ]; # Enable OpenGL hardware.opengl = { enable = true; driSupport = true; driSupport32Bit = true; # Enable the latest AMDGPU drivers extraPackages = with pkgs; [ amdvlk rocm-opencl-icd rocm-opencl-runtime ]; }; # Add ROCm packages environment.systemPackages = with pkgs; [ rocmPackages.rocm-smi rocmPackages.clr rocmPackages.rocm-core rocmPackages.hipcc rocmPackages.rocm-device-libs ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction # with explicit per-interface declarations with `networking.interfaces..useDHCP`. networking.useDHCP = lib.mkDefault true; networking.hostName = "mennos-gamingpc"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; }