Compare commits

..

No commits in common. "ca9a3149a5388f8e48722f504832c4290e4a2142" and "11a32bf462df6e9ba81f5ba36057a2c1097850f7" have entirely different histories.

6 changed files with 28 additions and 45 deletions

18
flake.lock generated
View file

@ -207,11 +207,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1746341346, "lastModified": 1745955289,
"narHash": "sha256-WjupK5Xpc+viJlJWiyPHp/dF4aJItp1BPuFsEdv2/fI=", "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "0833dc8bbc4ffa9cf9b0cbfccf1c5ec8632fc66e", "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -222,11 +222,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1746183838, "lastModified": 1746055187,
"narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=", "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "bf3287dac860542719fe7554e21e686108716879", "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -276,11 +276,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1746232882, "lastModified": 1745930157,
"narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -85,7 +85,6 @@
enable = true; enable = true;
settings.noLambdaPatternNames = true; settings.noLambdaPatternNames = true;
}; };
flake-checker.enable = true;
markdownlint.enable = true; markdownlint.enable = true;
nixfmt-rfc-style.enable = true; nixfmt-rfc-style.enable = true;
shellcheck.enable = true; shellcheck.enable = true;

View file

@ -13,6 +13,7 @@ _: {
]; ];
kernelModules = [ kernelModules = [
"dm-snapshot"
"e1000e" "e1000e"
"nvme" "nvme"
]; ];

View file

@ -14,6 +14,7 @@
"virtio_pci" "virtio_pci"
"virtio_scsi" "virtio_scsi"
]; ];
boot.initrd.kernelModules = [ "dm-snapshot" ];
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View file

@ -17,15 +17,14 @@ in
my.hardware = { my.hardware = {
bluetooth.enable = true; bluetooth.enable = true;
debug.enable = true; debug.enable = true;
drive-monitor.enable = true; drive-monitor = {
enable = true;
};
firmware = { firmware = {
enable = true; enable = true;
inherit cpuFlavor; inherit cpuFlavor;
}; };
graphics = { graphics.cpuFlavor = cpuFlavor;
enable = true;
inherit cpuFlavor;
};
id-card.enable = true; id-card.enable = true;
keychron.enable = true; keychron.enable = true;
monitor.enable = true; monitor.enable = true;

View file

@ -9,46 +9,29 @@ let
in in
{ {
options.my.hardware.graphics = with lib; { options.my.hardware.graphics = with lib; {
enable = mkEnableOption "graphics configuration";
cpuFlavor = mkOption { cpuFlavor = mkOption {
type = type = with types; nullOr (enum [ "intel" ]);
with types;
nullOr (enum [
"amd"
"intel"
]);
default = null; default = null;
example = "intel"; example = "intel";
description = "Which kind of GPU"; description = "Which kind of GPU";
}; };
}; };
config = lib.mkIf cfg.enable ( config = lib.mkMerge [
lib.mkMerge [ # Intel GPU
{ (lib.mkIf (cfg.cpuFlavor == "intel") {
hardware.graphics.enable = true; nixpkgs.config.packageOverrides = pkgs: {
} vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
# Intel GPU };
(lib.mkIf (cfg.cpuFlavor == "intel") { hardware.graphics = {
nixpkgs.config.packageOverrides = pkgs: { enable = true;
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; extraPackages = with pkgs; [
};
hardware.graphics.extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD intel-media-driver # LIBVA_DRIVER_NAME=iHD
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
vaapiVdpau vaapiVdpau
libvdpau-va-gl libvdpau-va-gl
]; ];
}) };
})
(lib.mkIf (cfg.cpuFlavor == "amd") { ];
hardware.graphics.extraPackages = with pkgs; [
amdvlk
];
hardware.graphics.extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
})
]
);
} }