I used to spend a lot of time looking for drivers that actually work. And usually I want the drivers to compile using bare bones avr-gcc without arduino dependencies. So it's usually a good google search for drivers whenever I want to use some new piece of hardware.
So I have put together a pack of drivers that I have been using myself, along with many new drivers written by Davide Gironi who wrote very good drivers for things like the NRF24L01 radio module and many other devices that are included in this driver pack. The benefit of this driver pack is that we can have all of them in one place.
How to use:
Most of the drivers are standalone libraries with their own set of functions. They do not depend on any other drivers in the pack - but some do. And some drivers use the same registers and timers - so you would have to be careful when combining drivers like the software pwm driver (which uses TIMER0) with any other code that uses the same timer. More work will be put into making the drivers fully compatible as I go along and notice the incompatibilities.
Building the library:
Just run "cmake . && make" to build libdrivers.a. Or just include the relevant .c and .h file into your own project.