Hi there, so I got a Lenovo Legion Pro 7 16iax10h yesterday, but NixOS is not able to detect my WiFi Adapter, even though it worked fine on Windows. I had to use USB tethering on my mobile to actually install NixOS. I tried using nixos-hardware and the rtw89 kernel module but neither of them worked. I’ve attached my flake.nix and configuration.nix along with the output from lscpi -k.
Please help, thanks!
# flake.nix
{
description = "Grobo's NixOS Flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
# home-manager = {
# url = "github:nix-community/home-manager";
# inputs.nixpkgs.follows = "nixpkgs";
# };
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
};
outputs = { nixpkgs, nixos-hardware, ... } @ inputs: {
nixosConfigurations.default = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
nixos-hardware.nixosModules.lenovo-legion-16iax10h
./configuration.nix
# inputs.home-manager.nixosModules.default
];
};
};
}
# configuration.nix
{ config, pkgs, lib, inputs, ... }:
{
imports =
[
./hardware-configuration.nix
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
boot.loader.systemd-boot.enable = false;
boot.loader.grub = {
enable = true;
devices = [ "nodev" ];
useOSProber = true;
efiSupport = true;
extraEntries = ''
menuentry "Reboot" {
reboot
}
menuentry "Poweroff" {
halt
}
'';
};
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot";
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelModules = [ "rtw89" ];
networking.hostName = "grobo-nixos";
networking.networkmanager.enable = true;
time.timeZone = "Asia/Kolkata";
i18n.defaultLocale = "en_IN";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_IN";
LC_IDENTIFICATION = "en_IN";
LC_MEASUREMENT = "en_IN";
LC_MONETARY = "en_IN";
LC_NAME = "en_IN";
LC_NUMERIC = "en_IN";
LC_PAPER = "en_IN";
LC_TELEPHONE = "en_IN";
LC_TIME = "en_IN";
};
services.xserver.enable = true;
services.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
services.xserver.xkb = {
layout = "us";
variant = "";
};
services.printing.enable = true;
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
users.users.grobo = {
shell = pkgs.fish;
isNormalUser = true;
description = "GroboChan";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [
kdePackages.kate
];
};
programs.firefox.enable = true;
programs.fish.enable = true;
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
vim
wget
git
htop
];
system.stateVersion = "25.11"; # DO NOT EDIT
}
# from lspci -k
00:00.0 Host bridge: Intel Corporation Arrow Lake-HX 8p+16e cores Host Bridge (rev 01)
Subsystem: Lenovo Device 3d6c
00:01.0 PCI bridge: Intel Corporation Meteor Lake-H PCIe Root Port #12 (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: pcieport
00:02.0 VGA compatible controller: Intel Corporation Arrow Lake-S [Intel Graphics] (rev 06)
Subsystem: Lenovo Device 800e
Kernel driver in use: i915
Kernel modules: i915, xe
00:04.0 Signal processing controller: Intel Corporation Device ad03 (rev 01)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: proc_thermal_pci
Kernel modules: processor_thermal_device_pci
00:06.0 PCI bridge: Intel Corporation Arrow Lake-HX PCIe Root Port #13 (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: pcieport
00:07.0 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: pcieport
00:0a.0 Signal processing controller: Intel Corporation Arrow Lake-HX Crash Log & Telemetry (rev 01)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: intel_vsec
Kernel modules: intel_vsec
00:0b.0 Processing accelerators: Intel Corporation Arrow Lake NPU (rev 01)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: intel_vpu
Kernel modules: intel_vpu
00:0d.0 USB controller: Intel Corporation Meteor Lake-P Thunderbolt 4 USB Controller (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
00:0d.2 USB controller: Intel Corporation Meteor Lake-P Thunderbolt 4 NHI #0 (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: thunderbolt
Kernel modules: thunderbolt
00:14.0 RAM memory: Intel Corporation Arrow Lake-HX Shared SRAM (SOC-S) (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: intel_pmc_ssram_telemetry
Kernel modules: intel_pmc_ssram_telemetry
00:1f.0 ISA bridge: Intel Corporation Arrow Lake-HX Direct eSPI Controller (rev 10)
Subsystem: Lenovo Device 3d6c
00:1f.5 Serial bus controller: Intel Corporation Arrow Lake-HX SPI (flash) Controller (rev 10)
Subsystem: Lenovo Device 3d6c
01:00.0 Non-Volatile memory controller: SK hynix PVC10 NVMe Solid State Drive (DRAM-less)
Subsystem: SK hynix PVC10 NVMe Solid State Drive (DRAM-less)
Kernel driver in use: nvme
Kernel modules: nvme
02:00.0 VGA compatible controller: NVIDIA Corporation GB205M [GeForce RTX 5070 Ti Mobile] (rev a1)
Subsystem: Lenovo Device 800e
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nova_core, nvidia_drm, nvidia
02:00.1 Audio device: NVIDIA Corporation GB205 High Definition Audio Controller (rev a1)
Subsystem: NVIDIA Corporation Device 0000
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
80:14.0 USB controller: Intel Corporation 800 Series PCH USB 3.1 xHCI HC (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
80:14.5 Non-VGA unclassified device: Intel Corporation Device 7f2f (rev 10)
Subsystem: Lenovo Device 3d6c
80:15.0 Serial bus controller: Intel Corporation 800 Series PCH I2C Controller #0 (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: intel-lpss
Kernel modules: intel_lpss_pci
80:15.1 Serial bus controller: Intel Corporation Device 7f4d (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: intel-lpss
Kernel modules: intel_lpss_pci
80:15.2 Serial bus controller: Intel Corporation Device 7f4e (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: intel-lpss
Kernel modules: intel_lpss_pci
80:16.0 Communication controller: Intel Corporation 800 Series PCH HECI #1 (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: mei_me
Kernel modules: mei_me
80:19.0 Serial bus controller: Intel Corporation 800 Series PCH I2C Controller #4 (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: intel-lpss
Kernel modules: intel_lpss_pci
80:19.1 Serial bus controller: Intel Corporation 800 Series PCH I2C Controller #5 (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: intel-lpss
Kernel modules: intel_lpss_pci
80:1c.0 PCI bridge: Intel Corporation 800 Series PCH PCIe Root Port #7 (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: pcieport
80:1c.7 PCI bridge: Intel Corporation Device 7f3f (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: pcieport
80:1d.0 PCI bridge: Intel Corporation 800 Series PCH PCIe Root Port #13 (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: pcieport
80:1f.0 ISA bridge: Intel Corporation HM870 Chipset LPC/eSPI Controller (rev 10)
Subsystem: Lenovo Device 3d6c
80:1f.3 Audio device: Intel Corporation 800 Series ACE (Audio Context Engine) (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: snd_hda_intel
Kernel modules: snd_sof_pci_intel_mtl, snd_hda_intel
80:1f.4 SMBus: Intel Corporation 800 Series PCH SMBus Controller (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
80:1f.5 Serial bus controller: Intel Corporation 800 Series PCH SPI (flash) Controller (rev 10)
Subsystem: Lenovo Device 3d6c
Kernel driver in use: intel-spi
Kernel modules: spi_intel_pci
81:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
Subsystem: Lenovo Device 3801
Kernel driver in use: igc
Kernel modules: igc
82:00.0 Network controller: MEDIATEK Corp. MT7927 802.11be 320MHz 2x2 PCIe Wireless Network Adapter [Filogic 380]
Subsystem: Lenovo Device e0e4
83:00.0 Non-Volatile memory controller: SK hynix PVC10 NVMe Solid State Drive (DRAM-less)
Subsystem: SK hynix PVC10 NVMe Solid State Drive (DRAM-less)
Kernel driver in use: nvme
Kernel modules: nvme