You are not logged in.
I just did a fresh install of Arch Linux (with Plasma 6) on my laptop.
I installed networkmanager. Importantly, I enabled both NetworkManager.service and NetworkManager-wait-online.service.
I confirmed that both are indeed enabled via these commands
systemctl is-enabled NetworkManager.service
systemctl is-enabled NetworkManager-wait-online.serviceInvariably, each time I boot I need to manually connect to my wifi network (via the system tray icon). This should not be the case since I enabled the services, I would expect them to start automatically on boot.
I am not 100% sure, but I think I don't have a conflict with other network services (e.g., for sure I don't have dhcpcd installed nor enabled).
What am I missing, or how can I diagnose my problem?
I appreciate some help, thanks.
Last edited by elegantissima (2024-04-22 00:30:42)
Offline

Did you configure in the tray icon/settings that it should automatically connect to the given end point? NetworkManager does itself not directly govern that and this is a setting you can toggle for each connection.
FWIW to verify the conflict statement:
find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-40s | %s\n", $(NF-0), $(NF-1)) }' | sort -fOffline
I don't see what I can toggle on via the tray icon. For my connection, I already have a check mark on option "Connect automatically with priority". I tried to use the default value (0) and also a higher value (1). Neither work. 
Are you referring to something else?
Here's the output from the command you suggested:
dbus-org.freedesktop.nm-dispatcher.service | system
dbus-org.freedesktop.resolve1.service    | system
dbus-org.freedesktop.timesync1.service   | system
display-manager.service                  | system
getty@tty1.service                       | getty.target.wants
NetworkManager.service                   | multi-user.target.wants
NetworkManager-wait-online.service       | network-online.target.wants
p11-kit-server.socket                    | sockets.target.wants
pipewire-pulse.socket                    | sockets.target.wants
pipewire-session-manager.service         | user
pipewire.socket                          | sockets.target.wants
reflector.timer                          | timers.target.wants
remote-fs.target                         | multi-user.target.wants
systemd-boot-update.service              | sysinit.target.wants
systemd-resolved.service                 | sysinit.target.wants
systemd-timesyncd.service                | sysinit.target.wants
systemd-userdbd.socket                   | sockets.target.wants
ufw.service                              | multi-user.target.wants
wireplumber.service                      | pipewire.service.wants
xdg-user-dirs-update.service             | default.target.wantsOffline

So they are almost certainly starting at boot.
Did you configure this as a system connection or as a user connection?
Online
That seems to be it, @Scimmia. I changed from "Store password for all users (not encrypted)" to "Store password for this user only (encrypted)".
I don't understand why this change is necessary but oh well, crisis averted.
Thank you all for helping me.
Offline