about summary refs log tree commit diff
path: root/hardware/chromebook/hardware.nix
diff options
context:
space:
mode:
Diffstat (limited to 'hardware/chromebook/hardware.nix')
-rw-r--r--hardware/chromebook/hardware.nix54
1 files changed, 54 insertions, 0 deletions
diff --git a/hardware/chromebook/hardware.nix b/hardware/chromebook/hardware.nix
new file mode 100644
index 0000000..85b7227
--- /dev/null
+++ b/hardware/chromebook/hardware.nix
@@ -0,0 +1,54 @@
+{ config, lib, inputs, pkgs, modulesPath, ... }:
+let
+  powerMode = "schedutil";
+in
+{
+  imports = [
+    ./disks.nix
+  ];
+
+  boot = {
+    initrd = {
+      availableKernelModules = [ "xhci_pci" "usb_storage" "sd_mod" "sdhci_acpi" "aesni_intel" "cryptd" ];
+      kernelModules = [ "i915" ];
+    };
+    kernelPackages = pkgs.linuxPackages_latest;
+    kernelModules = [ "kvm_intel" ];
+    extraModulePackages = [ ];
+    kernelParams = [ "net.ifnames=0" "biosdevname=0" "iomem=relaxed" "mitigations=off" ];
+  };
+
+  powerManagement.cpuFreqGovernor = powerMode;
+
+  services = {
+    xserver = {
+      videoDrivers = [ "intel" ];
+
+      # Enable touchpad support (enabled default in most desktopManager).
+      synaptics = {
+        enable = true;
+        palmDetect = true;
+        twoFingerScroll = true;
+        minSpeed = "1.0";
+        maxSpeed = "1.12";
+        accelFactor = "0.01";
+      };
+    };
+    fstrim.enable = true;
+    tlp.enable = true;
+  };
+
+  hardware = {
+    opengl = {
+      enable = true;
+      driSupport = true;
+      extraPackages = with pkgs; [
+        intel-media-driver # LIBVA_DRIVER_NAME=iHD
+        vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
+        vaapiVdpau
+        libvdpau-va-gl
+      ];
+    };
+  };
+
+}