Core enables no wifi backend — wifi-only adopters boot with no networking #1

Open
opened 2026-06-29 03:01:03 +00:00 by padreug · 0 comments
Owner

Problem

A fresh adopter who is not on ethernet boots Omnixient with no way to connect to wifi. Core ships the NetworkManager applet and adds the user to the networkmanager group, but never actually enables a wifi backend:

  • modules/users.nix:19 — user added to networkmanager group
  • modules/desktop/hyprland.nix:132 — ships networkmanagerapplet
  • but nothing sets networking.networkmanager.enable anywhere in nixosModules.omni

The only backend config (iwd, networkmanager.enable = false) lives in the maintainer's private configuration.nix, which adopters do not import.

Result: nmcli: command not found, iwctlCan not access the iwd service, only lo + the wifi interface (NO-CARRIER) in ip addr. With no wpa_supplicant in the store either, there's no offline path to bootstrap — the adopter is stranded unless they have ethernet.

Impact

High — this is the most severe adopter-path gap. A laptop user installing Omnixient over wifi cannot get online after the switch, and cannot rebuild to fix it (chicken-and-egg).

Suggested fix

Enable a backend by default in a core module:

networking.networkmanager.enable = lib.mkDefault true;

NetworkManager matches the already-shipped nm-applet + group membership. Use mkDefault so hosts that prefer iwd (like the maintainer's) can still override.

Found while helping a friend adopt the template on existing NixOS (Framework laptop, wifi-only).

## Problem A fresh adopter who is **not on ethernet** boots Omnixient with **no way to connect to wifi**. Core ships the NetworkManager applet and adds the user to the `networkmanager` group, but **never actually enables a wifi backend**: - `modules/users.nix:19` — user added to `networkmanager` group - `modules/desktop/hyprland.nix:132` — ships `networkmanagerapplet` - but nothing sets `networking.networkmanager.enable` anywhere in `nixosModules.omni` The only backend config (iwd, `networkmanager.enable = false`) lives in the maintainer's private `configuration.nix`, which adopters do **not** import. Result: `nmcli: command not found`, `iwctl` → `Can not access the iwd service`, only `lo` + the wifi interface (NO-CARRIER) in `ip addr`. With no `wpa_supplicant` in the store either, there's no offline path to bootstrap — the adopter is stranded unless they have ethernet. ## Impact High — this is the most severe adopter-path gap. A laptop user installing Omnixient over wifi cannot get online after the switch, and cannot rebuild to fix it (chicken-and-egg). ## Suggested fix Enable a backend by default in a core module: ```nix networking.networkmanager.enable = lib.mkDefault true; ``` NetworkManager matches the already-shipped `nm-applet` + group membership. Use `mkDefault` so hosts that prefer iwd (like the maintainer's) can still override. Found while helping a friend adopt the template on existing NixOS (Framework laptop, wifi-only).
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
aiolabs/omnixient#1
No description provided.