diff --git a/hw/nix-surface.nix b/hw/nix-surface.nix index bef3904..7e28fe2 100644 --- a/hw/nix-surface.nix +++ b/hw/nix-surface.nix @@ -17,12 +17,6 @@ with lib; let cfg = config.athenix.hw.nix-surface; - # Use older kernel version for better Surface Go compatibility - refSystem = inputs.nixpkgs-old-kernel.lib.nixosSystem { - system = pkgs.stdenv.hostPlatform.system; - modules = [ inputs.nixos-hardware.nixosModules.microsoft-surface-go ]; - }; - refKernelPackages = refSystem.config.boot.kernelPackages; in { imports = [ @@ -71,7 +65,13 @@ in ]; # Use older kernel for better Surface hardware support - boot.kernelPackages = lib.mkForce refKernelPackages; + # Evaluated lazily - only when this module is enabled + boot.kernelPackages = lib.mkForce ( + (inputs.nixpkgs-old-kernel.lib.nixosSystem { + system = pkgs.stdenv.hostPlatform.system; + modules = [ inputs.nixos-hardware.nixosModules.microsoft-surface-go ]; + }).config.boot.kernelPackages + ); # ========== Filesystem Configuration ========== athenix.host.filesystem.swapSize = lib.mkDefault "8G";