on the one hand i like my setup to be lightweight so i don't have a GUI for connecting to networks
on the other hand, i use NetworkManager (see the irony?)

so i use nmtui

simple, console based, just works
i used to use wpa_supplication and netctl for a long time. but i've gone back to just using networkmanager with dmenu
hadn't heard of nmtui, very tempted to use that now.
Just wpa_supplicant to authenticate a wireless interface against an access point, then whatever dhcp client is available to give ip addresses to that interface. You can easily generate the configuration stanza with wpa_passphrase. I don't usually use or install any of the higher level tools, like netctl/nmtui/wicd/connman.

I largely wrote the instructions here, if anyone wants a guide.