xmonad compiles and runs but does not launch terminal or dmenu
I installed xmonad and xmonad-contrib and set up a minimal config:
import XMonad
import XMonad.Util.Dmenu
import XMonad.Util.EZConfig
main = xmonad myConfig
myConfig
= def
{ modMask = mod4Mask,
terminal = "st"
} `additionalKeys`
[ ((mod4Mask, xK_p), spawn "dmenu_run" ]
xmonad --recompile exits with success. My xinitrc:
exec dbus-launch xmonad
startx works as expected and the server shuts down successfully when I press Mod-Shift-Q, but neither the terminal shortcut Mod-Shift-Ret nor the dmenu Mod-P work. st and dmenu_run seem to work normally, and my shell is zsh with just a prompt customization line in the rc. When I change the modMask key in the config file it does update on recompilation, so I know that I've set up the configs correctly, and yet the other key combinations don't work. What could I be missing?