Jake Goldsborough

NixOS as a daily driver or Zero to Nixty, part 9/? - Enabling Wi-Fi

Published July 27, 2025

2 min read

Tags: nixos, framework

I recently got a new Framework 16 (thanks Discourse!). In the previous post, we talked about encrypting the machine and refactoring our config into a modular layout. You can read about that and more in the NixOS As A Daily Driver series.

Today I will be showing how I got Wi-Fi working because it did not work on NixOS by default. The Framework 16 ships with an Intel AX210 Wi-Fi module.

The Symptoms

Steps To Fix

Load the Intel driver

The AX210 needs the iwlwifi kernel module and firmware:

boot.kernelModules = [ "iwlwifi" ];
hardware.enableRedistributableFirmware = true;

This ensures the driver is in my init-ramfs and the firmware is present.

Explicitly define Wi-Fi backend

networking.networkmanager.enable = true;
networking.networkmanager.wifi.backend = "wpa_supplicant";

Full Minimal Config Snippet

All in all, this is what I added:

# Load the Intel AX210 driver and firmware
boot.kernelModules               = [ "iwlwifi" ];
hardware.enableRedistributableFirmware = true;

# Enable the wireless module and NM
networking.networkmanager.enable = true;
networking.networkmanager.wifi.backend = "wpa_supplicant";

Rebuild & Reboot

Make sure all the new config will take hold by rebuilding and rebooting.

sudo nixos-rebuild switch
sudo reboot now

You can confirm everything worked by running: nmcli device status | grep wlp2s0

Victory!

After rebooting, my iwlwifi driver loaded, wlp2s0 came up, and nmtui was able to both see and connect to the SSIDs.