If your target is actually just a non-arduino board, rather than necessarily a non-arduino AVR, then I understand there's another approach to consider which doesn't involve any fuse-setting, bootloader installation, or need for other programming hardware. It is perhaps the simplest approach, though it has its downsides.
You can buy atmega8 and atmega168 chips already made arduino-friendly with the bootloader on them, etc.
You can drop one of these chips into an arduino board, develop and program with the arduino IDE until you're happy, then take the chip out and pop it into your custom circuit. (I think it should also be possible to program such a chip in-place in the custom circuit, by utilising the tx and rx connections of an arduino board with its atmega chip removed).
There's a drawback to this approach: because you'll have the arduino bootloader on the chip, there'll be the 5 second delay at power-up (or reset) while the bootloader pauses to allow any new program to be loaded. It's up to you and your intended application as to whether or not this is acceptable in development and in production. Also, you lose 1k of the program space to the bootloader.
Where to get atmega8 or atmega168 chips prepared for arduino:
* In europe, pcb-europe.net
* In the US the arduino community member "BigFun" has offered to supply atmega168
- perhaps he'll supply atmega8, too. (See this forum posting
Consider using the atmega168 chip instead of the atmega8 as it gives you 16k of program space instead of the atmega8's 8k, and only costs around 1 US dollar more.
While the main hardware page
has a few key links on atmega8 standalone, there's definitely some missing documentation. I've started to gather stuff on a new wiki page:http://www.arduino.cc/playground/Learning/AtmegaStandalone