nix/hardware.nix
2023-09-19 03:13:48 +02:00

99 lines
2.2 KiB
Nix

{
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot = {
# Bootloader.
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
initrd = {
# Setup keyfile
secrets = {
"/crypto_keyfile.bin" = null;
};
# modules
availableKernelModules = ["nvme" "xhci_pci" "uas" "usbhid" "usb_storage" "sd_mod"];
kernelModules = [];
# Enable swap on luks
# luks = {
# # Root
# devices."luks-0ebc7402-5f50-4549-a407-b1f859285102".device = "/dev/disk/by-uuid/0ebc7402-5f50-4549-a407-b1f859285102";
# # Swap
# devices."luks-fa1e760a-71a3-4a79-a791-684cd82d9c3c".device = "/dev/disk/by-uuid/fa1e760a-71a3-4a79-a791-684cd82d9c3c";
# devices."luks-fa1e760a-71a3-4a79-a791-684cd82d9c3c".keyFile = "/crypto_keyfile.bin";
# };
};
kernelModules = ["kvm-amd" "amdgpu"];
extraModulePackages = [];
};
services.xserver.videoDrivers = ["amdgpu"];
# fileSystems = {
# "/" = {
# device = "/dev/disk/by-uuid/6ae6ea01-72d5-4cee-a512-7aab551577a0";
# fsType = "ext4";
# };
# "/boot" = {
# device = "/dev/disk/by-uuid/B471-B193";
# fsType = "vfat";
# };
# };
# swapDevices = [
# {device = "/dev/disk/by-uuid/5b3a6fa6-bdec-4bfb-914d-48d870776a53";}
# ];
networking = {
useDHCP = lib.mkDefault true;
interfaces = {
enp5s0f4u1u1c2 = {
useDHCP = false;
ipv4.addresses = [
{
address = "192.168.0.21";
prefixLength = 24;
}
];
};
};
defaultGateway = {
address = "192.168.0.5";
interface = "enp5s0f4u1u1c2";
};
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware = {
opengl = {
driSupport = true;
driSupport32Bit = true;
extraPackages = with pkgs; [
rocm-opencl-icd
rocm-opencl-runtime
];
};
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
};
systemd.tmpfiles.rules = [
"L+ /opt/rocm/hip - - - - ${pkgs.hip}"
];
}