diff --git a/legacy/modules/intel-video.nix b/legacy/modules/intel-video.nix deleted file mode 100644 index e87dc8f..0000000 --- a/legacy/modules/intel-video.nix +++ /dev/null @@ -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 - ]; - }; -} diff --git a/machines/thinkman/configuration.nix b/machines/thinkman/configuration.nix index 60e6a66..624d11e 100644 --- a/machines/thinkman/configuration.nix +++ b/machines/thinkman/configuration.nix @@ -13,7 +13,6 @@ ../../legacy/modules/filesystem.nix ../../legacy/modules/gaming.nix ../../legacy/modules/hardware-base.nix - ../../legacy/modules/intel-video.nix ../../legacy/modules/media.nix ../../legacy/modules/systemd-user.nix ../../legacy/modules/webcam.nix diff --git a/machines/thinkman/hardware-configuration.nix b/machines/thinkman/hardware-configuration.nix index 7f56ba0..667fb3c 100644 --- a/machines/thinkman/hardware-configuration.nix +++ b/machines/thinkman/hardware-configuration.nix @@ -1,4 +1,7 @@ { config, lib, ... }: +let + cpuFlavor = "intel"; +in { # video driver boot.initrd.kernelModules = [ "i915" ]; @@ -8,13 +11,14 @@ my.hardware = { bluetooth.enable = true; + firmware = { + enable = true; + cpuFlavor = cpuFlavor; + }; + graphics.cpuFlavor = cpuFlavor; keychron.enable = true; nitrokey.enable = true; sound.enable = true; thunderbolt.enable = true; - firmware = { - enable = true; - cpuFlavor = "intel"; - }; }; } diff --git a/modules/hardware/default.nix b/modules/hardware/default.nix index 9bf5b03..dd04582 100644 --- a/modules/hardware/default.nix +++ b/modules/hardware/default.nix @@ -5,6 +5,7 @@ imports = [ ./bluetooth ./firmware + ./graphics ./keychron ./nitrokey ./sound diff --git a/modules/hardware/graphics/default.nix b/modules/hardware/graphics/default.nix new file mode 100644 index 0000000..6088b4f --- /dev/null +++ b/modules/hardware/graphics/default.nix @@ -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 + ]; + }; + }) + ]; +}