nixos-config/modules/hardware.nix

59 lines
1.4 KiB
Nix
Raw Normal View History

2019-08-27 23:41:02 +04:00
{ pkgs, config, lib, ... }:
with rec {
inherit (config) device devices deviceSpecific;
};
with deviceSpecific; {
hardware.cpu.${devices.${device}.cpu.vendor}.updateMicrocode = true; # Update microcode
2019-09-14 22:12:56 +04:00
hardware.enableRedistributableFirmware = true; # For some unfree drivers
2019-08-27 23:41:02 +04:00
2019-09-14 22:12:56 +04:00
# Enable hardware video acceleration
nixpkgs.config.packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
};
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
extraPackages = if video == "intel" then [
pkgs.vaapiIntel
pkgs.vaapiVdpau
pkgs.libvdpau-va-gl
pkgs.intel-media-driver
] else [ ];
};
2019-08-27 23:41:02 +04:00
hardware.bluetooth.enable = isLaptop;
boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
2019-09-14 22:12:56 +04:00
kernelPackages = if isVM then
pkgs.linuxPackages
2019-08-27 23:41:02 +04:00
else
2019-09-14 22:12:56 +04:00
pkgs.linuxPackages_latest;
2019-08-27 23:41:02 +04:00
supportedFilesystems = [ "ntfs" ];
2019-09-14 22:12:56 +04:00
# extraModulePackages = [ config.boot.kernelPackages.exfat-nofuse ];
2019-08-27 23:41:02 +04:00
};
sound.enable = true;
hardware.pulseaudio = {
enable = true;
# package = pkgs.pulseaudioFull;
support32Bit = true;
# systemWide = true;
};
2019-09-14 22:12:56 +04:00
# SSD Section
boot.kernel.sysctl = {
"vm.swappiness" = if isSSD then 1 else 10;
};
services.fstrim = {
enable = isSSD;
interval = "weekly";
};
2019-08-27 23:41:02 +04:00
}