{ self, inputs, ... }: { flake.modules.nixos.p14sHardware = { config, lib, pkgs, modulesPath, ... }: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot = { loader = { systemd-boot.enable = true; canTouchEfiVariables = true; }; initrd = { availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "usbhid" "sd_mod" ]; kernelModules = [ "amdgpu" ]; }; kernelModules = [ "kvm-amd" ]; extraModulePackages = [ ]; }; # boot.loader.systemd-boot.enable = true; # boot.loader.efi.canTouchEfiVariables = true; # boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "usbhid" "sd_mod" ]; # boot.initrd.kernelModules = [ "amdgpu" ]; # boot.kernelModules = [ "kvm-amd" ]; # boot.extraModulePackages = [ ]; fileSystems."/" = { device = "/dev/disk/by-uuid/fbc7d8bc-080b-4554-a2b2-5f92d059ce07"; fsType = "ext4"; }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/9A04-ADD8"; fsType = "vfat"; options = [ "fmask=0022" "dmask=0022" ]; }; swapDevices = [ ]; # 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.interfaces.enp102s0u2u4.useDHCP = lib.mkDefault true; # networking.interfaces.enp1s0f0.useDHCP = lib.mkDefault true; # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.graphics = with pkgs; { ## amdvlk: an open-source Vulkan driver from AMD extraPackages = [ amdvlk rocmPackages.clr.icd ]; extraPackages32 = [ driversi686Linux.amdvlk ]; enable32Bit = true; }; }; }