hardware/graphics: init from legacy

This commit is contained in:
Felix Buehler 2023-03-19 14:42:42 +01:00
parent 28b35bdd1c
commit 55964e1622
5 changed files with 41 additions and 20 deletions

View file

@ -1,15 +0,0 @@
{ config, pkgs, ... }:
{
nixpkgs.config.packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
};
hardware.opengl = {
enable = 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
];
};
}

View file

@ -13,7 +13,6 @@
../../legacy/modules/filesystem.nix ../../legacy/modules/filesystem.nix
../../legacy/modules/gaming.nix ../../legacy/modules/gaming.nix
../../legacy/modules/hardware-base.nix ../../legacy/modules/hardware-base.nix
../../legacy/modules/intel-video.nix
../../legacy/modules/media.nix ../../legacy/modules/media.nix
../../legacy/modules/systemd-user.nix ../../legacy/modules/systemd-user.nix
../../legacy/modules/webcam.nix ../../legacy/modules/webcam.nix

View file

@ -1,4 +1,7 @@
{ config, lib, ... }: { config, lib, ... }:
let
cpuFlavor = "intel";
in
{ {
# video driver # video driver
boot.initrd.kernelModules = [ "i915" ]; boot.initrd.kernelModules = [ "i915" ];
@ -8,13 +11,14 @@
my.hardware = { my.hardware = {
bluetooth.enable = true; bluetooth.enable = true;
firmware = {
enable = true;
cpuFlavor = cpuFlavor;
};
graphics.cpuFlavor = cpuFlavor;
keychron.enable = true; keychron.enable = true;
nitrokey.enable = true; nitrokey.enable = true;
sound.enable = true; sound.enable = true;
thunderbolt.enable = true; thunderbolt.enable = true;
firmware = {
enable = true;
cpuFlavor = "intel";
};
}; };
} }

View file

@ -5,6 +5,7 @@
imports = [ imports = [
./bluetooth ./bluetooth
./firmware ./firmware
./graphics
./keychron ./keychron
./nitrokey ./nitrokey
./sound ./sound

View file

@ -0,0 +1,32 @@
{ config, lib, pkgs, ... }:
let
cfg = config.my.hardware.graphics;
in
{
options.my.hardware.graphics = with lib; {
cpuFlavor = mkOption {
type = with types; nullOr (enum [ "intel" ]);
default = null;
example = "intel";
description = "Which kind of GPU";
};
};
config = lib.mkMerge [
# Intel GPU
(lib.mkIf (cfg.cpuFlavor == "intel") {
nixpkgs.config.packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
};
hardware.opengl = {
enable = 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
];
};
})
];
}