diff --git a/flake.lock b/flake.lock index f5544a5..a2fce2c 100644 --- a/flake.lock +++ b/flake.lock @@ -207,11 +207,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1745955289, - "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=", + "lastModified": 1746341346, + "narHash": "sha256-WjupK5Xpc+viJlJWiyPHp/dF4aJItp1BPuFsEdv2/fI=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b", + "rev": "0833dc8bbc4ffa9cf9b0cbfccf1c5ec8632fc66e", "type": "github" }, "original": { @@ -222,11 +222,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1746055187, - "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", + "lastModified": 1746183838, + "narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", + "rev": "bf3287dac860542719fe7554e21e686108716879", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1745930157, - "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", + "lastModified": 1746232882, + "narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", + "rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 86f3827..5148d6e 100644 --- a/flake.nix +++ b/flake.nix @@ -85,6 +85,7 @@ enable = true; settings.noLambdaPatternNames = true; }; + flake-checker.enable = true; markdownlint.enable = true; nixfmt-rfc-style.enable = true; shellcheck.enable = true; diff --git a/machines/core/modules.nix b/machines/core/modules.nix index 4977464..b608601 100644 --- a/machines/core/modules.nix +++ b/machines/core/modules.nix @@ -13,7 +13,6 @@ _: { ]; kernelModules = [ - "dm-snapshot" "e1000e" "nvme" ]; diff --git a/machines/newton/hardware-configuration.nix b/machines/newton/hardware-configuration.nix index 3c97088..45a3738 100644 --- a/machines/newton/hardware-configuration.nix +++ b/machines/newton/hardware-configuration.nix @@ -14,7 +14,6 @@ "virtio_pci" "virtio_scsi" ]; - boot.initrd.kernelModules = [ "dm-snapshot" ]; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/machines/thinkman/hardware-configuration.nix b/machines/thinkman/hardware-configuration.nix index df207e2..af5463d 100644 --- a/machines/thinkman/hardware-configuration.nix +++ b/machines/thinkman/hardware-configuration.nix @@ -17,14 +17,15 @@ in my.hardware = { bluetooth.enable = true; debug.enable = true; - drive-monitor = { - enable = true; - }; + drive-monitor.enable = true; firmware = { enable = true; inherit cpuFlavor; }; - graphics.cpuFlavor = cpuFlavor; + graphics = { + enable = true; + inherit cpuFlavor; + }; id-card.enable = true; keychron.enable = true; monitor.enable = true; diff --git a/modules/hardware/graphics/default.nix b/modules/hardware/graphics/default.nix index a093a19..400df22 100644 --- a/modules/hardware/graphics/default.nix +++ b/modules/hardware/graphics/default.nix @@ -9,29 +9,46 @@ let in { options.my.hardware.graphics = with lib; { + enable = mkEnableOption "graphics configuration"; cpuFlavor = mkOption { - type = with types; nullOr (enum [ "intel" ]); + type = + with types; + nullOr (enum [ + "amd" + "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.graphics = { - enable = true; - extraPackages = with pkgs; [ + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + hardware.graphics.enable = true; + } + # Intel GPU + (lib.mkIf (cfg.cpuFlavor == "intel") { + nixpkgs.config.packageOverrides = pkgs: { + vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; + }; + hardware.graphics.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 ]; - }; - }) - ]; + }) + + (lib.mkIf (cfg.cpuFlavor == "amd") { + hardware.graphics.extraPackages = with pkgs; [ + amdvlk + ]; + hardware.graphics.extraPackages32 = with pkgs; [ + driversi686Linux.amdvlk + ]; + }) + ] + ); }