There are several Build Options commonly configured in the Makefile. Various of these will cause the firmware to be substantially larger.
This controls whether or not Virtual DIP switch configuration is supported. (+1000 bytes)
Seldom used (only in one Planck keymap)
Should some keys simulate mouse activity? (+4700 bytes)
Frequently used in Planck keymaps.
Controls whether keys for audio and system control are supported. (+450 bytes)
Frequently used in Planck keymaps.
Is a debugging console enabled? (+400 bytes)
Infrequently used in Planck keymaps.
Support commands for debug and configuration
Frequently used
Nkey Rollover - if this doesn't work, see here: TMK FAQ on NKRO
Nearly always enabled.
Enable keyboard backlight functionality
Often enabled
MIDI controls
Seldom enabled.
Support audio output on port C6
Enabled fairly often
Enable direct generation of Unicode output
Rarely enabled
Enable Bluetooth with the Adafruit EZ-Key HID
Only supported on GH60 keyboards with additional Bluetooth HID addon.
Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
Rarely enabled.
Enable SYSEX API (+5390 bytes)
This may be useful eventually to enable having events published between keyboard and desktop.
Breathing sleep LED during USB suspend
It is recommended to not enable SLEEP_LED_ENABLE as it uses the same timer as BACKLIGHT_ENABLE