diff --git a/flake.lock b/flake.lock index a2fce2c..f5544a5 100644 --- a/flake.lock +++ b/flake.lock @@ -207,11 +207,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1746341346, - "narHash": "sha256-WjupK5Xpc+viJlJWiyPHp/dF4aJItp1BPuFsEdv2/fI=", + "lastModified": 1745955289, + "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "0833dc8bbc4ffa9cf9b0cbfccf1c5ec8632fc66e", + "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b", "type": "github" }, "original": { @@ -222,11 +222,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1746183838, - "narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=", + "lastModified": 1746055187, + "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bf3287dac860542719fe7554e21e686108716879", + "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1746232882, - "narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", + "lastModified": 1745930157, + "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", + "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 5148d6e..86f3827 100644 --- a/flake.nix +++ b/flake.nix @@ -85,7 +85,6 @@ 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 b608601..4977464 100644 --- a/machines/core/modules.nix +++ b/machines/core/modules.nix @@ -13,6 +13,7 @@ _: { ]; kernelModules = [ + "dm-snapshot" "e1000e" "nvme" ]; diff --git a/machines/newton/hardware-configuration.nix b/machines/newton/hardware-configuration.nix index 45a3738..3c97088 100644 --- a/machines/newton/hardware-configuration.nix +++ b/machines/newton/hardware-configuration.nix @@ -14,6 +14,7 @@ "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 af5463d..df207e2 100644 --- a/machines/thinkman/hardware-configuration.nix +++ b/machines/thinkman/hardware-configuration.nix @@ -17,15 +17,14 @@ in my.hardware = { bluetooth.enable = true; debug.enable = true; - drive-monitor.enable = true; + drive-monitor = { + enable = true; + }; firmware = { enable = true; inherit cpuFlavor; }; - graphics = { - enable = true; - inherit cpuFlavor; - }; + graphics.cpuFlavor = 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 400df22..a093a19 100644 --- a/modules/hardware/graphics/default.nix +++ b/modules/hardware/graphics/default.nix @@ -9,46 +9,29 @@ let in { options.my.hardware.graphics = with lib; { - enable = mkEnableOption "graphics configuration"; cpuFlavor = mkOption { - type = - with types; - nullOr (enum [ - "amd" - "intel" - ]); + type = with types; nullOr (enum [ "intel" ]); default = null; example = "intel"; description = "Which kind of GPU"; }; }; - 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; [ + 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; [ 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 - ]; - }) - ] - ); + }; + }) + ]; }