> Now I made this environment and it still fails. > > guix environment --ad-hoc unzip wget avr-toolchain@4.9 dfu-programmer dfu-util gcc-toolchain arm-none-eabi-toolchain > > Now the error is different: > /gnu/store/p7cs7wfvz26jyyr1qifkl68cr9i61ndq-profile/avr/include/avr/power.h:1149:1: error: function declaration isn't a prototype [-Werror=strict-prototypes] This is the compiler treating the strict prototype warning as an error. You could get around this by using the ALLOW_WARNINGS=yes makeflag supported by the Makefile of the QMK firmware project. make ALLOW_WARNINGS=yes I tested this on the latest master (commit b353028ea5e0ac7b69e7fed4f224c7cb07015ec9) of the QMK firmware git repo with ergodox_ez:default as the make target, and it builds successfully. If you tell me what make target you are using, I could check with that also. > As I'm using Guix as a package manager I was able to try to compile > everything from my distro's package manager's tools and it worked... > I don't know what's going on on Guix. Maybe, the avr-gcc or avr-libc version is different in Guix and your other distro's package manager. That could be a reason for the strict-prototype warning being triggered in one case but not in the other.