Though dwl is available in the aur, it doesn’t make for a great experience to have pacman managing files for dwl once you get into applying patches and such.
To get a list of deps, I still issued a yay -S dwl and copied the dep list, then installed:
yay -S libdisplay-info \
libliftoff \
seatd \
xcb-util-errors \
wayland-protocols \
wlroots0.18
After, clone dwl repo:
git clone https://codeberg.org/dwl/dwl
Just like dwm you can modify the config.h, based on well commented config.def.h to make changes. Patches are also available to extend functionality.