Configuration files introduce a new point of failure (file not present, file corrupted, file not readable), a point of slowdown (how long does it take to read the file from disk, how long does it take to parse and load the file), and a point of complexity (parsing even ini files is pretty complicated, if you want to support the myriad of ways we write them).
All of this for values which change once every... how long? Once a year? Once an install? Or for most configuration values, never?
I still use configuration files, because I'm OK with including third party libraries... but I can certainly understand why some people may not be.
Suckless is about minimalism and speed, and if you want speed, you don't want extra junk like config files clogging up your code's mainline.
It's certainly easier for the programmer to just leave some of the work to the compiler, but it's at the cost of being a complete pain in the ass to packagers and users.
Do you even have to do much work yourself? .Xresources is already parsed and loaded for you by xrdb if you can't afford the cost of an extra 100 microseconds doing it yourself. Is the API to interact with that mindblowing horrid or something?
> All of this for values which change once every... how long?
When I'm configuring software to taste, several times a minute. And considering this is likely to be my first exposure to the software, it better not suck completely.
But if suckless maybe takes their fight against bloat too far, it's only because hardly anyone else seems to care at all.