about summary refs log tree commit diff stats
path: root/hosts/laptop/hardware
diff options
context:
space:
mode:
authorene <ene@sils.li>2023-02-11 14:55:47 +0100
committerene <ene@sils.li>2023-02-11 14:58:04 +0100
commit7d01bc0001bbd461008230188bd1f65a808b45f6 (patch)
treea7d5d92a194d79fc8fc3eaacb7bbba8113704b65 /hosts/laptop/hardware
parentFix: Remove typo from home-manager directory name (diff)
downloadnixos-config-7d01bc0001bbd461008230188bd1f65a808b45f6.tar.gz
nixos-config-7d01bc0001bbd461008230188bd1f65a808b45f6.zip
Fix: Rename host for clarity and import home-manager
Diffstat (limited to 'hosts/laptop/hardware')
-rw-r--r--hosts/laptop/hardware/cpu.nix4
-rw-r--r--hosts/laptop/hardware/default.nix28
-rw-r--r--hosts/laptop/hardware/gpu.nix15
3 files changed, 47 insertions, 0 deletions
diff --git a/hosts/laptop/hardware/cpu.nix b/hosts/laptop/hardware/cpu.nix
new file mode 100644
index 00000000..2d7232cd
--- /dev/null
+++ b/hosts/laptop/hardware/cpu.nix
@@ -0,0 +1,4 @@
+{config, ...}: {
+  powerManagement.cpuFreqGovernor = "powersave";
+  hardware.cpu.amd.updateMicrocode = true; # Why not?
+}
diff --git a/hosts/laptop/hardware/default.nix b/hosts/laptop/hardware/default.nix
new file mode 100644
index 00000000..bd7241b3
--- /dev/null
+++ b/hosts/laptop/hardware/default.nix
@@ -0,0 +1,28 @@
+{
+  config,
+  lib,
+  pkgs,
+  modulesPath,
+  ...
+}: {
+  imports = [
+    (modulesPath + "/installer/scan/not-detected.nix") # TODO is this necessary?
+    ./cpu.nix
+    ./gpu.nix
+  ];
+
+  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+
+  system.fileSystemLayouts = {
+    enable = true;
+    mainDisk = "/dev/disk/by-uuid/<uuid>";
+    efiDisk = "/dev/disk/by-uuid/<uuid>";
+  };
+
+  boot = {
+    kernelModules = ["kvm-amd"];
+
+    # TODO check this:
+    initrd.availableKernelModules = ["xhci_pci" "nvme" "rtsx_pci_sdmmc"];
+  };
+}
diff --git a/hosts/laptop/hardware/gpu.nix b/hosts/laptop/hardware/gpu.nix
new file mode 100644
index 00000000..c3df51ae
--- /dev/null
+++ b/hosts/laptop/hardware/gpu.nix
@@ -0,0 +1,15 @@
+{
+  config,
+  pkgs,
+  lib,
+  ...
+}: {
+  hardware.opengl.extraPackages = with pkgs; [
+    rocm-opencl-icd # open-cl
+    amdvlk # or directly through mesa
+    amd-media-driver # libva
+  ];
+
+  # Force radv, TODO is this logical?
+  environment.variables.AMD_VULKAN_ICD = "RADV";
+}