Guide an offline first login through terminal network setup - #10644
Open
NickThompson42 wants to merge 1 commit into
Open
Guide an offline first login through terminal network setup#10644NickThompson42 wants to merge 1 commit into
NickThompson42 wants to merge 1 commit into
Conversation
A network that admits only registered MAC addresses cannot be joined from the Wi-Fi picker: the address has to be handed over and cleared before the machine can associate, and the picker has nowhere to show it. First login with no link now opens omarchy-network-onboard in a floating terminal instead of the panel, and the toast that follows reopens it. The command prints the MAC of every physical interface, skipping the kernel-synthesized ones whose addresses a network administrator cannot use, then the nmcli recipes for joining, including hidden networks and the WPA2-Enterprise case that usually accompanies MAC registration. It ends by offering the Wi-Fi panel, so nothing traps a user in the terminal. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0119fN5PE8UQM6VUYnFR8dqm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The problem
Campus, office, and many guest networks admit only devices whose MAC address has been registered in advance. On those networks the Wi-Fi panel is the wrong first stop: there is nothing to pick until the address has been handed over and cleared, and the panel has nowhere to show it. Today an offline first login sends people straight there, so the failure looks like broken Wi-Fi rather than an unfinished registration step.
The change
install/user/first-run/wifi.shnow opens a terminal guide instead of the panel when the session comes up with no link. The toast that follows reopens the guide rather than the panel;Super + Ctrl + Wstill opens the panel and is untouched.The new
omarchy-network-onboardprints, in order:lo,docker0,veth, bridges) whose addresses a network administrator cannot act on.--macs-onlyemitsinterface<TAB>macfor| wl-copyinto a registration form.nmclirecipes for joining — including hidden networks and the WPA2-Enterprise username/password case that usually accompanies MAC registration. All use--ask, keeping passwords out of shell history and the process list.It ends with
gum confirm "Open the Wi-Fi panel instead?", guarded on/dev/ttyso piped and first-run invocations never block, so nobody is trapped in the terminal.Also adds
Setup > Network > Connection Guide, and updatesmanual/35-networking.mdanddocs/file-layout.md.Testing
New
test/shell.d/network-onboard-test.sh, 10 assertions, driven through anOMARCHY_NETWORK_SYSFS_ROOToverride following the patternomarchy-hyprland-reload-guardalready uses. It covers the virtual-interface filter, interfaces with noaddressfile, the non-tty path first-run depends on, and a SIGPIPE regression (an earlybreakon the reading side of a pipeline, whichpipefailturns into a silent exit 141 once the listing exceeds the pipe buffer).Both of those were mutation-checked: reintroducing each bug makes the suite fail, so the assertions are not passing vacuously.
Passing locally:
./test/cli(112),network-test(104),menu-test(121),menu-guards-test(18),bin-style-test,first-run-test, and the new file — 368 assertions, no failures.Not verified: the running-UI check
agents/skills/visual-verification.mdasks for, and the offline first-boot path end to end, which needs theomarchy-isoacceptance harness rather than a live session. Flagging rather than implying otherwise; happy to run those if you can point me at the expected setup.A note on scope
This changes the default first-run experience for everyone to serve the registration case. If you would rather not, a smaller version works: keep the toast pointed at the panel and ship only
omarchy-network-onboardplus the menu entry, so the guide is discoverable without altering first boot. Glad to cut it back.🤖 Generated with Claude Code
https://claude.ai/code/session_0119fN5PE8UQM6VUYnFR8dqm