{ lib, pkgs, ... }:
{
    hardware.trackpoint = {
        enable = true;
        sensitivity = 230;
        speed = 170;
    };

    # Ensure that trackpoint mouse buttons work after suspend without having
    # to touch the trackpoint first
    powerManagement = {
        powerDownCommands = ''
            modprobe -r psmouse
        '';
        resumeCommands = ''
            modprobe psmouse
        '';
    };

    services.xserver.videoDrivers = [ "modesetting" ];

    boot.initrd.kernelModules = [ "i915" ];
    hardware.opengl = {
        enable = true;
        # driSupport = true;
        # driSupport32Bit = true;
    };
    environment.variables = {
        VDPAU_DRIVER = "va_gl";
    };
    hardware.opengl.extraPackages = with pkgs; [
        (if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11") then vaapiIntel else intel-vaapi-driver)
        libvdpau-va-gl
        intel-media-driver
    ];

    console = {
        font = "Lat2-Terminus16";
        keyMap = "de";
    };

    boot.kernelParams = [
        # Disable ’Panel Self Refresh’. Fixes random freezes.
        "i915.enable_psr=0"
    ];

    hardware.cpu.intel.updateMicrocode = true;
}
