nix-dotfiles/hosts/goopnet-interface/apple-macbook-air-9-1.nix

63 lines
1.8 KiB
Nix

{ pkgs, ... }:
{
# support power features such as suspend to ram
powerManagement.enable = true;
# tune power saving options on boot
powerManagement.powertop.enable = true;
# thermald proactively prevents overheating on intel CPUs and works well with other tools
services.thermald.enable = true;
# power-profile-daemon for power management
services.power-profiles-daemon.enable = true;
# manage fans for macbook devices
services.mbpfan.enable = true;
# disable tiny-dfr module from the nixos-hardware module
hardware.apple-t2.enableTinyDfr = false;
# better performance than the actual intel driver
services.xserver.videoDrivers = [ "modesetting" ];
# needed for our broadcom/brcm 4377b chip to work
hardware.firmware = with pkgs; [
my.apple-firmware
];
# handle suspend issues (fuck you broadcom!)
powerManagement.powerDownCommands = ''
${pkgs.kmod}/bin/modprobe -r brcmfmac_wcc
${pkgs.kmod}/bin/modprobe -r brcmfmac
${pkgs.kmod}/bin/modprobe -r hci_bcm4377
'';
powerManagement.resumeCommands = ''
${pkgs.kmod}/bin/modprobe hci_bcm4377
${pkgs.kmod}/bin/modprobe brcmfmac
${pkgs.kmod}/bin/modprobe brcmfmac_wcc
'';
# VA-API and opengl
hardware.graphics = {
extraPackages = with pkgs; [
intel-media-driver
(intel-vaapi-driver.override { enableHybridCodec = true; })
libvdpau-va-gl
];
extraPackages32 = with pkgs.pkgsi686Linux; [
intel-media-driver
(intel-vaapi-driver.override { enableHybridCodec = true; })
libvdpau-va-gl
];
};
environment.variables = {
LIBVA_DRIVER_NAME= "iHD";
VDPAU_DRIVER = "va_gl";
};
environment.systemPackages = with pkgs; [ intel-gpu-tools ];
boot.kernelParams = [
# enable the i915 sandybridge framebuffer compression (475mw savings)
"i915.enable_fbc=1"
"i915.enable_gvt=1"
];
}