I use Wayland and zsh on Nix, and do this in .zprofile:
if [[ ! $WAYLAND_DISPLAY && "$(tty)" = "/dev/tty1" ]]; then
# ... some environment variables, trimmed ...
When I used Xorg though, I wasn’t able to get it to work w/out LightDM. I’m glad this has changed.