Files
omarchycn/install/user/first-run/wifi.sh
T
David Heinemeier HanssonandClaude Opus 5 f97ba7375e Wait for a connection before prompting to update
A ping at hyprland.start answers for a machine that has not finished coming up.
Ethernet is still negotiating DHCP, so a working desktop was told to set up
Wi-Fi and offered an update it could already have run. Ask NetworkManager
instead: -s returns once it has tried every connection it could auto-activate,
which is the first moment the answer means anything, and -x then takes that
answer as it stands rather than waiting out a timeout that a laptop with
nothing to connect to would spend in silence.

The update prompt now waits for a connection rather than being phrased around
not having one. There is nothing to update against until a link lands, and one
usually does land later on the machines that started without it, so the prompt
follows the connection whenever it arrives.

That wait runs detached. It outlasts first run by design, and the keybindings
menu is on screen behind it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 11:56:30 +02:00

31 lines
1.1 KiB
Bash

notify_update() {
omarchy-notification-send -u critical -g "Update System" "Click to update the system." \
--exec "omarchy-launch-floating-terminal-with-presentation omarchy-update"
}
notify_wifi() {
omarchy-notification-send -u critical -g 󰖩 "Setup Wi-Fi" "Click to configure the wireless network." \
--exec "omarchy-shell shell toggle omarchy.network"
}
announce_network() {
# Ethernet is still negotiating DHCP when the session starts, so probing
# right away calls a working machine offline. NetworkManager reports startup
# complete once it has tried every connection it could auto-activate, which
# is the first moment the answer means anything.
nm-online -q -s -t 30
# -x takes that answer as it stands rather than waiting out the timeout, so
# a laptop with nothing to connect to gets prompted immediately.
if ! nm-online -q -x -t 30; then
notify_wifi
# Nothing to update against until a link lands, so hold that prompt.
nm-online -q -t 3600 || return
fi
notify_update
}
# Detached, so a slow or absent connection never holds up the rest of first run.
announce_network &